- Oracle SOAスイートでのSOAアプリケーションの開発
- BPELプロセス・サービス・コンポーネントの使用
- BPELプロセスからの非同期Webサービスの起動
- 実行時に使用するための動的パートナ・リンクの設計時の作成
- 実行時に使用するための動的パートナ・リンクの設計時の作成方法
実行時に使用するための動的パートナ・リンクの設計時の作成方法
実行時に使用するために動的パートナ・リンクを設計時に作成するには:
- 同じ
portType
を使用する複数のサービスが含まれているWSDLファイルを作成します。<service name="AmericanLoan"> <port name="LoanServicePort" binding="tns:LoanServiceBinding"> <soap:address location="host:port/soa-infra/services/domain_ name/AmericanLoan/client"/> </port> </service> <service name="AlliedLoan"> <port name="LoanServicePort" binding="tns:LoanServiceBinding"> <soap:address location="host:port/soa-infra/services/domain_ name/AlliedLoan/client"/> </port> </service> <service name="AcmeLoan"> <port name="LoanServicePort" binding="tns:LoanServiceBinding"> <soap:address location="host:port/soa-infra/services/domain_ name/AcmeLoan/client"/> </port> </service>
- 「SOAP」バインディング・コンポーネントをSOAコンポジット・エディタの「外部参照」スイムレーンにドラッグします。
「Webサービスの作成」ダイアログが表示されます。
- Webサービスを定義して、「OK」をクリックします。
完了すると、WSDLを使用する
composite.xml
ファイルの参照バインディング・コンポーネントのエントリは、次のようになります。<reference name="loanService"> <interface.wsdl interface="http://services.otn.com#wsdl.interface(LoanService)" callbackInterface="http://services.otn.com#wsdl.interface(LoanServiceCallback)" /> <binding.ws port= "http://services.otn.com#wsdl.endpoint(AmericanLoan/LoanService_pt)"/> </reference>
ノート:
-
binding.ws port
設定の追加はオプションです。これは、Oracle BPEL Process Managerから渡されるプロパティによって、実行時にポートがオーバーライドされるためです。 -
port
設定がなく、この参照に関連付けられている具体WSDLのコンポジット・インポートもない場合は、location
属性を使用して具体WSDLの場所を指定する必要があります。
-
- BPELプロセスをダブルクリックして、Oracle BPELデザイナを入力します。
- assignアクティビティをデザイナにドラッグします。
- 図8-3に示すように、ターゲット・パートナ・リンクの上にある「XMLフラグメント」アイコンを選択します。BPEL 2.0を使用中の場合は、「リテラル」アイコンをドラッグします。
- このアイコンをターゲット・パートナ・リンクにドラッグします。
BPEL 1.1用の「XMLフラグメント」ダイアログが表示されます。BPEL 2.0を使用中の場合は、「リテラル」ダイアログが表示されます。
- エンドポイント参照を含むXMLフラグメントをパートナ・リンクに割り当てて、「OK」をクリックします。図8-4に詳細を示します。
完了すると、BPELファイルにはWSDLで定義されたサービスのいずれかが含まれます。
次にBPEL 1.1の例を示します。
<EndpointReference xmlns="http://schemas.xmlsoap.org/ws/2003/03/addressing"> <Address>http://host:port/soa-infra/services/domain_name /AlliedLoan/client</Address> <ServiceName xmlns:ns1="http://services.otn.com" PortName="LoanServicePort">ns1:AlliedLoan</ServiceName> </EndpointReference>
次にBPEL 2.0の例を示します。
<assign> <copy> <from> <literal> <sref:service-ref> <services:EndpointReference> <services:Address>http://host:port/soa-infra/services/domain_ name/AlliedLoan/client</services:Address> <services:ServiceName xmlns:ns1="http://services.otn.com">ns1:AlliedLoan</services: ServiceName> </services:EndpointReference> </sref:service-ref> </literal> </from> <to partnerLink="LoanService"/> </copy> </assign>