0

2つの文字列を入力として取得し、doubleを出力として返すメソッド「verifyTransaction」でWebサービスを使用したいと思います。そのために以下のコードを使用しました:

client = Savon::Client.new do |wsdl|
    wsdl.document = "https://www.myserver.com/ReferencePayment?WSDL"
end

response = client.request :wsdl, "verifyTransaction" do
  soap.body ={"RefNum" => "121312", "MerchantID" => "02233763"}
end

しかし、私はこのエラーを受け取りました:

Savon::SOAP::Fault ((env:Client) caught exception while handling request: unexpected encoding style: expected=http://schemas.xmlsoap.org/soap/encoding/, actual=)

Web上のすべてのリソースを読んでいますが、解決策が見つかりませんでした。これを手伝ってください。

4

1 に答える 1

0

SoapUIとSavonを使用して問題を解決しました。

SoapUIでWSDLを開き、サンプルリクエストを生成し、次のようにコピーしてSavonに貼り付けました。

client = Savon::Client.new do |wsdl|
    wsdl.document = "https://acquirer.sb24.com/ref-payment/ws/ReferencePayment?WSDL"
end

response = client.request "verifyTransaction" do
  soap.xml = 'XML will be here'
end

それはうまくいきました!:)

于 2011-11-02T17:37:42.280 に答える