BPEL 2.0プロセスにJavaコード・スニペットを埋め込む方法
この章の例では主に、bpelx:exec拡張要素を使用してJavaコード・スニペットを埋め込む方法に重点を置いています。BPEL仕様のバージョン2.0をサポートするBPELプロジェクトの場合、構文が多少異なります。bpelx:exec拡張要素とJavaコードは<extensionActivity>要素にラップされます。次の例に詳細を示します。
<extensionActivity> <bpelx:exec language="java"> <![CDATA[ java code ]]> </bpelx:exec> </extensionActivity>
Java EmbeddingアクティビティをOracle BPELデザイナのBPELプロセスにドラッグすると、<extensionActivity>要素とbpelx:execタグが自動的に追加されます。
次の例は、BPEL 2.0のimport構文を示しています。
<import location="class/package name" importType="http://schemas.oracle.com/bpel/extension/java"/>
ノート:
BPEL 2.0のimport構文は、次の構文を使用するBPEL 1.1の場合とは異なります。
<bpelx:exec import="class/package name"/>
次の例は、BPELバージョン2.0をサポートするプロジェクトの2つのJava Embeddingアクティビティを含むBPELファイルを示しています。
<process name="Test" targetNamespace="http://samples.otn.com/bpel2.0/ch10.9"
. . .
. . .
<import location="oracle.xml.parser.v2.XMLElement"
importType="http://schemas.oracle.com/bpel/extension/java"/>
. . .
<sequence>
. . .
<extensionActivity>
<bpelx:exec language="java">
XMLElement elem = (XMLElement) getVariableData("output", "payload");
elem.setTextContent("set by java exec");
</bpelx:exec>
</extensionActivity>
<extensionActivity>
<bpelx:exec language="java">
<![CDATA[XMLElement elem = (XMLElement) getVariableData("output",
"payload");
String t = elem.getTextContent();
elem.setTextContent(t + ", set by java exec 2");]]>
</bpelx:exec>
</extensionActivity>
. . .
</sequence>
</process>
このアクティビティの使用方法の詳細は、「BPELプロセスでのJava埋込みの使用」を参照してください。