Bpel布尔条件

时间:2014-09-22 09:21:17

标签: xml if-statement schema bpel

我在bpel中很新。我在bpel过程中使用表达式布尔值。我在我的架构中有一个名为“Status”的元素类型为boolean。基本上,如果“Status”的值为“true”或“1”,则该进程将执行Email_Order或SOA_Order子进程,具体取决于SendMode元素的值。

我想为“状态”创建if ealse条件但是我不确定应该如何编辑表达式:$ input.payload / tns:input =''

这里有架构:

<xsd:sequence>
<xsd:element name="Status" type="xsd:boolean"/>
<xsd:element name="SendMode" type="tns:SendModeType"/>
<xsd:choice>
<xsd:element name="EmailAddress" type="tns:EmailAddressType" minOccurs="0"/>
<xsd:element name="ServiceAddress" type="tns:ServiceAddressType" minOccurs="0"/>
</xsd:choice>
</xsd:sequence>

我将非常感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

正确的答案取决于WSDL以及XSD中定义的元素形式和目标命名空间。

通常boolean($ input.payload // myns:Status / text())与绑定到模式的目标命名空间的myns应该有效。

答案 1 :(得分:0)

非常感谢丹尼尔我会尝试的!我只是很快粘贴了WSDL代码。

<wsdl:message name="CheckStockWSOpRequest">
<wsdl:part element="xsd1:CheckStockWSRequest" name="parameters"/>
</wsdl:message>
<wsdl:message name="CheckStockWSOpResponse">
<wsdl:part element="xsd1:CheckStockWSResponse" name="parameters"/>
</wsdl:message>

<wsdl:portType name="checkstockPT">
<wsdl:operation name="checkStockOp">
<wsdl:input message="tns:CheckStockWSOpRequest"/>
<wsdl:output message="tns:CheckStockWSOpResponse"/>
</wsdl:operation>
</wsdl:portType>