2008/07/17

[ColdFusion][SOAP]RailGoのポイント数を取得

RailGoというSOAPを使った経路検索サービスがあって、その中で、ポイントを取得するサービスがあるのですが、今日は、その呼び出し方を書きたいと思います。

ずばり、下のように実装しました。

<cfsetting enableCFoutputOnly="yes">
<cfprocessingdirective pageEncoding="utf-8" />
<cfsetting showdebugoutput="no">
<cfscript>
//プロキシの設定を行う
jo = createobject("java","java.lang.System");
jo.setProperty("http.proxyHost", "プロキシサーバーのURL");
jo.setProperty("http.proxyPort", "ポート番号");

//webサービスのオブジェクトを生成(axis上でjavaオブジェクトを生成)
ws = createobject("webservice","http://wstest.railgo.jp/Expservice06.asmx?WSDL");

//セッションの維持をする
ws.setMaintainSession(true);

//SOAPリクエスト時にヘッダーに情報を追加する
addSOAPRequestHeader(ws,"http://expart.est.co.jp/ExpService","User","取得したUserID");
addSOAPRequestHeader(ws,"http://expart.est.co.jp/ExpService","Password","取得したPassword");

//対象となる日付を生成
date = CreateDate("任意の年","任意の月","1");

//GetUserPointsの呼び出し
ret = ws.GetUserPoints(Date=date);
</cfscript>
<!--- ポイント数の表示 --->
<cfoutput>#ret#</cfoutput>

ここで、重要なのは、Headerにパスワードと、ユーザーIDを求めているので、リクエスト前に、addSOAPRequestHeaderを使ってパラメータを設定するところ。

後は、xmlから各パラメータの定義を見れば、ポイントを取得することが可能になります。

これさえ、あれば、一体どれだけ、ポイントを使ったのかがわかるので便利かなと。

0 コメント:

コメントを投稿