axis客户端循环访问webservice的时候只发送了几条数据就断开了的问题

原因 axis客户端访问webservice默认是使用http1.0版本的,这个版本的http不能保持长连接,应该换成http1.1版本

具体修改步骤:

<?xml version="1.0" encoding="UTF-8"?>
<deployment name="defaultClientConfig"
            xmlns="http://xml.apache.org/axis/wsdd/"
            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 <globalConfiguration>
   <parameter name="disablePrettyXML" value="true"/>
   <parameter name="enableNamespacePrefixOptimization" value="false"/>
 </globalConfiguration>
    <transport name="http"
        pivot="java:org.apache.axis.transport.http.CommonsHTTPSender" />
 <transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/>
 <transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/>
</deployment>

上述文件具体的替换内容如下:

<transport name="http"
        pivot="java:org.apache.axis.transport.http.HTTPSender" />

替换为

<transport name="http"
        pivot="java:org.apache.axis.transport.http.CommonsHTTPSender" />

 

HTTPSender使用HTTP1.0,修改为CommonsHTTPSender使用httpclient发送请求,使用的是HTTP1.1。

 

由于使用了HTTPCLIENT,请导入依赖包:commons-httpclient-3.1.jar和commons-codec-1.3.jar。

 

pom.xml增加

<!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient -->
        <dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.3</version>
        </dependency>

原文地址:https://blog.csdn.net/tomatotomcat/article/details/17300067

 

posted @ 2018-05-22 15:03  耀仔  阅读(445)  评论(0编辑  收藏  举报