我有需要由 wsdl.exe (.net sdk 2.0) 解释的 wsdl 这个 wsdl 是由轴引擎在运行时生成的,它正在读取一个 wsdd 文件来生成它。
我的一种返回类型里面有 java.util.Map,这里是 wsdl 中的地图模式(只是 wsdl 的一部分)
<schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="Map">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item">
<complexType>
<all>
<element name="key" type="xsd:anyType" />
<element name="value" type="xsd:anyType" />
</all>
</complexType>
</element>
</sequence>
</complexType>
</schema>
但是当我运行 wsdl.exe 来阅读这个 wsdl 时,我得到了以下错误;
- 无法导入操作“getXXX”。
- 类型必须在模式的顶层声明。请查看命名空间“ http://xml.apache.org/xml-soap ”中的模式类型“Map” :元素“item”正在使用匿名类型声明,编码的 SOAP 不支持匿名类型。
这是否意味着当涉及 Web 服务时,我不能使用 Map?我对谷歌的结果不满意......