使用 Rails 和 Savon 2.0 使用 Web 服务时出错
Error consuming Web Service with Rails and Savon 2.0
我正在尝试使用 Rails 4 和 Savon 2.0 的测试 SOAP Web 服务。
代码:
client = Savon.client(wsdl: "http://www.webservicex.net/periodictable.asmx?WSDL",
log_level: :debug,
pretty_print_xml: true)
message = {ElementName: 'Zinc'}
response = client.call(:get_element_symbol, message)
日志中的错误:
Savon::UnknownOptionError (Unknown local option: :ElementName):
工作代码是:
client = Savon.client(wsdl: "http://www.webservicex.net/periodictable.asmx?WSDL",
log_level: :debug,
pretty_print_xml: true)
message = {'ElementName' => 'Zinc'}
response = client.call(:get_element_symbol, message: message)
符号在 Savon 2 中自动转换为蛇形,因此它将发送 element_name
而不是 ElementName
。因此,您应该改用字符串键。
此外,您的消息应包含在 message
参数下。
我正在尝试使用 Rails 4 和 Savon 2.0 的测试 SOAP Web 服务。
代码:
client = Savon.client(wsdl: "http://www.webservicex.net/periodictable.asmx?WSDL",
log_level: :debug,
pretty_print_xml: true)
message = {ElementName: 'Zinc'}
response = client.call(:get_element_symbol, message)
日志中的错误:
Savon::UnknownOptionError (Unknown local option: :ElementName):
工作代码是:
client = Savon.client(wsdl: "http://www.webservicex.net/periodictable.asmx?WSDL",
log_level: :debug,
pretty_print_xml: true)
message = {'ElementName' => 'Zinc'}
response = client.call(:get_element_symbol, message: message)
符号在 Savon 2 中自动转换为蛇形,因此它将发送 element_name
而不是 ElementName
。因此,您应该改用字符串键。
此外,您的消息应包含在 message
参数下。