我處於試圖訪問以HTML格式包裝答案的SOAP服務的特殊位置。這是服務提供商(SourceForge)的一個錯誤,已經承認了七個月,目前還沒有ETA。 Nitty-gritty details。在將服務器響應傳遞到軸之前預處理服務器響應
如果我可以在傳遞給Axis之前攔截實際的響應,我將能夠去除HTML內容,但我不知道該怎麼做。任何指針(以及替代解決方案),將不勝感激。
更新:使用Axis 1.4
我處於試圖訪問以HTML格式包裝答案的SOAP服務的特殊位置。這是服務提供商(SourceForge)的一個錯誤,已經承認了七個月,目前還沒有ETA。 Nitty-gritty details。在將服務器響應傳遞到軸之前預處理服務器響應
如果我可以在傳遞給Axis之前攔截實際的響應,我將能夠去除HTML內容,但我不知道該怎麼做。任何指針(以及替代解決方案),將不勝感激。
更新:使用Axis 1.4
如果你可以添加到服務器端,一個ServletFilter
可能是一個解決方案。
如果您只能在客戶端進行更改,則可以創建一個接收SOAP數據的代理servlet,將其傳播到服務器並剝離結果。
實際剝離可以使用XSLT來完成,儘管如果包裝html是恆定的,那麼這可能是矯枉過正的。
我在客戶端,但我不認爲我理解你的答案。我所做的是在客戶端調用Axis,然後(... axis magic ...)我得到實際響應。我沒有使用任何servlet。 – 2010-01-08 15:30:34
Axis執行servlet調用,如果您在本地配置調用代理servlet,則它可以調用遠程端並剝離響應,以便您的Axis代碼接收剝離的響應。 – rsp 2010-01-08 17:06:22
我會嘗試看看我是否可以添加一個攔截器去除HTML。他們似乎使用SOAP壓縮,看看: http://www.thomas-bayer.com/soap-compression-howto.htm 看看客戶端配置部分,也許你可以做類似的事情。
有趣,謝謝。我會研究提供一個自定義的'transport'並且看看它做了什麼。 – 2010-01-12 21:23:13
這是與軸1? – skaffman 2010-01-08 14:32:05
是的,這是與軸1. – 2010-01-08 14:35:24