2012-10-30 113 views
0

按照架构定义从这个网址 Service URLWebservice的XML请求错误

我请求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> 

回答

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> 

我抬头对康威网站RateRequest XML的推荐用法,并且似乎ItemType的复合型不能在请求任何方式使用。 Item元素可以使用CmdtyClass类型引用来引用(预定义的)项目。当正在定义一个项目时,这个CmdtyClass类型也用于ItemType复杂类型。

+0

谢谢@Chris,即使我在RateRequestELement下面添加,也会得到相同的错误。 – DON

+0

我编辑了我的答案,以包含我在con-way网站上找到的一些使用信息。 – Chris