XML—附加到命名空间的数字
下面是一个WSDL:XML—附加到命名空间的数字,xml,namespaces,Xml,Namespaces,下面是一个WSDL: <types> <!—Namespace declaration --> <s:schema elementFormDefault="qualified" targetNamespace="http://KeithPij.org/WSLibrary/MyStore"> <!—Element declaration for PlaceOrder request messages --> <s:element n
<types>
<!—Namespace declaration -->
<s:schema elementFormDefault="qualified" targetNamespace="http://KeithPij.org/WSLibrary/MyStore">
<!—Element declaration for PlaceOrder request messages -->
<s:element name="PlaceOrder">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="objOrder" type="s0:Order" />
</s:sequence>
</s:complexType>
</s:element>
<!—Type definition for the Order class -->
<s:complexType name="Order">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="OrderID" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="ProductID" type="s:long" />
<s:element minOccurs="0" maxOccurs="1" name="ProductName" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="Quantity" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="UnitPrice" type="s:decimal" />
<s:element minOccurs="1" maxOccurs="1" name="OrderDate" type="s:dateTime" />
</s:sequence>
</s:complexType>
<!—Element declaration for PlaceOrder response messages -->
<s:element name="PlaceOrderResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="PlaceOrderResult" type="s0:Confirm" />
</s:sequence>
</s:complexType>
</s:element>
<!—Type definition for the Confirm class -->
<s:complexType name="Confirm">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="OrderID" type="s:long" />
<s:element minOccurs="0" maxOccurs="1" name="Status" type="s:string" />
</s:sequence>
</s:complexType>
<!—Element declaration for CheckOrder request messages -->
<s:element name="CheckOrder">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="nOrderID" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<!—Element declaration for CheckOrder response messages-->
<s:element name="CheckOrderResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CheckOrderResult" type="s0:Confirm" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
请有人解释一下这是什么意思:type=“s0:订单”。如果它是type=“s:Order”编写的,我会理解它,它是在名称空间“s”中声明的类型,但是这个“s0”从何而来?您做出了错误的假设。未在命名空间“s”中声明类型顺序。从我这里看到的-
<s:schema>
....
type="s:dateTime"
....
type=“s:dateTime”
“s”是名称空间。自定义定义的类型顺序不可能是此架构的一部分。在顶层(元素)上显示完整的WSDL和声明的名称空间
和s0:表示这是为模式中定义的自定义类型自动生成的标识符。这似乎不是正确格式的XML(示例代码的开头有一个不匹配的
标记。实际上wsdl是从MSDN网站获取的。。然后您必须下载完整的示例,查看MyStoreSH.wsdl,并发现有一个声明:xmlns:s0=“”。所以这个s0:来自某个地方。但是给出一个部分wsdl,它不清楚它来自哪里。我想你。我被我给出的部分中也声明了顺序类型弄糊涂了。如果它在其他地方声明,那么为什么还要在这里声明它呢?所以名称空间是一个名称空间…s1:顺序不同于s2:顺序。可能用意是s0:中定义的订单类型,而不是当前的订单类型,我记得当前的订单类型应该在没有名称空间的情况下使用-例如type=“Order”。