2

次の SOAP リクエストがあるとします。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://test.org/" xmlns:hon="http://schemas.datacontract.org/2004/07/TEST.RVU.Entity">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:Authenticate>
         <!--Optional:-->
         <tem:authenticationDet>
            <!--Optional:-->
            <hon:AccountType>0</hon:AccountType>
            <!--Optional:-->
            <hon:Password>bacon</hon:Password>
            <!--Optional:-->
            <hon:UserName>smith</hon:UserName>
         </tem:authenticationDet>
      </tem:Authenticate>
   </soapenv:Body>
</soapenv:Envelope>

tem: および hon: 名前空間を含む Savon gem を使用して有効な SOAP リクエストを書き留めるにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

追加の名前空間を設定する必要があります。

スクリプトは次のようになります。

#!ルビ

「サボン」が必要

Savon.configure do |c|
  c.pretty_print_xml = true
  c.env_namespace = :soapenv
終わり

client = Savon::Client.new do
  wsdl.namespace = "http://test.org"
  wsdl.endpoint = "http://www.your-real-endpoint.com"
終わり

resp = client.request :tem, '認証' do
  soap.namespaces["xmlns:hon"] = "http://schemas.datacontract.org/2004/08/TEST.RVU.Entity"
  soap.body = { "tem:authenticationDet" =>
                { "hon:AccountType" => 0,
                  "hon:パスワード" => "ベーコン",
                  "hon:UserName" => "smith" }
              }
終わり

于 2012-10-17T04:12:13.707 に答える