我有一個用Java編寫的客戶端,它使用與外部web服務交談的Springsource工具包(即@Service屬性)(完全獨立,與我無關公司)通過HTTPS。我在marshalSendAndReceive步驟中遇到了一個異常,該步驟聲明內容類型將以text/html而不是預期的text/xml形式返回 - 並顯示消息「可能是錯誤消息?」從Java/spring web服務客戶端檢查請求/響應
該webservice本身是下一個版本的服務的公共測試,並從相同的代碼調用實時服務工作正常。我正在調用的這種特殊方法在實時系統上工作正常,但不在測試系統上。
我的預感是,請求的測試系統格式不正確 - 儘管根據發行說明,響應應該在架構中發生變化 - 並且這導致服務返回錯誤地被錯誤解析的錯誤我的客戶。我收到所有請求的錯誤,即使那些(根據發行說明)沒有改變。
我試圖使用Fiddler和Wireshark來檢查流量,但無法讓Fiddler看到它(我懷疑這是在代理服務器上使用STS時的Tomcat問題),Wireshark無法解碼HTTPS的東西(我沒有鑰匙)。我無法使用HTTP,因爲如果我嘗試,外部服務會返回403 Forbidden。
我不是原始開發人員,我甚至不是Java開發人員。我是一位經驗豐富的.NET開發人員,因此任何與此類似的類比都會被理解 - 否則,我是一個虛擬和短語您的指示/問題/可能相應的幫助。按照我的前任的指示,我使用XmlBeans從WSDL創建了一個JAR文件,並將其添加爲引用的庫,但我無法確定我是否正確地完成了該操作,甚至不知道它在做什麼。它似乎對事物沒有明顯的影響。
如何調試此問題,並驗證它是否對我的客戶或其服務有問題?
您是否將您的請求上的'Accept'標頭設置爲'text/xml'(或者'application/xml')? –
我看不到任何設置 - 不在配置或Java中。 –
原來我的前任留下的web服務地址,以及服務支持人員提供的不同地址都是錯誤的。在VS2012中使用'添加服務參考'幫助我找到正確的地址!埃裏克B的回答是正確的,儘管我的笨蛋。 –