简体   繁体   English

我如何从bpel布尔变量获取返回值?

[英]how do i get the return value from a bpel boolean variable?

I am new to BPEL. 我是BPEL的新手。 I am invoking a web service to fill a BPEL variable: 我正在调用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>

The service that I invoke returns a boolean. 我调用的服务返回一个布尔值。 How can I access that value as part of a condition expression? 如何在条件表达式中访问该值?

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

The structure of the messageType personHasSkillResponse is defined in the WSDL that is linked by your partnerLink SkillPossessionService . messageType personHasSkillResponse的结构在由partnerLink SkillPossessionService链接的WSDL中定义。 You you have to look up that structure there and then you can use an ordinary XPath 1.0 expression in your condition and reference the variable hasASkillOutput . 您必须在那里查找该结构,然后可以在condition使用普通的XPath 1.0表达式并引用变量hasASkillOutput

If for example your message type definition looks like this: 例如,如果您的消息类型定义如下所示:

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

Your condition would have to look like this: 您的情况必须如下所示:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM