2015-12-17 71 views
0

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

我需要从PA调用PB,因此我使用有效负载工厂构建相应的消息主体,使用SomeOperation值设置Action头(因为该操作在WSDL中定义),并使用带有相应端点的call mediator。我得到的是一个错误的身体,并出现以下错误信息:

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的末尾Concat的/ SomeOperation,那么它的工作。

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

编辑:它似乎解决了,基于让米歇尔的第一个答案。

更多细节:我注意到PB中只有SOAP12绑定wsdl ...无论如何,PB根据Action属性执行操作切换。

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

它的工作原理!

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

为找不到工作的端点引用(EPR)是/服务/ PBService和WSA行动= NULL。

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

它的工作原理!

案例:PB(disableOperationValidation),PA与SOAP12格式EP

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

我不完全知道发生了什么,但我想我会尝试坚持使用肥皂1.1。

回答

1

尝试设置此参数代理DEF(PB)内:

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

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

+0

辉煌,现在是解决了,但disableOperationValidation没有太大的影响,你可以在我的编辑中看到。 – user8658912

相关问题