一段时间以来,我一直在与 eBay 的大型商家服务 API 搏斗。这很艰难。我终于有消息一直通过他们的系统,但我遇到了他们的架构问题。显然,限制比架构中定义的要多得多。
例如,模式定义了运输服务选项,可能看起来像这样:
<ShippingServiceOptions>
<ShippingService>USPSPriority</ShippingService>
<ShippingServiceCost currencyID="USD">7.99</ShippingServiceCost>
<ShippingServiceAdditionalCost currencyID="USD">0.0</ShippingServiceAdditionalCost>
<ShippingServicePriority>1</ShippingServicePriority>
</ShippingServiceOptions>
并在他们的架构中定义如下:
<complexType name="ShippingServiceOptionsType">
<complexContent>
<restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
<sequence>
<element name="ShippingInsuranceCost" type="{urn:ebay:apis:eBLBaseComponents}AmountType" minOccurs="0"/>
<element name="ShippingService" type="{http://www.w3.org/2001/XMLSchema}token" minOccurs="0"/>
<element name="ShippingServiceCost" type="{urn:ebay:apis:eBLBaseComponents}AmountType" minOccurs="0"/>
<element name="ShippingServiceAdditionalCost" type="{urn:ebay:apis:eBLBaseComponents}AmountType" minOccur ="0"/>
<element name="ShippingServicePriority" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
<element name="ExpeditedService" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
<element name="ShippingTimeMin" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
<element name="ShippingTimeMax" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
<element name="ShippingSurcharge" type="{urn:ebay:apis:eBLBaseComponents}AmountType" minOccurs="0"/>
<element name="FreeShipping" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
</sequence>
</restriction>
</complexContent>
</complexType>
我在哪里可以找到有效值ShippingService
?我找到了一个他们有的例子USPSPriority
。那一个有效,但我猜到的所有其他东西(UPS、UPSGround、UPS2ndDayAir 等)都会导致整个东西返回错误Invalid data
。
如果有人知道有效值列表或任何其他可以更好地解释 eBay 大型商户服务 (LMS) 架构的资源,请告诉我。
作为一个附带问题,“{ http://www.w3.org/2001/XMLSchema }token”的类型到底是什么?JAXB 当前将其转换为字符串。