我对Web服务比较陌生,但我需要在我的应用程序中集成对现有服务的调用。理想情况下,我想使用JAX-WS,因为我正在寻找最简单,最快速开发的解决方案,而MyEclipse能够从WSDL生成JAX-WS客户端。不幸的是,我继承的WSDL是使用似乎是Axis的RPC构建的。这仍然有效吗?在尝试生成代码时,我收到了这些错误,我发现的网络搜索似乎表明它是需要升级的服务端:
<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模式定义的数据类型定义
&lt; wsdlsoap:body encodingStyle =“http://schemas.xmlsoap.org/soap/encoding/” namespace =“http://ws.host.com”use =“encoded”/&gt;
WS-I:(BP2406)soapbind:body,soapbind:fault,soapbind:header和soapbind:headerfault的use属性没有“literal”值。
答案 0 :(得分:1)
您知道该服务使用的Axis版本吗?
您最好的选择是使用服务使用的相同版本的Axis生成客户端。这绝对是最快速开发的解决方案。使用JAX-WS将无法正常工作。