我需要将一些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.
任何帮助,将不胜感激.
谢谢.
解决方法
你有两个选择. 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,} }
现在,我无法确定端点是否需要命名空间,如果是,则哈希版本是否有效.如果是这种情况,你可能不得不将身体作为一个字符串.