SOAP请求适用于SoapUI,但不适用于Savon,如何调试?

问题描述:

我在SoapUI中测试了一个SOAP API,它工作得很好。SOAP请求适用于SoapUI,但不适用于Savon,如何调试?

然后,我使用Savon在我的Rails 5应用程序中实现了相同的请求。它工作了几个星期,然后停止工作。 SoapUI仍然有效,所以API提供者当然会告诉我这个错误出现在我的应用程序中。

我得到的错误是非常通用:

404 not found 
The requested URL was not found on this server. 
  1. 它的工作在我的应用程序现在
  2. 它不会在我的应用程序工作了
  3. 在了SoapUI请求工作

我尝试将log_level: :debug添加到我的客户端,但没有得到任何更多的细节。

client = Savon.client(wsdl: 'URL') 
response = client.call(:action, message: {}) 

关于如何开始调试的任何想法?

写一个Ruby脚本外部的然后更多的人可能会帮助。我自己不知道Rails是如何工作的,但我当然知道一些Ruby :-)。

我能解决这个问题。我不知道这是不是Savon Bug,但Savon从WSDL中提取了错误的Endpoint URL,而SoapUI提取了正确的Endpoint URL。

现在我重写URL以正确的:

client.wsdl.endpoint = URI.parse ENDPOINT_URL 

并再次工作。

+0

我从不使用WSDL。我总是没有它创建一个客户端。 –