2010-01-08 77 views
1

我處於試圖訪問以HTML格式包裝答案的SOAP服務的特殊位置。這是服務提供商(SourceForge)的一個錯誤,已經承認了七個月,目前還沒有ETA。 Nitty-gritty details在將服務器響應傳遞到軸之前預處理服務器響應

如果我可以在傳遞給Axis之前攔截實際的響應,我將能夠去除HTML內容,但我不知道該怎麼做。任何指針(以及替代解決方案),將不勝感激。


更新:使用Axis 1.4

+0

這是與軸1? – skaffman 2010-01-08 14:32:05

+0

是的,這是與軸1. – 2010-01-08 14:35:24

回答

0

如果你可以添加到服務器端,一個ServletFilter可能是一個解決方案。

如果您只能在客戶端進行更改,則可以創建一個接收SOAP數據的代理servlet,將其傳播到服務器並剝離結果。

實際剝離可以使用XSLT來完成,儘管如果包裝html是恆定的,那麼這可能是矯枉過正的。

+0

我在客戶端,但我不認爲我理解你的答案。我所做的是在客戶端調用Axis,然後(... axis magic ...)我得到實際響應。我沒有使用任何servlet。 – 2010-01-08 15:30:34

+0

Axis執行servlet調用,如果您在本地配置調用代理servlet,則它可以調用遠程端並剝離響應,以便您的Axis代碼接收剝離的響應。 – rsp 2010-01-08 17:06:22

1

我會嘗試看看我是否可以添加一個攔截器去除HTML。他們似乎使用SOAP壓縮,看看: http://www.thomas-bayer.com/soap-compression-howto.htm 看看客戶端配置部分,也許你可以做類似的事情。

+0

有趣,謝謝。我會研究提供一個自定義的'transport'並且看看它做了什麼。 – 2010-01-12 21:23:13