Mar*_*s W 3 ruby soap wsdl ruby-on-rails savon
我在Ruby on Rails中使用Savon gem与wsdl WS进行通信.一切正常,但我想使用自定义日志记录请求XML,即不是Rails或Savon记录器.我的代码看起来像这样:
response = self.client.request :add_order do
soap.body = {
:indata => {
"CustomerNo" => config[:kundnr],
"Pwd" => config[:password],
"OrderDate" => order["purchase_order_date"].strftime('%Y%m%d')
}
}
end
Run Code Online (Sandbox Code Playgroud)
访问响应没有问题,但请求怎么办?我需要通过将XML记录到DB字段来查看生产环境中发送的内容.
现在,没有简单的方法来获取请求XML.但是正如您所注意到的,Savon会将每个请求和响应记录到指定的记录器中.因此,如果您不更改日志级别,则可以使用类似Logger的自定义对象来响应:debug并存储记录的内容.
module DBLogger
def self.debug(message)
p message # replace with custom impl.
end
end
Savon.configure do |config|
config.logger = DBLogger
end
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
| 归档时间: |
|
| 查看次数: |
5860 次 |
| 最近记录: |