我应该如何在WSO2 BPS中实现动态伙伴链接端点?

我应该如何在WSO2 BPS中实现动态伙伴链接端点?,wso2,bpel,wso2bps,Wso2,Bpel,Wso2bps,我正在尝试在WSO2 BPS BPEL流程中使用动态确定的端点地址实现合作伙伴链接。其思想是发送到流程的请求包含一个端点URL,该URL用作某个合作伙伴链接的地址。我以前已经成功地使用了存储在注册表中的端点引用,但是我不能在这里使用这种方法,因为每次调用进程时地址都可能不同 我尝试了许多不同的方法(使用WSO2 BPS 3.5.1和WS02 Developer Studio 3.8.0): 中引用的DynPartner示例中使用的方法。这使我在Developer Studio中出现以下验证错误

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

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

  • 中引用的DynPartner示例中使用的方法。这使我在Developer Studio中出现以下验证错误:
    的from规范“”与to规范“”不兼容。
    。另外,在部署和调用流程时,我会收到一个错误,指出无法创建端点(
    无法为元素创建任何端点…

  • 将固定值分配给合作伙伴链接,例如:

    <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>
    
    
    http://localhost:8281/services/serviceaddress
    
    这是可行的,不会出现验证错误,但我还没有找到一种方法根据调用进程的输入动态更改此处使用的地址

  • 使用定义端点引用内容的类型创建保存端点引用的变量。我已经尝试了几个xsd(,(没有错误就无法验证),w3c的ws-addr.xsd,我自己的非常简单的xsd)。关于Developer Studio如何处理它们,例如如何生成初始化,我已经取得了不同的成功,但它们都有一个问题,即我遇到了一个验证错误,声明类似于
    的from spec“”与to spec of“”-
    不兼容

此时,我正在使用最后一种方法来处理我自己的简单XSD。这个过程实际上是按照我所希望的方式工作的,但是我仍然在Developer Studio中遇到验证错误,我希望能够消除这些错误。有没有其他更好的方法来解决这个问题


提前感谢您的帮助。

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

这对我来说有很多好处:

  • 我消除了BPEL设计器中的验证错误
  • 通过ESB,我可以对从位于动态URL的服务接收的消息执行验证。请注意,由于验证尚未正确实施,目前在BPS中不可能做到这一点。另见