微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Net的wsdl生成webservice 异常:undefined simple or complex type 'soapenc:Array'

错误代码如下:

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 成功生成


解决办法是从一个英文的网站上查到的,所以定为翻译,可惜现在再总结找不到那个网址了TAT!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐