wso2bps-3.5.1 の使用
Assign アクティビティのノードの count() は、整数型の要素 (verifyTerminationRequest/connections) に割り当てられます。
<bpel:copy>
<bpel:from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
<![CDATA[count($closeAccountResponse.closeAccountResponsePart/xclac:accountConnections/xcom:accountConnection)]]>
</bpel:from>
<bpel:to part="parameters" variable="verifyTerminationRequest">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[wvete:verifyTerminationRequestMessage[1]/wvete:connections]]></bpel:query>
</bpel:to>
</bpel:copy>
何らかの理由で、結果のメッセージは次のようになります。
<verifyTerminationRequest xmlns="http://seb.se/ops/ica/vete/wsdl">
<ax2410:verifyTerminationRequestMessage xmlns:ax2410="http://seb.se/ops/ica/vete/wsdl">
<ax2410:connections>2.0</ax2410:connections>
</ax2410:verifyTerminationRequestMessage>
</verifyTerminationRequest>
そして、verifyTerminationRequestMessage/connections = 2.0 は例外をスローします。
Fault Name {http://seb.se/ops/ica/vete/wsdl}UnknownFault
Fault Data
<?xml version="1.0" encoding="UTF-8"?><message>
<Fault>
<faultcode>soapenv:Server</faultcode>
<faultstring>java.lang.NumberFormatException: For input string: "2.0"</faultstring>
</Fault>
</message>
Error Line 356
なんで?
round(count(...)) を試しましたが成功しませんでした。