非 WebLogic Workshop クライアントの開発者に会話への参加方法を示すには

Web サービスを他のクライアント アプリケーションからアクセスできるようにすることは、WSDL または Java プロキシ ファイルを提供することと同じくらい簡単です。 しかし、Web サービスが WebLogic Workshop の会話またはコールバック機能を使用する場合、さらに別の作業が必要になる場合があります。

会話に関する情報(会話インスタンス識別子)とコールバック URL は、クライアントと Web サービス間でやり取りされるメッセージの SOAP ヘッダを介して転送されます。クライアントが WebLogic Workshop で構築されていない場合、必要な SOAP ヘッダを手動で設定する必要があります。

start メソッドを呼び出す

start メソッドを呼び出すには、クライアントは会話 ID を提示する必要があります。会話 ID は任意の文字列で、形式に制限はありません。ただし、会話 ID は対象 Web サービスをホストするサーバ上で固有である必要があります。クライアントは、クライアント マシンのホスト名、IP アドレス、プロセス ID、クロック時間など、そのクライアント固有のデータを組み合わせることができます。クライアントが提示した会話 ID がサーバ上で固有でない場合、SOAP エラーが返されます。会話 ID の最大文字数は、jws-config.properties コンフィグレーション ファイルでコンフィグレーションします。

クライアントが Web サービスからコールバックを受信する場合、クライアントはコールバックの送信先 URL を指定した 2 番目の SOAP ヘッダを送信する必要があります。

開始メソッドの SOAP ヘッダの一般的な形式は次のとおりです。

<SOAP:Header>
    <StartHeader xmlns="http://www.openuri.org/2002/04/soap/conversation/">
        <callbackLocation>Callback_URL</callbackLocation>
        <conversationID>Conversation_ID</conversationID>
    </StartHeader>
</SOAP:Header>

ほとんどの Web サービス ツールには、SOAP ヘッダを送信するための API が付属しています。 詳細については、購入元のベンダのマニュアルを参照してください。

continue または finish メソッドを呼び出す

continue または finish メソッドを呼び出すときには、会話 ID を受け渡すだけです。指定した会話 ID によって対象サーバ上の既存の会話が識別されない場合、SOAP エラーが返されます。

<SOAP:Header>
   <ContinueHeader xmlns="http://openuri.org/2002/04/soap/conversation/">
       <conversationID>Conversation_ID</conversationID>
   </ContinueHeader>
</SOAP:Header>

サンプル

WebLogic Workshop Web サービスとの会話に参加し、コールバックを介して結果を受け取る .NET クライアントの例については、.NET クライアント サンプルを参照してください。

関連トピック

会話を使用してステートを保持する

概要 : 会話