在SOAP请求中,我需要指定具有不同值的重复键,如下所示:
soap.body = {:query => {
:fields => {
:string => 'Email',
:string => 'FirstName',
:string => 'LastName'
}
}
使用此哈希,请求将形成:
<query><fields><string>LastName</string></fields></query>
最后一个:字符串对。所以,如果我把:
soap.body = {:query => {
:fields => "<string>Email</string>FirstName<string></string>LastName<string></string>"
}
这将导致:
<fields><string>Email</string><string>FirstName</string><string>LastName</string></fields>
有没有办法在哈希中得到这个?:
<query><fields><string>Email</string><string>FirstName</string><string>LastName</string></fields></query>
注意:我正在使用Ruby 1.8.7。
答案 0 :(得分:1)
你的第一个代码不起作用,这不是Savon的错,哈希中的重复键只是被覆盖。你尝试过阵列吗?
soap.body = {
:query => {
:fields => {:string => ['Email', 'FirstName', 'LastName'],
}
}