java - Axis 1 客户端与 Axis 2 Web 服务不兼容

标签 java eclipse soap axis

<分区>

我有一个带有 Axis 1 客户端的 Axis 1 Web 服务。一切都运行良好,我从网络服务获得的数据是正确的。现在,需要移动 Web 服务以使用 Axis 2,我在 Axis 1 客户端上获取数据时遇到问题。我已经使用 SOAPUI 来查看我收到的响应的格式。

对于 Axis 1 网络服务,响应如下:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <getInventoryResponse xmlns="http://webservices.com">
         <getInventory>
            <errorCode>10071</errorCode>
            <inventory xsi:nil="true"/>
         </getLastInventoryCountReturn>
      </getInventoryResponse>
   </soapenv:Body>
</soapenv:Envelope>

使用 Axis 2 网络服务,响应如下:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <ns:getInventoryResponse xmlns:ns="http://webservices.com">
         <ns:return xsi:type="ax21:Inventory" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ax21="http://model.com/xsd">
            <ax21:errorCode>10071</ax21:errorCode>
            <ax21:inventory xsi:nil="true"/>
         </ns:return>
      </ns:getInventoryResponse>
   </soapenv:Body>
</soapenv:Envelope>

如您所见,名为“errorCode”的元素的值为 10071。我在客户端从两个 Web 服务正确接收到 errorCode 值。但是我有一个称为“库存”的复杂类型,作为响应的一部分收到(它没有出现在我上面包含的响应中,因为我需要一些时间来填充 Web 服务上的适当数据)。 InventoryItem 包含不同数据类型(字符串、日历)的字段。我注意到 Axis 2 Web 服务的响应包含 <axs21> xml 标记,而在 Axis 1 Web 服务中,它不存在。因此,我假设我在客户端遇到来自 Axis 2 Web 服务的响应的解析问题。

有谁知道我该如何解决这个问题?

最佳答案

显然我做错了什么。将 Web 服务从 Axis 1 移动到 Axis2 时,我不得不重新创建我的客户端代码

关于java - Axis 1 客户端与 Axis 2 Web 服务不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7360523/

相关文章:

java - 在 Mac OS 上将 eclipse rcp 应用程序从 3.3 升级到 3.5 时出现问题

android - 如何将 Fennec 与 eclipse for android 连接

使用 https 和 pem 证书的 Java 客户端

java - 使用 Grails 项目中的 wsimport 生成 java 调用 Web 服务

node.js - Node.js 中的 SOAP 示例及其执行过程?

java - 在jooq中使用DAO时出现DataAccessException

java.lang.RuntimeException : java. lang.ClassNotFoundException : <org. objectweb.asm.ClassWriter.getCommonSuperClass(未知来源)>

java - 为什么我的 Eclipse Maven 控制台日志中都是来自 Guice 的 "binding"垃圾?

java - Google App Engine 设置替代 Dev 与 Online

eclipse - 在单台 PC 上构建 J2EE 开发/测试设置