1

我是 BPEL 的新手。我正在调用 Web 服务来填充 BPEL 变量:

<bpel:variable name="hasASkillOutput" messageType="ns2:personHasSkillResponse"></bpel:variable>
....
<bpel:invoke name="call_personHasASkill"  partnerLink="SkillPossessionService"  operation="personHasSkill"  portType="ns2:SkillPossessionServicePortType"
                inputVariable="hasASkillInput" outputVariable="hasASkillOutput"></bpel:invoke>

我调用的服务返回一个布尔值。如何将该值作为条件表达式的一部分访问?

        <bpel:if name="DoesPersonHaveTheSkill">
                <bpel:condition><hasASkillOutput is true></bpel:condition>
        </bpel:if>
4

1 回答 1

1

messageType 的结构personHasSkillResponse在由您的 partnerLink 链接的 WSDL 中定义SkillPossessionService。您必须在那里查找该结构,然后您可以在您的中使用普通的 XPath 1.0 表达式condition并引用该变量hasASkillOutput

例如,如果您的消息类型定义如下所示:

<message name="personHasSkillResponse">
    <part name="skillResponse" element="xsd:boolean"/>
</message>

您的情况必须如下所示:

    <bpel:if name="DoesPersonHaveTheSkill">
            <bpel:condition>$hasASkillOutput.skillResponse</bpel:condition>
    </bpel:if>
于 2013-04-15T19:23:11.867 回答