有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java获得Axis1.1客户端与Axis2服务的对话

是否可以让Axis1.1客户端与Axis2 web服务端点对话?据我所知,web服务通过使用服务的WSDL指定的模式来回传递XML SOAP消息来工作,但我不确定Axis的这些版本是否使用了不同版本的web服务规范来阻止它们说话。有什么想法吗


共 (2) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

    好的,使用Axis1.1与Axis2 web服务通信就可以了。我使用Axis1.1生成了存根,创建了一个客户端类,并进行了测试。Axis1.1的API并没有提供我以前的Axis1.4所允许的一些功能,特别是在ParameterDesc类中,您可以指定web服务方法参数是nillable还是minOccurs,但我的调用似乎工作得很好

    总而言之,它可以通过(看起来是什么)基本的WSDL定义来完成,但是,我不确定Axis2是否利用了Axis1.1由于Axis1.1陈旧的API而无法适应的新功能

    哦,还有最后一点,我需要使用SOAP1.1存根来满足我的请求。我不能100%确定为什么,因为我的回答是作为SOAP1.2返回的,但你已经知道了