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.
- 它的工作在我的应用程序现在
- 它不会在我的应用程序工作了
- 在了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
并再次工作。
我从不使用WSDL。我总是没有它创建一个客户端。 –