0

根据此 url 服务 URL中的架构定义

我像这样请求了 XML,但是当我向https://www.con-way.com/XMLj/X-Rate发送请求时出现错误。如何传递 ItemType 元素?

<RateRequest>
<OriginZip country='us'>97006</OriginZip> 
<DestinationZip country='us'>33179</DestinationZip> 
<CustNmbr shipcode="S">883885</CustNmbr>
<ChargeCode>P</ChargeCode> 
<EffectiveDate>10/30/12</EffectiveDate> 

<Item> 
<CmdtyClass>775</CmdtyClass> 
<Weight unit='lbs'>667</Weight> 
</Item> 

<ItemType>
<Quantity pkgtype='PCS'>100</Quantity>
</ItemType>

<Accessorial>SSC</Accessorial> 
<Accessorial>DNC</Accessorial>   
<Accessorial>GUR</Accessorial> 

</RateRequest>
4

1 回答 1

1

据我从架构定义中可以看出,ItemType 不是 RateRequest 元素的有效子元素。这可能会导致错误。

<xs:element name="RateRequest">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="OriginZip"/>
      <xs:element ref="DestinationZip"/>
      <xs:element name="CustNmbr" minOccurs="0">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:positiveInteger">
              <xs:attribute name="shipcode" type="ShipCodeType" use="optional" default="S"/>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element ref="ChargeCode" minOccurs="0"/>
      <xs:element name="DiscountRate" type="xs:decimal" minOccurs="0"/>
      <xs:element name="EffectiveDate" type="DateMMDDYYType" minOccurs="0"/>
      <xs:element name="Item" maxOccurs="4">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="CmdtyClass"/>
            <xs:element name="Weight" type="WeightWithUnitType"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Accessorial" type="RatingAccessorialCodeType" minOccurs="0" maxOccurs="7"/>
      <xs:element ref="TotalCubeVolume" minOccurs="0"/>
      <xs:element ref="SIC" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="schemaVersion" type="SchemaVersionType"/>
  </xs:complexType>
</xs:element>

我在 conway 网站上查看了 RateRequest xml 的建议用法,似乎 ItemType 复杂类型不能以任何方式在请求中使用。但是,Item 元素可以使用 CmdtyClass 类型引用来引用(预)定义的项目。在定义项目时,此 CmdtyClass 类型也用于 ItemType 复杂类型。

于 2012-10-30T13:39:56.633 回答