Web services 将complexType复制到BPEL中的消息
我正在使用ApacheODE编写一些简单的BPEL来连接2个web服务。 我的两个服务的WSDL文件之一包含以下复杂类型:Web services 将complexType复制到BPEL中的消息,web-services,xpath,xsd,bpel,apache-ode,Web Services,Xpath,Xsd,Bpel,Apache Ode,我正在使用ApacheODE编写一些简单的BPEL来连接2个web服务。 我的两个服务的WSDL文件之一包含以下复杂类型: <types> <t:schema targetNamespace="http://ws.panos.com/" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <t:complexType name="myObject"> <t:sequence>
<types>
<t:schema targetNamespace="http://ws.panos.com/" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<t:complexType name="myObject">
<t:sequence>
<t:element minOccurs="0" name="str" type="t:string" />
</t:sequence>
</t:complexType>
</t:schema>
如何将服务返回消息(仅为xsd:string)复制到消息输入(在“myObject”类型的“str”中)
我尝试过这样做,但似乎不起作用:
<assign name="assign_2">
<copy>
<from variable="wsA_output" part="return"/>
<to variable="wsC_input" part="arg0" query="/arg0/str"/>
</copy>
我总是得到一个空字符串。非常感谢您的帮助。to规范
在BPEL 1.1或BPEL 2.0中无效。正确的等效表达式是:$wsC\u input.arg0/arg0/str
或/arg0/str
。请确保在将值分配给嵌套结构之前初始化变量。规范
在BPEL 1.1或BPEL 2.0中无效。正确的等效表达式是:$wsC_input.arg0/arg0/str
或/arg0/str
。请确保在将值分配给嵌套结构之前初始化变量。刚刚发现了错误。您是对的,我们需要查询以找到像这样的领域:
<assign name="assign_2">
<copy>
<from variable="wsA_output" part="return"/>
<to>$wsC_input.message/arg0/str</to>
</copy>
</assign>
<assign name="assign_init">
<copy>
<from>
<literal><arg0><str xmlns="">nothing</str></arg0></literal>
</from>
<to variable="wsC_input" part="arg0"></to>
</copy>
</assign>
刚刚发现错误。您是对的,我们需要查询才能找到如下字段:
<assign name="assign_2">
<copy>
<from variable="wsA_output" part="return"/>
<to>$wsC_input.message/arg0/str</to>
</copy>
</assign>
<assign name="assign_init">
<copy>
<from>
<literal><arg0><str xmlns="">nothing</str></arg0></literal>
</from>
<to variable="wsC_input" part="arg0"></to>
</copy>
</assign>
刚刚找到错误所在。谢谢,不过,man!将在本帖下的另一篇帖子中详细介绍。您好@vanto,如果complexType myObject有两个元素,而我只想将输入字符串映射到该“str”元素,我需要关联吗?刚刚找到了错误所在。谢谢,不过,我会在这个线程下的另一篇文章中写更多关于它的详细信息。嗨@vanto,如果complexType myObject有两个元素,而我只是想将输入字符串映射到那个“str”元素,我需要关联吗?