我正在使用带有一组测试凭据的FedEx Web服务测试环境。我得到了一对ProcessShipment
/ DeleteShipment
请求,它们正常工作:
ProcessShipment
创建新的货件并返回跟踪号。DeleteShipment
根据步骤1中的跟踪编号删除货件。现在,当我在这两个步骤之间发送TrackShipment
查询时,它会回复“找不到此跟踪号。”。 问题是:为什么TrackShipment
找不到DeleteShipment
时,找不到跟踪号?
我的TrackShipment
请求看起来像这样:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://fedex.com/ws/track/v16">
<soapenv:Body>
<TrackRequest>
<WebAuthenticationDetail>...</WebAuthenticationDetail>
<ClientDetail>...</ClientDetail>
<Version>
<ServiceId>trck</ServiceId>
<Major>16</Major>
<Intermediate>0</Intermediate>
<Minor>0</Minor>
</Version>
<SelectionDetails>
<CarrierCode>FDXE</CarrierCode>
<PackageIdentifier>
<Type>TRACKING_NUMBER_OR_DOORTAG</Type>
<Value>794635174178</Value>
</PackageIdentifier>
</SelectionDetails>
</TrackRequest>
</soapenv:Body>
</soapenv:Envelope>
FedEx Web服务文档中有一个模拟跟踪号列表,当我随上述请求发送时,其中至少有一个会返回正确的跟踪信息。有人可能会认为,由于FedEx提供了模拟跟踪编号,因此测试环境并不能真正跟踪发货,而应该仅以模拟跟踪编号返回正面结果。但是,DeleteShipment
请求的行为就好像货是真实的,而不是假货。
P.S。我确认CarrierCode
与ProcessShipment
返回的相同。