Oracle SOAスイートでのSOAアプリケーションの開発 BPELプロセス・サービス・コンポーネントの使用 BPELプロセスでのXMLデータの操作 BPELでのSOAPヘッダーの操作 BPELでのSOAPヘッダーの受信方法 BPELでのSOAPヘッダーの受信方法 この項では、SOAPヘッダーを受信するBPELファイルとWSDLファイルの作成方法を、例をあげて説明します。 BPELでSOAPヘッダーを受信するには: ヘッダー・メッセージとそれをSOAPリクエストにバインドするSOAPバインディングを宣言するWSDLファイルを作成します。次に例を示します。 <!-- custom header --> <message name="CustomHeaderMessage"> <part name="header1" element="tns:header1"/> <part name="header2" element="tns:header2"/> </message> <binding name="HeaderServiceBinding" type="tns:HeaderService"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="initiate"> <soap:operation style="document" soapAction="initiate"/> <input> <soap:header message="tns:CustomHeaderMessage" part="header1" use="literal"/> <soap:header message="tns:CustomHeaderMessage" part="header2" use="literal"/> <soap:body use="literal"/> </input> </operation> </binding> 次の例に示すように、ヘッダー・メッセージ変数を宣言し、bpelx:headerVariableを使用してヘッダーを受信するBPELソース・ファイルを作成します。<variables> <variable name="input" messageType="tns:HeaderServiceRequestMessage"/> <variable name="event" messageType="tns:HeaderServiceEventMessage"/> <variable name="output" messageType="tns:HeaderServiceResultMessage"/> <variable name="customHeader" messageType="tns:CustomHeaderMessage"/> </variables> <sequence> <!-- receive input from requester --> <receive name="receiveInput" partnerLink="client" portType="tns:HeaderService" operation="initiate" variable="input" bpelx:headerVariable="customHeader" createInstance="yes"/>