2014-09-22 69 views
0

我在BPEL很新。我使用bpel过程中的表达式布尔值进行操作。我在我的模式中有一个名为“Status”的元素,类型为boolean。基本上,如果“状态”的值为“真”或“1”,那么该进程将执行Email_Order或SOA_Order子进程,具体取决于元素SendMode的值。BPEL布尔条件

我想创建的如果“状态”但是我不知道我应该如何编辑表达式ealse条件:$ input.payload/TNS:输入=“”

在这里你有模式:

<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> 

我会感谢您的帮助!

回答

0

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

通常布尔值($ input.payload // myns:Status/text())绑定到您的模式的目标名称空间应该工作。

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>