据我从架构定义中可以看出,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 复杂类型。