【问题标题】:SOAP request works with SoapUI but not with Savon, how to debug?SOAP 请求适用于 SoapUI 但不适用于 Savon,如何调试?
【发布时间】:2017-08-29 12:15:46
【问题描述】:

我在 SoapUI 中测试了一个 SOAP API,它运行良好。

然后我使用 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-on-rails ruby-on-rails-4 soap ruby-on-rails-5 savon


    【解决方案1】:

    在 RoR 之外编写一个 Ruby 脚本,这样可能会有更多人能够提供帮助。我自己不知道 Rails 是如何工作的,但我当然知道一点 Ruby :-)。

    【讨论】:

      【解决方案2】:

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

      现在我用正确的 URL 覆盖 URL:

      client.wsdl.endpoint = URI.parse ENDPOINT_URL
      

      它又可以工作了。

      【讨论】:

      • 我从不使用 WSDL。我总是在没有它的情况下创建一个客户端。
      猜你喜欢
      • 2013-09-30
      • 1970-01-01
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2020-06-13
      • 2017-08-06
      相关资源
      最近更新 更多