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埋込みの使用」を参照してください。