【问题标题】:how do i get the return value from a bpel boolean variable?如何从 bpel 布尔变量中获取返回值?
【发布时间】:2013-04-15 15:40:05
【问题描述】:

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

【问题讨论】:

    标签: web-services bpel


    【解决方案1】:

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

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

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

    你的情况应该是这样的:

        <bpel:if name="DoesPersonHaveTheSkill">
                <bpel:condition>$hasASkillOutput.skillResponse</bpel:condition>
        </bpel:if>
    

    【讨论】:

      猜你喜欢
      • 2012-12-06
      • 2021-01-20
      • 1970-01-01
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      • 2010-11-30
      • 1970-01-01
      相关资源
      最近更新 更多