我試圖查詢貨幣的netsuite api。以下SOAP請求適用於SOAP UI客戶端。但是我很難與Rubyy Savon Gem 0.9.7版本一起工作。香皂屬性
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:messages_2012_2.platform.webservices.netsuite.com" xmlns:urn1="urn:core_2012_2.platform.webservices.netsuite.com">
<soapenv:Header>
<urn:passport>
<urn1:email>[email protected]</urn1:email>
<urn1:password>xxx</urn1:password>
<urn1:account>xxx</urn1:account>
</urn:passport>
</soapenv:Header>
<soapenv:Body>
<urn:getAll>
<urn:record recordType="currency"/>
</urn:getAll>
</soapenv:Body>
</soapenv:Envelope>
基本上我不能在urn:record元素上設置屬性。以下不起作用:
response = client.request :urn, :get_all do
soap.body = { "urn:record" => { :attributes! => { "recordType" => "currency" } } }
end
請指教。
謝謝Steffen,它似乎挺身而出。但它現在失敗了,因爲我認爲它期望「soapenv:」作爲標題和正文標記的前綴而不是「env:」。你知道如何得到這個前綴嗎? –
明白了,它的'soap.env_namespace =「soapenv」'但沒有幫助,因爲它沒有發送肥皂頭。 –
終於用'soap.header = passport_header'設置了。其中passport_header是{ '甕:護照'=> { '金塔:電子郵件'=> NETSUITE_EMAIL, '甕:密碼'=> NETSUITE_PWD, '甕:帳戶'=> NETSUITE_ACCT }} –