SOAPを利用してISI呼び出しを行うアプリケーションは、次の条件を満たすWebサービスクライアントとして作成します。
WS-I Basic Profile 1.0に準拠していること
添付ファイルを扱う場合、WS-I Attachment Profile 1.0に準拠していること
WSDLエクスポート機能を利用すれば、XMLスキーマファイルをもとにISIで作成したSOAPメッセージ受信用定義に対応したWSDLを自動で生成できるため、容易にISI呼び出しを行うアプリケーションを作成できます。WSDLエクスポート機能の利用方法は、“ISI Studio ヘルプ”の“サービスエンドポイントからWSDLを生成する”を参照してください。
Webサービスクライアントがすでに存在する場合
アプリケーションの開発は不要で、送信先URLをISIのSOAPサーバにすることでISIを呼び出すことができます。送信先URLは以下の形式になります。
サービスエンドポイント名指定によるISI呼出し
サービス利用側からURLの後ろ(斜体部分)のクエリストリングでサービスエンドポイント名を付加した送信先に、SOAPメッセージを送信します。
http://ホスト名:ポート番号/esisoap/ESISoapMsgServer?サービスエンドポイント名
例)
ホスト名:MyHost
ポート番号:省略(80)
サービスエンドポイント名:endpoint01
http://MyHost/esisoap/ESISoapMsgServer?endpoint01
インバウンドルーティングを行うISI呼出し
サービス利用側からクエリストリングなしのURLにSOAPメッセージを送信します。
http://ホスト名:ポート番号/esisoap/ESISoapMsgServer
例)
ホスト名:MyHost
ポート番号:省略(80)
http://MyHost/esisoap/ESISoapMsgServer
Webサービスクライアントを開発する場合
ISIのWSDLエクスポート機能でWSDLファイルを生成し、WSDLファイルからWebサービスクライアントを生成する機能を用いて開発を行います。WSDLファイルからWebサービスクライアントを生成する機能はInterstage Application Serverの“iswsgen”コマンドやApache Axisなどがあります。
エラー発生時の動作
ISIサーバでエラーが発生した場合、以下の形式のSOAPFaultを返却します。
項目名 | 設定値 |
faultcode | soapenv:Server |
faultstring | エラー原因 |
SOAPFaultの例を示します。
<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server</faultcode> <faultstring>errorcode=SOAP-MSG-41002, message=サービスエンドポイント情報が取得できませんでした。[サービスエンドポイント名=xxx]</faultstring> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> |