我有一个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。
辉煌,现在是解决了,但disableOperationValidation没有太大的影响,你可以在我的编辑中看到。 – user8658912