我需要将一些 xml 发布到 web 服务,并且我正在尝试使用 HTTParty。有人可以举个例子来说明我如何这样做吗?
这是我需要发布的 XML 格式:
<Candidate xmlns="com.mysite/2010/10/10" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<FirstName></FirstName>
<LastName></LastName>
<Email></Email>
<Gender></Gender>
</Candidate>
到目前为止,这是我的课程:
require 'httparty'
class Webservice
include HTTParty
format :xml
base_uri 'mysite.com'
default_params :authorization => 'xxxxxxx'
def self.add_candidate(first_name,last_name,email,gender)
post('/test.xml', :body => "")
end
end
我不太确定如何充实 add_candidate。
任何帮助,将不胜感激。
Thanks.
你有两个选择。 HTTParty 允许您发布字符串或哈希值。
字符串版本将是:
post('/test.xml', :body => "<Candidate xmlns=\"com.mysite/2010/10/10\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><FirstName>#{first_name}</FirstName><LastName>#{last_name}</LastName><Email>#{email}</Email><Gender>#{gender}</Gender></Candidate>")
实用,但不美观。我会这样做:
post('/test.xml', :body => {
:Candidate => {
:FirstName => first_name,
:LastName => last_name,
:Email => email,
:Gender => gender,
}
}
现在,我无法确定端点是否需要命名空间,如果需要,哈希版本是否可以工作。如果是这种情况,您可能必须将主体作为字符串处理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)