我正在使用Savon 2.6来实现SOAP服务的客户端。 我必须在数据库中保存原始请求和原始响应。 获取原始XML响应不是问题,但我如何获得原始XML请求?
我以下列方式使用Savon:
client = Savon.client(wsdl: "http://blabla.com/bla.wdsl")
response = client.call(:operation_name, message: {param1: "a", param2: "b'})
response.to_xml # => get raw XML response
答案 0 :(得分:1)
您可以破解Client class和Operation class中的代码。
我所做的是在Operation
中添加一个返回请求的方法。在Client#call
中,我将请求设置为实例变量,并为其添加了一个getter。
编辑: 如果Operation#build_request仍然像我三年前第一次发布它时所做的那样:
def request(locals = {}, &block)
builder = build(locals, &block)
build_request(builder)
end
可能就是你要找的东西。
答案 1 :(得分:0)
我正在使用Savon 2.12,您可以使用类似这样的方法来获取将在请求中发送的内容:
List<User> list = dgvList.Items
.OfType<User>()
.Where(x => x.Checked == true)
.ToList();