BPEL中的xpath复制表达式
问题描述:
我在将服务响应的输出复制到BPEL中的响应消息时遇到问题。BPEL中的xpath复制表达式
金额元素有一个属性货币,我该如何acheiev呢?除了将元素复制到其他元素的属性之外,其他所有复制似乎都可以正常工作。
复制表达式如下。
<copy>
<from variable="InvokePersistence_insert_OutputVariable"
part="ProBookingInitiationCollection" query="/ns3:ProBookingInitiationCollection/ns3:ProBookingInitiation/ns3:bookingDetail/ns3:isoCurrencyCd"/>
<to variable="outputVariable" part="payload"
query="/ns4:BookingConfirmation/ns4:amount/@ns4:currency"/>
</copy>
从XSD的摘录低于
<xs:element name="amount">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="currency" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
答
确保根据模式是“outputVariable”输出变量被正确初始化,并包含所谓的“货币”
的属性是什么样的错误你得到了吗?你试过'.../ns3:isoCurrencyCd/text()'吗? – vanto
@vanto以下是错误消息。我试着/ text()得到相同的错误.XPath查询字符串返回零节点。 “目标节点查询的赋值活动返回一个空节点,XPath查询中的目标节点数据或目标节点无效,请将BPEL源中第198行的目标音符值检查为BPEL4WS 1.1规范,第14.3节”。 – nobody
听起来像是选择失败。您是否正确初始化目标元素和属性? – vanto