【问题标题】:fault calling ESB proxy operation (EPR for the operation not found)错误调用 ESB 代理操作(未找到操作的 EPR)
【发布时间】:2015-12-17 10:33:31
【问题描述】:

我有一个 WSO2 ESB (4.8.1) 代理 PA,它调用另一个 ESB 代理 PB(具有已发布的 WSDL)。当我从 SoapUI 调用 PB 代理中的 SomeOperation 操作时,它正常工作:我得到了预期的响应,并且它根据 WSDL 模式进行验证。

我需要从 PA 调用 PB,因此我使用有效负载工厂构建了相应的消息体,使用 SomeOperation 值设置 Action 标头(因为在 WSDL 中定义了操作),并将调用中介与相应的端点一起使用。我得到的是一个故障体,带有以下错误消息:

The endpoint reference (EPR) for the Operation not found is /services/SomeOperation and the WSA Action = urn:mediate. If this EPR was previously reachable, please contact the server administrator.

但是,如果我只是简单地编辑 PA 中定义的端点,以便在服务 url 的末尾连接 /SomeOperation,那么它会起作用。

如果没有此解决方法,是否可以解决此问题?为什么会发生这种情况?我现在一些有类似错误的帖子建议设置 Action 标头,但我实际上是在设置它。

编辑:根据 Jean-Michel 的第一个回答,这似乎已解决。

更多细节:我观察到 PB wsdl 中只有 SOAP12 绑定...无论如何,PB 执行基于 Action 属性的操作切换。

案例:PB(未修改),PA 与 soap11 格式 EP

成功了!

案例:PB(未修改),PA 与 soap12 格式 EP

找不到操作的端点引用 (EPR) 是 /services/PBService 并且 WSA 操作 = null。

案例:PB(disableOperationValidation),PA 带soap11 格式EP

成功了!

案例:PB(disableOperationValidation),PA 用soap12格式EP

org.apache.axis2.AxisFault:传入消息的输入流为空。

我不完全了解发生了什么,但我想我会尝试坚持使用 soap 1.1。

【问题讨论】:

    标签: web-services proxy wsdl wso2 wso2esb


    【解决方案1】:

    尝试在你的代理 def (PB) 中设置这个参数:

    <parameter name="disableOperationValidation" locked="false">true</parameter>
    

    编辑您的端点并设置适当的格式(soap11 或soap12)

    【讨论】:

    • 太棒了,现在解决了,但是 disableOperationValidation 没有太大效果,正如你在我的编辑中看到的那样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 2020-09-19
    • 2020-09-04
    相关资源
    最近更新 更多