我有一個.net應用程序提供的SOAP Web服務。有時候我們會添加一些對象定義,但這些都是可選的,並且從XML/HTTP的角度來看,代表這些字段的XML標記可以省略並且工作正常。這應該讓現有的Web服務用戶繼續工作。Apache Axis在WSDL更改後失敗
而這正是它幾乎適用於所有人的方式。使用.net,python,ruby等的客戶端都沒有問題。但任何改變似乎都會破壞使用Java中的Apache Axis2的人。
看來,在每個請求上,Axis都會檢查端點WSDL並驗證它是否完全像它所具有的存根。如果不是,則會引發異常。 (意外的子元素)
Axis中是否有任何選項可以關閉此功能,並讓Axis認爲它的當前存根是正確的?
更新: 我也應該注意到,這是使用ColdFusion,因爲它使用的Axis2
切換到CXF不是我的項目的選項,我需要Axis在每次請求之前獲取WSDL。還有什麼想法? – l0st3d 2011-03-15 17:49:15
我發現了我的問題,它不是與Axis。我所調用的WS是一個名爲Magento的PHP應用程序,它在處理請求時請求它自己的WSDL。我將Axis發出的請求誤解爲日誌消息。我的錯。希望這個評論能夠幫助我們節省開支,只要我試圖診斷這一點。我的意思是,爲什麼要在每個SOAP請求上獲取自己的WSDL? – l0st3d 2011-03-16 12:01:31