Eclipse 生成webservice Client与JAX-WS不兼容问题解决

本文讲述了在Eclipse中使用AXIS生成的WebService客户端与JAX-WS服务端存在兼容性问题,表现为调用无响应。通过分析发现是由于AXIS客户端使用HTTP1.0协议,而JAX-WS使用HTTP1.1协议导致。解决方案是修改AXIS的client-config.wsdd配置文件,将底层HTTP调用改为Apache Client,并添加相关jar包,以实现AXIS客户端与JAX-WS正常通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我平时开发WebService的客户端,总是直接使用Eclipse生成,这样来的快,也很方便。

 

头一阵子其它组的人用,JAX-WS制作了一个WS,我们使用Ecllipse生成后。发现调用后,无法返回结果,等待数分钟没有返回,不知道为什么。而对方那边已经将方法内容全都注掉。导致当时非常郁闷。心想如果这样,开发方式,以及过去的代码都要改。

 

无奈,硬着头皮去找为什么,查了两边的堆栈都没有问题,程序本身也没有问题。最后将问题归结到Eclipse使用AXIS1生成的代码问题,准确的说是两边的通许有问题,版本不对。

 

抓了下包,看了下。对比JAX-WS生成的客户端和Eclipse AXIS生成的客户端,最后发现是AXIS的客户端使用的是HTTP1.0的协议,而JAX-WS使用的是HTTP1.1的协议。

 

上网又翻了一下,找到了修改AXIS的方法,将AXIS底层换成Apache Client的调用类。只需修改一下axis.jar内部的一个配置文件,位置在/axis/client/client-config.wsdd,修改方法如下:

将下面的文件内容

 

<?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"/>

  </globalConfigurati
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值