错误代码如下:
E:\>wsimport -keep service.xml
parsing WSDL...
[WARNING] src-resolve: Cannot resolve the name 'soapenc:Array' to a(n) 'type definition' component.
line 505 of file:/E:/service1.xml#types?schema2
[ERROR] undefined simple or complex type 'soapenc:Array'
line 505 of file:/E:/service1.xml
错误原因:
net那边给的wsdl使用的规范过低,生成之后的不认原来的那种规范,使生成代码不适应我们java这边的使用。
<s:schema targetNamespace="http://tempuri.org/AbstractTypes">
<s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<s:complexType name="ArrayOfString">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="StringArray">
<s:complexContent mixed="false">
<s:restriction base="soapenc:Array">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="String" type="s:string" />
</s:sequence>
</s:restriction>
</s:complexContent>
</s:complexType>更改后:
<s:schema targetNamespace="http://tempuri.org/AbstractTypes">
<s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<s:complexType name="ArrayOfString">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
</s:sequence>
</s:complexType>
</s:schema>重新执行:wsimport -keep service.xml 成功生成。

本文介绍了解决WS-Import工具在处理特定WSDL文件时遇到的问题,即无法解析soapenc:Array类型定义,通过调整WSDL文件中关于数组类型的定义解决了生成Java代码的兼容性问题。

7729

被折叠的 条评论
为什么被折叠?



