実行時に使用するための動的パートナ・リンクの設計時の作成方法

実行時に使用するために動的パートナ・リンクを設計時に作成するには:

  1. 同じ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> 
    
  2. 「SOAP」バインディング・コンポーネントをSOAコンポジット・エディタの「外部参照」スイムレーンにドラッグします。

    「Webサービスの作成」ダイアログが表示されます。

  3. 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の場所を指定する必要があります。

  4. BPELプロセスをダブルクリックして、Oracle BPELデザイナを入力します。
  5. assignアクティビティをデザイナにドラッグします。
  6. 図8-3に示すように、ターゲット・パートナ・リンクの上にある「XMLフラグメント」アイコンを選択します。BPEL 2.0を使用中の場合は、「リテラル」アイコンをドラッグします。

    図8-3 「XMLフラグメント」アイコン

    図8-3の説明が続きます
    「図8-3 「XMLフラグメント」アイコン」の説明
  7. このアイコンをターゲット・パートナ・リンクにドラッグします。

    BPEL 1.1用の「XMLフラグメント」ダイアログが表示されます。BPEL 2.0を使用中の場合は、「リテラル」ダイアログが表示されます。

  8. エンドポイント参照を含むXMLフラグメントをパートナ・リンクに割り当てて、「OK」をクリックします。図8-4に詳細を示します。

    図8-4 BPEL 1.1の「XMLフラグメント」ダイアログ

    図8-4の説明が続きます
    「図8-4 BPEL 1.1の「XMLフラグメント」ダイアログ」の説明

    完了すると、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>