我是soap的新手,我被要求使用optained wsdl文件实现soap连接。在遵循此guide时,我遇到了以下错误:
前缀" wsdl"对于属性wsdl:与元素类型属性关联的arrayType未绑定
错误发生在第14行.wsdl的代码片段就是这个:
<?xml version="1.0" encoding="utf-8"?>
<definitions
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://tempuri.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns2="urn:uSoapMwkInfo"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:ns3="urn:uSoapHistData"
xmlns:ns1="urn:uSoapType" name="INDAS_SOAP_SERVICEservice"
targetNamespace="http://tempuri.org/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:uSoapType">
<complexType name="TActData">
<sequence>
<element name="cIdFound" type="boolean" />
<element name="ValS" type="ns1:TDoubleArr" />
</sequence>
</complexType>
<complexType name="TDoubleArr">
<complexContent mixed="false">
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:float[]" />
</restriction>
</complexContent>
</complexType>
我找不到任何解决方案,因此我想知道这里是否有人可以帮我解决问题?
更新:
Olivier告诉我,错误消失了,但我收到了很多错误:
[错误]未定义的简单或复杂类型&#39; soapenc:Array&#39;
第13,21,29,37,45,62,88行
[错误]未定义的属性&#39; soapenc:arrayType&#39;
第15,23,31,39,47,64,90行
但是,应该声明,不是吗?
<xs:complexType name="THistDataArr">
<xs:complexContent mixed="false">
<xs:restriction base="soapenc:Array">
<xs:sequence />
<xs:attribute xmlns:n1="http://schemas.xmlsoap.org/wsdl/" n1:arrayType="ns3:THistData[]" ref="soapenc:arrayType" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>
所以拥有更多.wsdl知识的人都可以告诉我出了什么问题?谢谢。
答案 0 :(得分:0)
未定义您对 wsdl 命名空间的引用。
但由于http://schemas.xmlsoap.org/wsdl/是文件的默认命名空间,因此不需要特定的引用。所以只需删除它:
&lt; attribute ref =“soapenc:arrayType” arrayType =“xsd:float []”/&gt;