2017 ensemble POST not working and not giving any error
Please find the code below, which is working fine in IRIS 2020.1 but not in cache 2017.
$$$LOGINFO("InvokeTokenAPI...")
try
{
Set httpRequest= ##class(%Net.HttpRequest).%New()
Set httpRequest.Server = ..Adapter.HTTPServer
Set httpRequest.Location = ..Adapter.URL
Set httpRequest.SSLConfiguration = ..Adapter.SSLConfig Set httpRequest.Https = $$$YES
Set httpRequest.ContentType = "application/x-www-form-urlencoded" do httpRequest.InsertFormData("grant_type", pRequest.grantType)
do httpRequest.InsertFormData("username", pRequest.username)
do httpRequest.InsertFormData("password", pRequest.password) Set sc = httpRequest.Post("", 2) $$$LOGINFO("post"_httpRequest.HttpResponse)
}
catch ex
{
$$$LOGINFO("Exception:" _ex) }
This code is working fine and giving the resonse in IRIS2020.1 in mylocal. Same code is not working in cache 2017.
Could you please suggest change to make it work in cache 2017,.
Thanks,
Prashanth
Hi All
Set sc = httpRequest.Post("", 2)
I tried to sc to loginfo below output I received. Any clue to resolve this issue. Please help me.
0 api.ss1.docmansandpit.com*.docmansandpit.comÖ
ENSEMBLEÇ'e^zCheckSSLCN+48^%Net.HttpRequest.1^1"e^zSend+188^%Net.HttpRequest.1^1 e^zPost+1^%Net.HttpRequest.1^1Se^zinvokeTokenAPI+13^THH.DocmanConnect.BusinessOperation.DocmanConnectTokenOP.1^1Re^zMessageHandler+6^THH.DocmanConnect.BusinessOperation.DocmanConnectTokenOP.1^1Ye^zMessageHeaderHandler+23^THH.DocmanConnect.BusinessOperation.DocmanConnectTokenOP.1^1e^zOnTask+42^Ens.Host.1^1e^zStart+62^Ens.Job.1^2$d^StartEnsembleJob+6^|"%SYS"|STU^1d^^^0
If I try to replicate some of these steps in my instance of Cache 2016, I get an error at:
Set httpRequest.Https = $$$YES
Does it make a difference if you try:
Set httpRequest.Https = 1
Thanks David,
I have tried but no difference, seems SSL issue. I will check network team tomorrow to resolve any proxy settings.
Did you created ssl config into management portal?
Hi Yuri,
Yes I have created one by downloading certificate form browser as .cer file. But when i tested getting error handshake failed. Will try gain. Thanks a lot.
Can you compare the certificate chain between your local system and the cache instance ? It could be possible your local instance trusts the root CA in the certificate chain but the server where cache instance is doesn't.
Hi Prashanth,
Based on the error status, this looks like an invalid SSL certificate on the REST endpoint. The certificate name is "*.docmansandpit.com" but the server name is "api.ss1.docmansandpit.com". The certificate would need to have "*.ss1.docmansandpit.com" to cover that domain. I would try calling the same endpoint in another test client (or even a web browser) to see if it gives you the same certificate error. If so you would have to get in touch with the owner of that API to fix their certificate.
If you're only able to replicate the issue in your Caché instance I would contact InterSystems Support.
As a last resort, you can probably disable checking the server certificate by doing:
This is not recommended because it's insecure, but it might be useful as a debugging tool.
Hi Pravin,
Thanks for your immediate support.
Yes it seems SSL issue. But similar configuration in my laptop (local) . But my TEST-CLUSTER which is 2017 cache , i am getting issue. If version issue is not there then I am suspecting some firewall issue in test-cluster.
After checking with Network team , I will update more details.
Thanks again
Social networks
InterSystems resources
Log in or sign up
Log in or create a new account to continue
Log in or sign up
Log in or create a new account to continue
Log in or sign up
Log in or create a new account to continue