如何解决此错误“(pre:svcFault) Service Fault”?
How to solve this error " (pre:svcFault) Service Fault"?
我正在尝试使用 Savon gem 调用 SOAP api。我收到以下错误:“(pre:svcFault) 服务故障”
我为请求创建了 header 和消息。
这是从 SoapUI 发送的请求:SoapUI request。
我从 SoapUI 得到了真实的回应。
我的代码如下所示:
class SoapApi
require 'savon'
def self.initialize
header = {
"ebmCID" => "9366498d-bc79-4fad-be2b-fa1a0e84241a",
"ebmMID" => "9366498d-bc79-4fad-be2b-fa1a0e84241a",
"ebmRTID" => "9366498d-bc79-4fad-be2b-fa1a0e84241a",
"ebmSID" => "FMobile-FCUBS",
"ebmTimestamp" => "2019-06-10T12:27:46.1623586Z",
}
message = {
customerId: '00653473'
}
client = Savon.client(
:wsdl => "https://192.168.176.103:8012/tevs/pp.pm.evs.Customer_1.2?wsdl",
:ssl_verify_mode => :none
)
response = client.call(
:get_account_list,
:soap_header => header,
:message => message
)
return response
end
end
我在这里调用上面的方法:
#index.html.erb
<%=
SoapApi.initialize
puts @response
%>
您在哪里可以使用 SoapUI 创建有效的调用 (https://www.soapui.org.)?先试试这个,让它工作。
接下来从一个普通的 ruby 脚本创建一个调用 - 没有 Rails - 它发送与之前在 SoapUI 中所做的相同的功能 XML。
第三次将此代码嵌入到您的 RoR 应用程序中。
您可以将以下内容放入您的客户端定义中以获得更好的日志记录:
client = Savon.client(
:wsdl => "https://192.168.176.103:8012/tevs/pp.pm.evs.Customer_1.2?wsdl",
:ssl_verify_mode => :none,
log: true,
log_level: :debug,
pretty_print_xml: true
)
将输出与您的工作 SoapUI 示例进行比较。
我正在尝试使用 Savon gem 调用 SOAP api。我收到以下错误:“(pre:svcFault) 服务故障”
class SoapApi
require 'savon'
def self.initialize
header = {
"ebmCID" => "9366498d-bc79-4fad-be2b-fa1a0e84241a",
"ebmMID" => "9366498d-bc79-4fad-be2b-fa1a0e84241a",
"ebmRTID" => "9366498d-bc79-4fad-be2b-fa1a0e84241a",
"ebmSID" => "FMobile-FCUBS",
"ebmTimestamp" => "2019-06-10T12:27:46.1623586Z",
}
message = {
customerId: '00653473'
}
client = Savon.client(
:wsdl => "https://192.168.176.103:8012/tevs/pp.pm.evs.Customer_1.2?wsdl",
:ssl_verify_mode => :none
)
response = client.call(
:get_account_list,
:soap_header => header,
:message => message
)
return response
end
end
我在这里调用上面的方法:
#index.html.erb
<%=
SoapApi.initialize
puts @response
%>
您在哪里可以使用 SoapUI 创建有效的调用 (https://www.soapui.org.)?先试试这个,让它工作。 接下来从一个普通的 ruby 脚本创建一个调用 - 没有 Rails - 它发送与之前在 SoapUI 中所做的相同的功能 XML。 第三次将此代码嵌入到您的 RoR 应用程序中。
您可以将以下内容放入您的客户端定义中以获得更好的日志记录:
client = Savon.client(
:wsdl => "https://192.168.176.103:8012/tevs/pp.pm.evs.Customer_1.2?wsdl",
:ssl_verify_mode => :none,
log: true,
log_level: :debug,
pretty_print_xml: true
)
将输出与您的工作 SoapUI 示例进行比较。