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