2008/07/19

[coldfusion][SOAP]駅情報を取得

一昨日の記事に続いて、今日は、RailGoの駅情報を取得するSearchStationのコール方法を書きたいと思います。

<cfsetting enableCFoutputOnly="yes">
<cfprocessingdirective pageEncoding="utf-8" />
<cfsetting showdebugoutput="no">
<cfscript>

//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","mctuser4");
addSOAPRequestHeader(ws,"http://expart.est.co.jp/ExpService","Password","hnnt4zt2");

//SearchStationの呼び出し
Station_Info = ws.SearchStation(StationYomi="駅名前方一致", AreaType="Japan", StationType="RailRoad" ,Date=javacast("int",日付(数字型)));

</cfscript>
<cfoutput>
var data = {};
data = {
<cfloop index="i" from="1" to="#ArrayLen(Station_Info.Station)#">
<cfif i neq 1>,</cfif>
#i#:[
"#Station_Info.Station[i].Name#"
, "#Station_Info.Station[i].LongName#"
, "#Station_Info.Station[i].Yomi#"
, "#Station_Info.Station[i].Latitude.bearing#"
, "#Station_Info.Station[i].Latitude.degree#"
, "#Station_Info.Station[i].Latitude.minutes#"
, "#Station_Info.Station[i].Latitude.second#"
, "#Station_Info.Station[i].Longitude.bearing#"
, "#Station_Info.Station[i].Longitude.degree#"
, "#Station_Info.Station[i].Longitude.minutes#"
, "#Station_Info.Station[i].Longitude.second#"
]
</cfloop>
}

レスポンスは、JSON形式で表現

駅名に関して、前方一致なので、例えば「赤坂」という名前の付く駅名を検索したい場合、「?赤坂」と検索すればオッケー。

ためしに駅情報を取得するページを作ってみましたので、お試しに是非、是非

0 コメント:

コメントを投稿