0

这是一个 WSDL:

 <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:Order"。如果写成 type="s:Order" 我会理解的,它是在命名空间 "s" 中声明的类型,但是这个 "s0" 是从哪里来的呢?

4

1 回答 1

1

你做了错误的假设。类型 Order 未在命名空间“s”中声明。从我在这里看到的 -

<s:schema>
....
    type="s:dateTime"

's' 是命名空间http://www.w3.org/2001/XMLSchema。您的自定义类型 Order 不可能成为此架构的一部分。在顶层(<wsdl> 元素)上显示完整的 WSDL 和声明的名称空间。

并且 s0: 表示这是为模式中定义的自定义类型自动生成的标识符。

于 2012-06-21T08:08:27.787 回答