(一):注意過濾輸入和輸出參數空白字符 如果出現空白字符解析不了導致調用失敗,導致下面的異常: org.codehaus.xfire.fault.XFireFault: Error writing document.. Nested exception is com.ctc.wstx.exc.WstxIOException: Invalid null character in text to output at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89) at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:83) at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114) at org.codehaus.xfire.client.Client.invoke(Client.java:336) at org.codehaus.xfire.client.Client.invoke(Client.java:368) String.trim()一下即可。 (二):連接時注意修改一些參數
比如:HttpClientParams.CONNECTION_MANAGER_TIMEOUT // 設置Timeout 這其實不止是這裏需要,任何網絡編程都需要注意此事項。當對方服務死了或網絡異常, 如果不做timeout處理,按照默認的時間去處理,將會導致服務積壓嚴重甚至被脫死。 HttpClientParams.USE_EXPECT_CONTINUE //client handshake 如果服務不需要傳輸大量的數據,保持長連接,還是建議關閉掉此功能,設置爲false。 否則,在業務量很大的情況下,很容易將服務端和自己都搞的很慢甚至拖死。 HttpClientParams params = new HttpClientParams(); // 避免'Expect: 100-continue' handshake params.setParameter(HttpClientParams.USE_EXPECT_CONTINUE,Boolean.FALSE); //設置ws連接超時時間 params.setParameter(HttpClientParams.CONNECTION_MANAGER_TIMEOUT, 1000); client.setProperty(CommonsHttpMessageSender.HTTP_CLIENT_PARAMS,params); |
使用XFire調用WebService需注意的事項
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.