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

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


Thank you for your input.


I looked into our cert using ssllabs.com/ssltest   and saw:


"This site works only in browsers with SNI support"


Is that what you mean?   And that Istanbul doesn't support it and therefore won't initiate that handshake?



I'm upgrading my personal instance to Jakarta now and will try this ASAP.


However I don't have a script that executes this REST Message, I'm just testing it from the 'Test' Related Link.


Do I need to execute it from a script (using 'glide.outbound.tls_sni.enabled') to get it to work?


Hi Charlie



So in your jakarta instance go to 'All Properties' and search for 'glide.outbound.tls_sni.enabled'


If it doesnt exist add it. Then set it to 'true'.



After that you can test using script or the test related link as they will be the same.



Cheers


Mohamad


I have good and bad news, after upgrading my personal instance to Jakarta.



Bad news - after reading about this property, I can't find it.   You say " in your jakarta instance go to 'All Properties' and search for 'glide.outbound.tls_sni.enabled'" but if I type "all properties" in the filter navigator there are no results.



Good news - it just works now.   I went to my existing REST Message which always returned 500, now returns 200 and the Response body is correct.



So for me at least, the answer was "upgrade to Jakarta".   Thank you all again for your time.


harishdasari
Tera Guru

Hi Charlie,



If you are not giving the input parameters and trying to use GET or POST methods it will return 500 error.



Thanks