【问题标题】:How should I implement a dynamic partner link endpoint in WSO2 BPS?我应该如何在 WSO2 BPS 中实现动态合作伙伴链接端点?
【发布时间】:2016-04-18 11:37:31
【问题描述】:

我正在尝试在 WSO2 BPS BPEL 流程中使用动态确定的端点地址实现合作伙伴链接。这个想法是发送到进程的请求包含一个端点 URL,并且这个 URL 被用作某个合作伙伴链接的地址。我之前已经成功使用了存储在注册表中的端点引用,但是我不能在这里使用这种方法,因为每次调用进程时地址都可能不同。

我尝试了许多不同的方法(使用 WSO2 BPS 3.5.1 和 WS02 Developer Studio 3.8.0):

  • https://stackoverflow.com/questions/11092515/dynamic-partner-links-and-dynamic-addressing-with-ode-bpel 中引用的 DynPartner 示例中使用的方法。这给了我在 Developer Studio 中的以下验证错误:The from-spec of "<xs:simpleType "string">" is not compatible with to-spec of "<wsdl:portType "DynResponderPortType">"。此外,当我部署和调用该流程时,我收到一条错误消息,指出无法创建端点 (Couldnt create any endpoint for element ...)

  • 为合作伙伴链接分配一个固定值,例如像这样:

    <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsdl11="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3schools.com uep_schema.xsd">
       <wsa:Address>http://localhost:8281/services/serviceaddress</wsa:Address>
    </wsa:EndpointReference>
    

    这可行并且不会给出验证错误,但我还没有找到一种方法来根据调用我的过程的输入动态更改此处使用的地址。

  • 使用定义端点引用内容的类型创建一个保存端点引用的变量。我已经尝试了几个 XSD(http://docs.oasis-open.org/wsbpel/2.0/OS/serviceref/ws-bpel_serviceref.xsd、http://svn.wso2.org/repos/wso2/carbon/platform/branches/turing/components/unified-endpoint/org.wso2.carbon.unifiedendpoint.core/4.2.0/src/main/resources/schema/uep_schema.xsd(没有错误地得到验证)、来自 w3c 的 ws-addr.xsd、我自己的非常简单的 XSD)。我在 Developer Studio 处理它们的能力方面取得了不同程度的成功,例如生成初始化,但它们都有一个问题,即我收到一个验证错误,说明类似于 The from-spec of "<element "EndpointReference">" is not compatible with to-spec of "<wsdl:portType "ThisIsThePartnerLinkPortType">" -。

此时,我将最后一种方法与我自己的简单 XSD 一起使用。这个过程实际上是按照我想要的方式工作的,但是我仍然在 Developer Studio 中遇到我想摆脱的验证错误。还有其他更好的方法来解决这个问题吗?

提前感谢您的帮助。

【问题讨论】:

    标签: wso2 bpel wso2bps


    【解决方案1】:

    对于遇到相同问题的任何人:现在使用的方法是 BPS 调用 ESB 中的特定代理(在固定位置)并将端点 URL 提供给该代理。然后代理执行对端点的实际调用。

    这对我有很多好处:

    【讨论】:

      猜你喜欢
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-05
      • 2021-10-19
      • 1970-01-01
      • 2014-11-26
      相关资源
      最近更新 更多