2011-10-25 51 views
2

我試圖將FedEx與我的應用程序集成。我創建了一個測試帳戶。 當我發送RateRequest時,我得到了一個響應Authentication Failed(代碼是1000)。 我使用聯邦快遞費率服務的v10。對於SOAP我使用Savon紅寶石寶石。聯邦快遞:身份驗證失敗,測試帳戶

這裏是代碼我使用:

require 'rubygems' 
require 'savon' 

TEST_URL = 'https://wsbeta.fedex.com:443/web-services/rate' 

client = Savon::Client.new do 
    wsdl.document = File.expand_path("../rate_wsdl.xml", __FILE__) 
    wsdl.endpoint = TEST_URL 
end 

client.request "RateRequest" do 
    soap.body = { 
    'WebAuthenticationDetail' => {'Key' => KEY, 'Password' => PASSWORD}, 
    'ClientDetail' => {'AccountNumber' => ACCOUNT_NUMBER, 'MeterNumber' => METER_NUMBER}, 
    'RequestedShipment' => { 
     'PackagingType' => 'FODEX_BOX', 
     'Shipper' => 
     {'Address' => {'PostalCode' => '90210', 'CountryCode' => 'US', 'Residential' => 'true'} 
     }, 
     'Recipient' => 
     {'Address' => {'PostalCode' => 'KIP 1J1', 'CountryCode' => 'CA', 'Residential' => 'true'} 
     }, 
     'RateRequestTypes' => 'ACCOUNT', 
     'PackageCount' => '1', 
     'RequestedPackages' => { 
     'Weight' => {'Units' => 'LB', 'Value' => '7.5'}, 
     'Dimensions' => {'Length' => '15', 'Width' => '10', 'Height' => '5', 'Units' => 'IN'} 
     } 
     #'LabelSpecification' => '' 
    } 
    } 
end 

我用Google搜索了很多關於它。有些人有同樣的問題。人們說這可能是由於缺乏地址驗證的許可而導致的,但是如果是這樣,我無法找到如何禁用它。 我確信所有憑證都可以(帳號,計數器,密鑰,密碼)。 另外我也嘗試了「https://wsbeta.fedex.com:443/web-service」作爲端點url。

回答

2

想通是錯的。我發送了無效的SOAP請求。感謝SOAPUI工具,它幫助我驗證了我的請求。

+1

,,我現在面臨同樣的問題。我嘗試使用以下網址在wsdl文件「gateway.fedex.com/web-services」; ,「gatewaybeta.fedex.com/web-services」;.我正在使用RateService_v10.wsdl文件。我仍然收到錯誤。請在此建議 – mymotherland