Web サービス・エンジンは、Java Message Service (JMS) 準拠メッセージング・トランスポートを、HTTP の代替手段として、クライアントとサーバー間の SOAP メッセージの通信に使用することをサポートしています。
クライアントまたはサーバー・コンポーネントに実装を提供し、その実装が WebSphere Application Server の Web サービス・エンジンで提供されるクライアントまたはサーバー・コンポーネントと相互運用できるようにする必要がある場合は、SOAP/JMS を使用できます。
クライアントの役割
text/xml; charset="UTF-8"添付ファイルを含む SOAP 要求メッセージの contentType プロパティーは、以下のように設定する必要があります。
multipart/related; type="text/xml"; start="<...content-id of first part...>"この例では、複数パーツ・メッセージを示しており、最初のパーツが、SOAP メッセージを含むタイプ "text/xml" です。 複数パーツ・メッセージの他のパーツには、さまざまな添付ファイルが含まれています。 HTTP 1.1 仕様には、Content-Type ヘッダーに関するさらに多くの情報が含まれています。
サーバーの役割
例: 添付ファイルのない SOAP 要求
以下の例は、添付ファイルのない要求メッセージに対して、JMS メッセージの toString メソッドを呼び出した結果を示したものです。
JMSMessage class: jms_bytes JMSType: null JMSDeliveryMode: 2 JMSExpiration: 0 JMSPriority: 4 JMSMessageID: ID:d438eebf04cb124aa25c5821110a134f0000000000000001 JMSTimestamp: 1092110476167 JMSCorrelationID: null JMSDestination: topic://NewsGroupTopic?topicSpace=FvtTopicSpace JMSReplyTo: null JMSRedelivered: false JMS_IBM_System_MessageID: 6B6765B36943A18C_11000001 transportVersion: 1 JMSXUserID: targetService: NGConsumerJMS JMSXAppID: Service Integration Bus endpointURL: jms:/topic?destination=jms/NewsGroupTopic&connectionFactory;=jms/NewsGroupTCF&targetService;=NGConsumerJMS contentType: text/xml; charset=utf-8 3c736f6170656e763a456e76656c6f706520786d6c6e733a736f6170656e763d22687474703a2f2f 736368656d61732e786d6c736f61702e6f72672f736f61702f656e76656c6f70652f2220786d6c6e ...
JMSMessage class: jms_bytes JMSType: null JMSDeliveryMode: 2 JMSExpiration: 0 JMSPriority: 4 JMSMessageID: ID:d438eebf04cb124aa25c5821110a134f0000000000000001 JMSTimestamp: 1092110476167 JMSCorrelationID: null JMSDestination: topic://NewsGroupTopic?topicSpace=FvtTopicSpace JMSReplyTo: null JMSRedelivered: false JMS_IBM_System_MessageID: 6B6765B36943A18C_11000001 transportVersion: 1 JMSXUserID: targetService: NGConsumerJMS JMSXAppID: Service Integration Bus endpointURL: jms:/topic?destination=jms/NewsGroupTopic&connectionFactory;=jms/NewsGroupTCF&targetService;=NGConsumerJMS contentType: text/xml; charset=utf-8 3c736f6170656e763a456e76656c6f706520786d6c6e733a736f6170656e763d22687474703a2f2f 736368656d61732e786d6c736f61702e6f72672f736f61702f656e76656c6f70652f2220786d6c6e ...
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <postMessage><ngName xsi:type="xsd:string">news.current.events</ngName> <msg xsi:type="xsd:string">This is a sample news item.</msg> </postMessage> </soapenv:Body> </soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <postMessage><ngName xsi:type="xsd:string">news.current.events</ngName> <msg xsi:type="xsd:string">This is a sample news item.</msg> </postMessage> </soapenv:Body> </soapenv:Envelope>
例: 添付ファイルのある SOAP 要求
JMSMessage class: jms_bytes JMSType: null JMSDeliveryMode: 1 JMSExpiration: 1092086312310 JMSPriority: 4 JMSMessageID: ID:4bb64ed64e7d813d59ba5fec110a134f0000000000000001 JMSTimestamp: 1092086012310 JMSCorrelationID: null JMSDestination: queue://Logger_Q JMSReplyTo: queue://_Q_6B6765B36943A18C_00000385 JMSRedelivered: false JMS_IBM_System_MessageID: 6B6765B36943A18C_10000001 transportVersion: 1 JMSXUserID: targetService: WSLoggerJMS JMSXAppID: Service Integration Bus endpointURL: jms:/queue? destination=jms/Logger_Q&connectionFactory=jms/Logger_CF&targetService=WSLoggerJMS contentType: multipart/related; type="text/xml"; start="<945414389.1092086011970.IBM.WEBSERVICES@myhost1>"; boundary="----=_Part_0_247953397.1092086011970" 0d0a2d2d2d2d2d2d3d5f506172745f305f3234373935333339372e31303932303836303131393730 0d0a436f6e74656e742d547970653a20746578742f786d6c3b20636861727365743d5554462d380d ...
Content-Type: multipart/related; type="text/xml"; start="<945414389.1092086011970.IBM.WEBSERVICES@myhost1>"; boundary="----=_Part_0_247953397.1092086011970" ------=_Part_0_247953397.1092086011970 Content-Type: text/xml; charset=UTF-8 Content-Transfer-Encoding: binary Content-Id: <945414389.1092086011970.IBM.WEBSERVICES@myhost1> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Header> <p499:InternationalizationContext soapenv:mustUnderstand="0" xmlns:p499="http://www.ibm.com/webservices/InternationalizationContext"> <Locales> <Locale> <LanguageCode>en</LanguageCode> <CountryCode>US</CountryCode> </Locale> </Locales> <TimeZoneId>America/Chicago</TimeZoneId> </p499:InternationalizationContext> </soapenv:Header> <soapenv:Body> <sendJpegImage/> </soapenv:Body> <soapenv:Envelope> ------=_Part_0_247953397.1092086011970 Content-Type: image/jpeg Content-Transfer-Encoding: binary Content-ID: <jpegImageRequest=81380956150.1092086011880.IBM.WEBSERVICES@myhost1> <...contents of jpeg image file...>
SOAP 応答
JMSMessage class: jms_bytes JMSType: null JMSDeliveryMode: 2 JMSExpiration: 0 JMSPriority: 4 JMSMessageID: null JMSTimestamp: 0 JMSCorrelationID: ID:cdddb857f078a266eb9a972f110a134f0000000000000001 JMSDestination: null JMSReplyTo: null JMSRedelivered: false contentType: multipart/related; type="text/xml"; start="<961368106530.1092112854745.IBM.WEBSERVICES@yackerjr>"; boundary="----=_Part_0_1655006754.1092112854745" 0d0a2d2d2d2d2d2d3d5f506172745f305f313635353030363735342e313039323131323835343734 350d0a436f6e74656e742d547970653a20746578742f786d6c3b20636861727365743d5554462d38 ...
API の完全なリストについては、 API 文書を参照してください。 また、Web サービス: 学習用リソースにある Web サービスの開発についての項目も検討します。