AXIS2使用问题解决点滴
1、在調用第三方的WEB SERVICE過程中(雙方都是AXIS2),發現如下問題
???? 當數據量大時,第三方返回的ContentType[在HTTP頭內]是XML
???? 當數據量小時,第三方返回的ContentType[在HTTP頭內]是TEXT
這導致默認情況下,AXIS2 1.4生成的客戶端在處理數據量小時產生錯誤,報ContentType類型不對,這是由于在SOAP1.2中,強制要求XML,但1.1不需要,因此,解決該問題的方式如下:
?
stub._getServiceClient().getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
這樣就不會有強制校驗了
?
2、AXIS2生成的客戶端,調用多次后,發現有許多close_wait狀態的連接。網上有很多類似的報告:
http://mail-archives.apache.org/mod_mbox/ws-axis-user/200509.mbox/%3C6.2.2.1.2.20050913193818.04b63eb0@qcmail1.qualcomm.com%3E
?
在AXIS2中,解決該問題,只需要設置一個選項即可:
?stub._getServiceClient().getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT, true);
?
由于AXIS2中使用的是apache的httpclient組件,該組件默認情況會緩存連接已供重用,因此,如果不設上述選擇,即使設置
了HTTPConstants.AUTO_RELEASE_CONNECTION選項或手功clearup也無濟于用。
?
???????
總結
以上是生活随笔為你收集整理的AXIS2使用问题解决点滴的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 德里之行
- 下一篇: 科学历史也可以写的如此精彩 ——《量子物