0

使用 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(...)) 没有成功。

4

1 回答 1

0

尝试数字功能 - number(count()) 它对我有用。

于 2016-05-18T10:28:01.163 回答