java - 具有 Axis 服务的 JAX-WS 客户端

标签 java web-services jax-ws axis jax-rpc

我对 Web 服务比较陌生,但我需要在我的应用程序中集成对现有服务的调用。理想情况下,我希望使用 JAX-WS,因为我正在寻找最简单、开发最快的解决方案,并且 MyEclipse 能够从 WSDL 生成 JAX-WS 客户端。不幸的是,我继承的 WSDL 似乎是使用 RPC 从 Axis 构建的。这仍然有效吗?当尝试生成代码时,我收到这些错误,并且我发现的网络搜索似乎表明它是服务端需要升级:

<restriction base="soapenc:Array">
    <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:MyTypeList[]" />
</restriction>
  • WS-I:(BP2108) 数组声明使用(限制或扩展)soapEnc:Array 类型,或者在类型声明中使用 wsdl:arrayType 属性

  • WS-I:(BP2122) wsdl:types 元素包含不是 XML 架构定义的数据类型定义

    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.host.com" use="encoded" />

  • WS-I:(BP2406)soapbind:body、soapbind:fault、soapbind:header 和soapbind:headerfault 的 use 属性没有“literal”值。

最佳答案

您知道该服务使用的是哪个版本的 Axis 吗?

最好的选择是使用与服务所使用的相同版本的 Axis 生成客户端。这绝对是开发最快的解决方案。使用 JAX-WS 将不起作用。

关于java - 具有 Axis 服务的 JAX-WS 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2777118/

相关文章:

java - Spring注解、读取属性

java - 如何阻止 Apache CXF 将基元转换为对象类型?

django - 是否应该捕获来自 HTTP 参数问题的不可恢复异常?

java - 线程 "main"javax.xml.ws.WebServiceException : Failed to access the WSDL. ...(jax-ws) 中出现异常

java - 摆脱 JAX-WS 中的空 xmlns 元素

java - 如何在 Artifactory 本地存储库中缓存远程包?

java - Swing - 使用 UpdateUI 更改面板的内容

java - 在 XML 节点中查找模式的最快(实现)方式

java - Jax-Ws 解码错误

java - 用于具有数字签名的 WSSecurity 的 SOAPHandler