我正在使用带有一组测试凭据的FedEx Web Services测试环境 . 我得到了一对 ProcessShipment / DeleteShipment 请求工作:

  • ProcessShipment 创建新货件并返回跟踪编号 .

  • DeleteShipment 删除货件,给出步骤1中的追踪编号 .

现在,当我在这两个步骤之间发送 TrackShipment 查询时,它会以"This tracking number cannot be found."响应 . The question is: 为什么 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 Services文档中有一个模拟跟踪号列表,当我使用上述请求发送时,其中至少有一个会返回正确的跟踪信息 . 有人可能会认为,由于联邦快递提供了模拟跟踪号码,测试环境并没有真正跟踪出货量,只有模拟跟踪号码才会返回正面结果 . 但是, DeleteShipment 请求的行为就像货件是真实的,而不是模拟的 .

附:我确认 CarrierCodeProcessShipment 返回的相同 .