2

FedEx をアプリケーションに統合しようとしています。テストアカウントを作成しました。RateRequest を送信すると、Authentication Failed (コードは 1000) という応答が返されました。Fedex Rate サービスの v10 を使用しています。SOAP には Savon ruby​​ gem を使用します。

私が使用するコードは次のとおりです。

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

私はそれについてたくさんグーグルで調べました。一部の人々は同じ問題を抱えていました。アドレス検証の許可がないために発生する可能性があると人々は言いますが、そうであれば無効にする方法がわかりません。すべての資格情報 (アカウント番号、メーター番号、キー、パスワード) に問題がないことを確信しています。また、エンドポイント URL にも「https://wsbeta.fedex.com:443/web-service」を試しました。

4

1 に答える 1

2

考え出したのは間違っていました。無効な SOAP リクエストを送信しました。SOAPUI ツールのおかげで、リクエストを検証するのに役立ちました。

于 2011-10-27T13:46:17.507 に答える