タスクのペイロード要素の作成
タスク・ペイロードには、複数のペイロード・メッセージ属性を含めることができます。ペイロードはタスクが定義されるまで詳細に定義されないため、タスクのJavaオブジェクト・モデルには、クライアント・ペイロード用の強い型指定のオブジェクトが含まれません。タスク・ペイロードはAnyType
Javaオブジェクトで表されます。AnyType
Javaオブジェクトは、ネームスペース内のpayload
をルートとして持つXML要素を使用して作成されます。
http://xmlns.oracle.com/bpel/workflow/task
ペイロードのXML要素には、他のすべてのXML要素が含まれます。各XML要素では、メッセージ属性を定義します。
次のコード・サンプルは、タスク・ペイロードの設定方法を示しています。
import oracle.bpel.services.workflow.task.model.AnyType; import oracle.bpel.services.workflow.task.model.ObjectFactory; import oracle.bpel.services.workflow.task.model.Task; .......... Document document = //createXMLDocument Element payloadElem = document.createElementNS("http://xmlns.oracle.com/bpel/workflow/ task", "payload"); Element orderElem = document.createElementNS("http://xmlns.oracle.com/pcbpel/test/order", "order"); Element child = document.createElementNS("http://xmlns.oracle.com/pcbpel/test/order", "id"); child.appendChild(document.createTextNode("1234567")); orderElem.appendChild(child); payloadElem.appendChild(orderElem); document.appendChild(payloadElem); task.setPayloadAsElement(payloadElem);
ノート:
AnyType.getContent()
要素は、変更不可のXML要素リストを返します。このリストには他のメッセージ属性を追加できません。