WebSphere MQ Web Services Transport は、 メッセージング用に HTTP プロトコルを使用する Web サービス・クライアントに接続するサービスです。
Web サービス・クライアントは、他のアプリケーションと通信するために、 非持続で非トランザクションのメッセージングを使用します。WebSphere Business Integration Message Broker は、これらのクライアントが、ブローカー内のメッセージ・フローを介して、 他のアプリケーションと通信するためのサポートを提供します。
クライアントは、サービス・プロバイダーまたはサービス・リクエスターのいずれかです。 サービス・プロバイダーは、WSDL で定義されたサービスをレジストリーにパブリッシュします。 サービス・リクエスターは、サービス・レジストリーに照会して、これらのサービスがある場所およびこれらのサービスにバインドする方法を含め、 使用可能なサービスに関する情報を検索します。
ブローカーと通信できるということは、Web サービス・クライアントが、 サポートされている他のプロトコルおよびトランスポートを使用するアプリケーションと通信できるということを意味します (メッセージ・フローがこの機能を提供するように構成されている場合)。
詳細については、 developerWorks Web サイトで、Web services のリンクをたどってください。
このトランスポートを介して受け渡しされるメッセージは XML 形式であり、 これによってプラットフォームからの独立が可能になります。 特定の操作やエラー状態 (SOAP 障害) を定義する XML コンテンツは、 SOAP 標準によって定義されます。 送達が保証されているわけではないので、 アプリケーションはシステム障害またはネットワーク障害時のリカバリーを備えていなければなりません。
メッセージには、そのタイプに見合った以下のコンポーネントが含まれています。
たいていの場合、メッセージの本体は XML です。 しかし、インバウンド・メッセージの場合、 受信ノードが異なるフォーマットを処理するよう構成されており、 適切なパーサーが使用可能であるなら、異なるフォーマットを含めることも可能です。 アウトバウンド・メッセージの場合、 送信先の Web サービスが受け入れるあらゆる形式の本体を含めることができます。
Web サービス以外のコンポーネントによって生成されるエラー (404 Not Found など) により、 メッセージが HTML 形式になる場合があります。
HTTPInput ノードが入力要求を受信するとき、 あるいは HTTPRequest ノードが Web サービスからの応答を受信するときに、 ヘッダーと本体を含むビット・ストリームが構文解析され、 メッセージ・ツリーの中で表現されます。 ビット・ストリームは、 HTTPReply ノードによってクライアントへ応答が送信されるとき、 および HTTPRequest ノードによって Web サービスへ要求が送信されるときに、 パーサーによってメッセージ・ツリーの適切なパーツから作成されます。 これらのアクションの詳細については、個々のノードの説明を参照してください。
Web サービス・クライアントまたは Web サーバーからメッセージを受信するとき、 そのメッセージを受信する HTTPInput または HTTPRequest ノードは、 HTTP ヘッダーを構文解析して、メッセージ・ツリー内にエレメントを作成する必要があります。 HTTPReply または HTTPRequest メッセージが Web サービス・クライアントまたは Web サーバーにメッセージを送信するとき、 これは HTTP ヘッダーを構文解析して、メッセージ・ツリーをビット・ストリームにする必要があります。
メッセージの HTTP ヘッダーは、処理するメッセージのタイプに応じて異なります。 メッセージ・フローで識別されるメッセージのタイプは 4 つあり、 それぞれに 1 つのパーサーが関連付けられています。
ヘッダー | 内容 | 例 |
---|---|---|
Host | クライアントがメッセージを送出するホスト名。 | localhost |
Content-Length | 入力メッセージの本体 (最後のヘッダーの後の CRLFCRLF に続く部分) の長さ (10 進)。 | 520 |
Content-Type | 本体データのタイプ。 | text/xml; charset=utf-8 |
SOAPAction | "" (空ストリング) |
ヘッダー | 値 |
---|---|
Content-Length (入力メッセージにあった場合) | 応答メッセージ本体の計算された長さ (10 進)。 |
Content-Type | text/xml; charset=utf-8 |
ヘッダー | 値 |
---|---|
Host | 「デフォルト Web サービス URL (Default Web Service URL)」プロパティーに設定された値。 |
Content-Length | 要求メッセージ本体の計算された長さ (10 進)。 |
Content-Type | text/xml; charset=utf-8 |
SOAPAction | "" (空ストリング) |
ヘッダー | 内容 | 例 |
---|---|---|
Content-Length | 応答メッセージ本体の長さ (10 進)。 | 1585 |
メッセージ例に、 上記のヘッダーが組み込まれたメッセージの例を示します。
以下のメッセージは、HTTPRequest ノードが、 ルックアップ・サービスを提供する Web サービスに対して送信する要求の例を示しています。
POST /greenpages/servlet/rpcrouter HTTP/1.0 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: 520 SOAP Action: "" Cookie: JSESSIONID=0000B5OSLFIUDMQZFAUXKHD5ZDQ:-1 <?xml version='1.0' encoding='UTF-8'?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schema.xmlsoap.org.soap/envelope/" xmlns:xsi="http://www.w3/2001/XMLSchema-instance" xmlns:xsd="http://www.w3/2001/XMLSchema"> <SOAP-ENV:Body> <ns1:getUserByName xmlns:ns1="http://tempuri.org/imb.GreenPages" SOAP-ENV:encodingStyle="http:/schemas.xmlsoap.org/soap/encoding/"> <nameField xsl:type="xsd:string">bloggs, joe</nameField> </ns1:getUserByName> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
以下のメッセージは、HTTPRequest ノードに対して戻される応答の一例を示しています。
HTTP/1.0 200 OK Server: WebSphere Application Server/4.0 Content-Type: text/xml; charset=utf-8 Content-Length: 1585 Content-Language: en Connection: close <?xml version='1.0' encoding='UTF-8'?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schema.xmlsoap.org.soap/envelope/" xmlns:xsi="http://www.w3/2001/XMLSchema-instance" xmlns:xsd="http://www.w3/2001/XMLSchema"> <SOAP-ENV:Body> <ns1:getUserByNameResponse xmlns:ns1="http://tempuri.org/imb.GreenPages" SOAP-ENV:encodingStyle="http:/schemas.xmlsoap.org/soap/encoding/"> <return xmlns:ns2="http://www.greenpages.com/schemas/GreenPagesRemoteInterface" xsi:type="ns2:imb.UserRecord"> <fullName xsi:type="xsd:string">Joseph Bloggs</fullName> <empNum xsi:type="xsd:int">65874</empNum> <deskPhone xsi:type="xsd:string">(718)545-3623</deskPhone> </return> </ns1:getUserByNameResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ac00475_ |