我的SOAP文档中的标题需要具有如下属性:
<soap:Header>
<eWAYHeader xmlns="https://www.eway.com.au/gateway/managedpayment">
<eWAYCustomerID>string</eWAYCustomerID>
<Username>string</Username>
<Password>string</Password>
</eWAYHeader>
Run Code Online (Sandbox Code Playgroud)
eWAYHeader需要一个xmlns属性.
我试过了
def create_customer(customer, card)
response = @client.request(:create_customer, "xmlns" => "https://www.eway.com.au/gateway/managedpayment") do
soap.header = header
soap.body = create_customer_body(customer, card)
end
end
private
def header
{
"eWAYHeader" => {
:attributes! => { :xmlns => 'http://www.eway.com.au/gateway/managedpayment' },
"eWayCustomerID" => '87654321',
"Username" => 'test@eway.com.au',
"Password"=> 'test123'
}
}
end
Run Code Online (Sandbox Code Playgroud)
但属性!条目被忽略.
soap.header只接受Hash作为参数,所以我不能只使用字符串设置它的值.
我如何在Savon实现这一目标?
谢谢,
马丁
你可以通过这样做来实现
soap.header = {
"eWAYHeader" => {
"eWayCustomerID" => '87654321',
"Username" => 'test@eway.com.au',
"Password"=> 'test123'
},
:attributes! => {"eWAYHeader" => { :xmlns => 'http://www.eway.com.au/gateway/managedpayment' } }, }
Run Code Online (Sandbox Code Playgroud)