FEDEX API,身份验证失败

时间:2015-04-19 10:55:29

标签: java soap fedex

我正在将FEDEX跟踪,费率和运费API整合到我的应用程序中,但我遇到了问题。

当我使用Developer帐户详细信息运行我的代码时,一切都正常运行。但是,当我使用生产密钥运行相同的代码时,它会给我“错误代码1000,身份验证错误”

我更新了所有密钥,并将网址更改为指向生产网址“https://ws.fedex.com:443/web-services/”。

它似乎不是来自FEDEX结束的权限问题,因为默认情况下为生产启用了标准服务(跟踪),并且还提供了相同的错误“错误代码1000,身份验证错误”

以下是SOAP请求和响应XML。

REQUEST:

<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>

请帮我解决这个问题:(

4 个答案:

答案 0 :(得分:2)

我在上周遇到了这个问题,并在与FedEx技术人员讨论后终于找到了解决方案。看看为什么我们面临这样的错误都是因为我们从开发者网站生成的开发人员测试帐户。我们应该记住的一件事是测试帐号以&#34; 6&#34;开头生产与生产重点开始于&#34; 5&#34;是正确的测试密钥。所以当您收到错误代码1000的身份验证问题时,请检查您的测试密钥。

如果这没用,请回复我。

答案 1 :(得分:1)

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

用户帐户密码与我们必须在Web服务中提供的密码不同。 请查看以上链接

答案 2 :(得分:0)

如果您收到生产中所有Web服务的错误,那么您就遇到了一个关键问题。从FedEx的开发者区域获取新凭据或尝试通过fedex.com发送电子邮件至websupport

答案 3 :(得分:-1)

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

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

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

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