微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用XFire调用WebService需注意的事项

 


(一):注意过滤输入和输出参数空白字符
如果出现空白字符解析不了导致调用失败,导致下面的异常:
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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐