2010-05-05 113 views
1

我对Web服务比较陌生,但我需要在应用程序中集成对现有服务的调用。理想情况下,我想使用JAX-WS,因为我正在寻找最简单,最快速的开发解决方案,而MyEclipse能够从WSDL生成JAX-WS客户端。不幸的是,我继承的WSDL是基于使用RPC的Axis构建的。这会继续吗?当试图生成的代码,我得到这些错误,我已经找到了网络搜索似乎在说,它是服务端需要升级:Axis服务的JAX-WS客户端

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

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

    <的wsdlsoap:身体的encodingStyle = “http://schemas.xmlsoap.org/soap/encoding/” 命名空间= “http://ws.host.com” 使用= “编码”/>

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

回答

1

你知道服务器使用了什么版本的Axis吗?

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