0

これは、BPEL内のxml変換に関するものです。私のbpelプロセスでは、データは2つの別々のソース(partnerLinks)から取得されます。両方のソースからのデータは同じxml形式です。2つのXMLドキュメントのデータを1つのxmlドキュメントに結合してから、ESBに返す必要があります。私はbpel:doXslTransform()で試していました。1回の呼び出しでpartnerLinksからこの関数に2つの応答を渡す方法がわかりません。

2つの応答をメッセージ型変数内の文字列に連結してから、これをbpel:doXslTransform()に渡してみました。これはデータをマージするための正しいアプローチですか?

4

1 に答える 1

1

はい、ここでbpel:doXslTransformを実行できます。

これには、あるサービスからXMLドキュメントを受信し、それを別のスキーマに変換して新しい要求メッセージを形成し、新しい要求を別のサービスに送信することが含まれます。このようなドキュメントの変換は、bpel:doXslTransform関数を介してXSLTを使用して実行できます。

<variables>
   <variable name="A" element="foo:AElement" />
   <variable name="B" element="bar:BElement" />
</variables>
...
<sequence>
   <invoke ... inputVariable="..." outputVariable="A" />
   <assign>
      <copy>
         <from>
            bpel:doXslTransform("urn:stylesheets:A2B.xsl", $A)
         </from>
         <to variable="B" />
      </copy>
   </assign>
   <invoke ... inputVariable="B" ... />
</sequence>

詳細については、 http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.htmlを参照してください。

于 2013-01-28T16:54:06.230 に答える