我有一個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