如何使用savon gem调用api

时间:2017-02-13 16:03:22

标签: ruby-on-rails ruby api servicenow

我在我的rails应用程序中使用savon gem来调用service_now api。我想打电话给api进行更新说明。我有更新的网址

https://servicenow.com/xyzlist?JSONv2&sysparm_query=number='xyz123'&sysparm_action=update&displayvalue=true

body "comments":"updated description" 

以上在邮递员中工作得很好。但是我怎样才能将这个参数传递给我的本地rails应用程序进行更新

我使用以下代码创建门票。

client = Savon.client(wsdl: "https://servicenow.com/xyzlist.do?WSDL",basic_auth: ['xyz', 'abc'], log: true, log_level: :debug, pretty_print_xml: true)

response =  client.call(:insert, message: params)

你能帮助我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您在示例代码中引用了两个不同的API:JSONv2和SOAP。

两个问题:1)您是否需要使用SOAP,或者您可以使用REST吗? (Rails应该支持这个没有问题)和2)你使用的是什么版本的ServiceNow?如果您正在运行日内瓦或更高版本并且您能够使用REST,那么您应该使用REST Table API进行新的集成,而不是JSONv2。

请参阅此处的文档以获取示例:

https://developer.servicenow.com/app.do#!/rest_api_doc?v=istanbul&id=r_TableAPI-PUT