私は JAXB を使用して、BPEL スキーマを使用して BPEL ドキュメント (Eclipse BPEL プラグインによって生成されたもの) を非整列化していますxmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
。問題は、リテラル値が正しくアンマーシャリングされないことです。次のコードを使用して以下の BPEL コードにアクセスしようとすると、「null」の結果が返されます。「TFrom」と「TCopy」はjaxbで生成されたクラスです。
List<TExtensibleElements> copy = exp.copyOrExtensionAssignOperation;
for(TExtensibleElements tex: copy){
if(tex instanceof TCopy){
TFrom from = ((TCopy) tex).getFrom();
if(from.getVariable() == null){
List<Object> fromContent = from.getContent();
for(Object obj: fromContent){
if(obj instanceof TLiteral)
System.out.println("from literal:"+ ((TLiteral)obj).toString() );
}
}
----------------------------------------------------------
<bpel:assign validate="no" name="AssignApproved">
<bpel:copy>
<bpel:from>
<bpel:literal>
<tns:BankLoanProcessResponse xmlns:tns="http://bankloanprocess" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance">
<tns:result>Approved</tns:result>
</tns:BankLoanProcessResponse>
</bpel:literal>
</bpel:from>
<bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy>
</bpel:assign>
ありがとう、モニカ