2015-12-17 107 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

相關問題