FEDEX API,身份验证失败

FEDEX API, Authentication Failed

我正在将 FEDEX 跟踪、费率和运输 API 集成到我的应用程序中,但我遇到了一个问题。

当我 运行 我的代码包含开发者帐户详细信息时,一切 运行 都是正确的。但是当我 运行 使用生产密钥的相同代码时,它给了我 "Error Code 1000, Authentication Error"

我已经更新了所有密钥并且还更改了 URL 以指向生产 URL“https://ws.fedex.com:443/web-services/”。

这似乎不是 FEDEX 端的权限问题,因为标准服务(跟踪)在生产环境中默认启用,并且也会出现相同的错误 "Error Code 1000, Authentication Error".

下面是 SOAP 请求和响应 XML。

请求:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<RateRequest xmlns="http://fedex.com/ws/rate/v14">
<WebAuthenticationDetail>
<UserCredential>
<Key>AAAAAAAA</Key>
<Password>BBBBBBBBB</Password>
</UserCredential>
</WebAuthenticationDetail>
<ClientDetail>
<AccountNumber>CCCCCCCC</AccountNumber>
<MeterNumber>DDDDDDDD</MeterNumber>
</ClientDetail>
<TransactionDetail>
<CustomerTransactionId>java sample - Rate Request</CustomerTransactionId>
</TransactionDetail>
<Version>
<ServiceId>crs</ServiceId>
<Major>14</Major>
<Intermediate>0</Intermediate>
<Minor>0</Minor>
</Version>
<ReturnTransitAndCommit>true</ReturnTransitAndCommit>
<RequestedShipment>
<ShipTimestamp>2015-04-19T18:21:11.542+05:30</ShipTimestamp>
<DropoffType>REGULAR_PICKUP</DropoffType>
<ServiceType>FEDEX_GROUND</ServiceType>
<PackagingType>YOUR_PACKAGING</PackagingType>
<TotalInsuredValue>
<Currency>USD</Currency>
</TotalInsuredValue>
<Shipper>
<Address>
<StreetLines>1310 Piper Dr</StreetLines>
<City>Milpitas</City>
<StateOrProvinceCode>CA</StateOrProvinceCode>
<PostalCode>95035</PostalCode>
<CountryCode>US</CountryCode>
</Address>
</Shipper>
<Recipient>
<Address>
<StreetLines>3370 E. La Palma Avenue</StreetLines>
<City>Anaheim</City>
<StateOrProvinceCode>CA</StateOrProvinceCode>
<PostalCode>92806</PostalCode>
<CountryCode>US</CountryCode>
<Residential>false</Residential>
</Address>
</Recipient>
<ShippingChargesPayment>
<PaymentType>SENDER</PaymentType>
<Payor>
<ResponsibleParty>
<AccountNumber>ACCOUNT_NUMBER_PRESENT</AccountNumber>
</ResponsibleParty>
</Payor>
</ShippingChargesPayment>
<RateRequestTypes>ACCOUNT</RateRequestTypes>
<PackageCount>1</PackageCount>
<RequestedPackageLineItems>
<GroupPackageCount>1</GroupPackageCount>
<InsuredValue>
<Currency>USD</Currency>
<Amount>100.00</Amount>
</InsuredValue>
<Weight>
<Units>LB</Units>
<Value>10</Value>
</Weight>
<Dimensions>
<Length>1</Length>
<Width>1</Width>
<Height>1</Height>
<Units>IN</Units>
</Dimensions>
<SpecialServicesRequested/>
</RequestedPackageLineItems>
</RequestedShipment>
</RateRequest>
</soap:Body>
</soap:Envelope>

响应:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<v14:RateReply xmlns:v14="http://fedex.com/ws/rate/v14">
<v14:HighestSeverity>ERROR</v14:HighestSeverity>
<v14:Notifications>
<v14:Severity>ERROR</v14:Severity>
<v14:Source>prof</v14:Source>
<v14:Code>1000</v14:Code>
<v14:Message>Authentication Failed</v14:Message>
</v14:Notifications>
<v14:TransactionDetail>
<v14:CustomerTransactionId>java sample - Rate Request</v14:CustomerTransactionId>
</v14:TransactionDetail>
<v14:Version>
<v14:ServiceId>crs</v14:ServiceId>
<v14:Major>14</v14:Major>
<v14:Intermediate>0</v14:Intermediate>
<v14:Minor>0</v14:Minor>
</v14:Version>
</v14:RateReply>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

请帮我解决这个问题:(

如果您在生产中遇到所有 Web 服务的错​​误,那么您遇到了一个关键问题。从 FedEx 的开发人员区域获取新的凭据或尝试通过 fedex.com

发送电子邮件给网络支持

我从上周开始就遇到了这个问题,在与 FedEx 技术人员讨论后最终找到了解决方案 Person.See 为什么我们面临这样的错误都是因为我们从开发人员 website.One 那里生成的开发人员测试帐户请记住,以“6”开头的测试帐号是生产帐号,以“5”开头的密钥是正确的测试Key.So当您遇到错误代码为 1000 的身份验证问题时,请检查您的测试密钥。

如果这没有帮助,请回复我。

https://www.xadapter.com/test-use-fedex-account-number-test-account-number-password-use/

用户帐户密码与我们必须在网络服务中提供的密码不同。 请检查上面link

我很挣扎,所以我打电话给他们在美国的支持,我会说这非常好。我有机会与一些开发人员交谈,他们会实时观察您的请求,并会通过电话通知您,例如导致此身份验证问题的原因。在这里打电话 >> 1.877.339.2774

现在,根据他们的支持人员的说法,有时在多次注册时,先前生成的密码会被新密码覆盖,而密钥/账户和计量表号码保持不变。 (测试和产品密钥密码通过您注册的电子邮件发送)。

因此,如果您确定您使用的 test/production 凭据在您的代码中正确提及,那么您可以尝试重新注册密钥,并且必须将您的直接电子邮件地址放在注册表中。新密码将帮助您获得 API 的成功响应。

此外,如果您使用 api 来跟踪货物,那么只有在您提供了测试跟踪号的情况下,测试信用才会有帮助,生产密钥也是如此。 Prod 密钥仅适用于真实货件跟踪 ID