为什么savon client.call使用带有有效负载而不是POST的GET请求?

问题描述:

client.call(:schedule_email_message, xml: '<soapelem />') # actually a GET request, with payload. Why not a POST request? 

萨翁宝石版本:2.11.1为什么savon client.call使用带有有效负载而不是POST的GET请求?

+0

@tjarrat你知道吗? – Magne

你怎么知道这是一个GET?

如果你看看lib/savon/operation.rb 94行(我的版本2.3.0),那么你会看到有一个HTTPI.post的引用。 Savon使用HTTPI gem作为您计算机上安装的任何httpclient gem的接口。 自从2.11.1以来,我不确定是否发生了变化。

https://github.com/savonrb/savon/blob/version2/lib/savon/operation.rb

+0

谢谢,是的,我注意到了我自己。我不完全确定,我会再调试一些。在调用中,Savon是否首先执行GET来获取WSDL,然后如果指定的方法(':schedule_email_message')在POST中,则是POST操作? – Magne

+0

我猜**它首先获取WSDL。我宁愿不使用WSDL,因为我认为它太琐碎。 –