2012-09-27 32 views
4

我試圖使用使用由Eclipse的WSDL2Java工具生成庫的客戶端代碼發送SOAP請求交通信息的錯誤,但不斷收到此錯誤:Axis2的系統無法推斷

 
[ERROR] The system cannot infer the transport information from the Address: http://172.17.4.2:8081/axis2/services/CDMS URL. 

此客戶端一種位於「真實」客戶端和服務器之間的代理服務器。我從真實客戶端的SOAP消息的wsa:To字段獲取URL,並使用它創建到服務器的連接。

我很迷茫尋找可能的錯誤來源,有誰能給出提示嗎?我不確定哪些信息我可以給這裏可能是有用的,所以只是讓我知道,我應該提供哪些其他錯誤消息或配置文件提取,以幫助您幫助我:)

謝謝.. 。

UPDATE:

我做了一些更多的試驗,如果我硬編碼的URL字符串到客戶端存根,而不是從另一條消息獲得其請求已成功發送:

ConfigurationContext cc = ConfigurationContextFactory.createConfigurationContextFromFileSystem("/home/me/axis2-1.6.2/repository", "/home/me/axis2-1.6.2/conf/axis2.xml"); 
CDMSStub stub = new CDMSStub(cc, "http://172.17.4.2:8081/axis2/services/CDMS"); 

我不明白爲什麼,因爲我提供的字符串具有完全相同的值/含量的硬編碼一個....

回答

1

不知道這是否會幫助,但我打這個錯誤了好幾天。如果一位同事幫助我,她解釋說,當我從wsdl文件創建java類時,默認(使用RAD 7.5)將使用JAXB-WS。對於獨立應用程序,她建議我使用Axis。重建所有的java類,修復一些參數,並且使它生活得很好。

2

錯誤本身說明它無法解析發送消息的端點。您需要確保您的後端服務已啓動並正在運行。還請確保您的代理服務正確配置爲將消息發送到後端服務。希望這可以幫助。