The CreatorCon Call for Content is officially open! Get started here.

Outbound REST Message returns 500

charliesdev
Giga Expert

I have a hosted REST endpoint that can be successfully hit from:

web:   https://webopstest.osmose.com/MgmtToolsApi/api/Authorization/AuthorizationTokenAsJSON/17/serv_utilii...

fiddle: https://jsfiddle.net/48o0xgxq/2/  

and Postman, iPhone, etc

But testing it using a REST Message object always fails with 500.

I see in my server log (on webopstest) that the endpoint is being hit from servicenow and returns 200.

it's a simple 'get' with no authentication.   should just return a string wrapped in a JSON object.

I'm on Istanbul, build 6 I believe.   Oh, also I'm a n00b, so don't assume that I haven't missed something simple.

1 ACCEPTED SOLUTION

mohamadcharafed
ServiceNow Employee
ServiceNow Employee

Hi Charlie,



It looks like your certificate is using SNI which is not supported until Jakarta


If you have a Jakarta instance set 'glide.outbound.tls_sni.enabled' property to true and test your endpoint and it will work. (this property wont work on instances before jakarta)



Cheers


Mohamad


View solution in original post

29 REPLIES 29

Hi Charlie,



I Suggest you please read the complete REST documentation of 3rd party application. you will get some idea what needs to be used as parameter.



For example, if you are integrating with weather API, then you have to provide CITY as the input Parameter and London as the Value of this Parameter.


So it will retrieve the weather of London City.



So check documentation you will find some clue what should be input parameters.



Without input parameter system cannot understand what you to retrieve from the third party system.



can I know with which 3rd party application you are trying to integrate ?



Thank you.


Sorry, I still don't understand what you're suggesting.


Our endpoint doesn't take any parameters.


There's no authentication, just plain and simple:


https://webopstest.osmose.com/MgmtToolsApi/api/Authorization/AuthorizationTokenAsJSON/17/serv_utilii...


it returns a string wrapped in a JSON object.



I have played with the 'Yahoo Finance' example and it works fine for me.


I understand what a parameter is, are you suggesting that Outbound REST Messages must have a parameter?



The 3rd party API I am integrating from service-now is our own, home-grown web service.


venkatiyer1
Giga Guru

Hi Charlie,



I can confirm that it works well in Jakarta once we add the property Server Name Indication for outbound web services with a boolean type and set it to True. Without that we get a socket error. Thanks to @Mohamad to have highlighted this property. It works very well.


Thank you for verifying this.


My personal dev instance is currently being updated to Jakarta.


I'll try it there and respond to (and hopefully close) this thread..


charliesdev
Giga Expert

Okay, last post here.


I was able to find "all properties" by entering this in the filter navigator:   sys_properties.list


Searched on Name for "glide.outbound" but there is no match for "glide.outbound.tls_sni.enabled".


So I'm still confused, it seems like setting that to true was required to get this to work for Venkat Iyer (response from 10:13AM), but not for me.


Maybe the latest patch of Jakarta makes it so you don't need to set this.