让Axis 1.1客户端与Axis2服务进行通信

时间:2011-03-12 21:43:08

标签: java web-services client axis2 axis

是否可以让Axis 1.1客户端与Axis2 Web服务端点通信?根据我的理解,Web服务通过使用服务的WSDL指定的模式来回传递XML SOAP消息,但我不确定这些版本的Axis是否使用不同版本的Web服务规范来阻止它们从说话。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

好吧,使用Axis 1.1与Axis2 Web服务进行通信工作正常。我使用Axis 1.1生成了存根,创建了一个Client类并进行了测试。 Axis 1.1的API不提供我之前的Axis 1.4允许的一些功能,特别是在ParameterDesc类中,您可以在其中指定Web服务方法参数是否可以为空或者是minOccurs,但我的调用似乎工作得很好

总而言之,它可以用(似乎是)基本的WSDL定义完成,但是,我不确定Axis2是否利用Axis 1.1无法容纳的新功能,因为Axis 1.1的老化API ...

哦,还有最后一点,我需要为我的请求使用SOAP 1.1存根。我不是百分之百确定为什么因为我的回复是作为SOAP 1.2回来的,但是你有它。

答案 1 :(得分:1)

一般来说,你的理解是正确的,即。如果客户端遵守WSDL描述,它应该能够联系Web服务 但Axis1和Axis2默认使用不兼容的不同编码 Axis1使用RPC(已过时),Axis2使用doc / lit 因此,您所要求的相反,即与Axis1服务器通信的Axis2客户端将无法正常工作 反过来(以及你在帖子中提出的问题)我不太确定 您是否尝试使用WSDL生成存根? 你有错误吗?如果您在存根创建中没有错误,我相信您可以尝试一下。