Hi,
I am trying to make a remote call with HttpClientRequest to reach a Web Service. I can see that the http request is made (both POST or GET seems to work ok ), but I am finding some troubles to:
- Get the content of the response itself that is returned from the server. I can not even find the response headers.
- Also, I don't know how to deal with http Basic authentication. Should I set some particular headers?
Do you know of any reference or some help that I can use to !work out both topics below?
Thanks very much in advance
Guillermo
Solved! Go to Solution.
Try the following
var http = new HttpClientRequest("yourhost.com")
http.execute()
var response = http.response
for(var i in response.header)
logInfo("header[" + i + "] => " + response.header[i])
Should give you something like
Play around with this in a workflow, you'll get the idea.
Views
Replies
Total Likes
Thanks David,
Actually this is what I was doing to make the request I meant before, but in the response I can not find anything related to the reply from the server.
Views
Replies
Total Likes
Try the following
var http = new HttpClientRequest("yourhost.com")
http.execute()
var response = http.response
for(var i in response.header)
logInfo("header[" + i + "] => " + response.header[i])
Should give you something like
Thanks David. I was trying to see the contents of the object returned with
JSON.stringify(response)
and did not get any output. Now with your help I am receiving what I was expecting.
Is anyone able to help with the http Basic authentication headers?
Views
Replies
Total Likes
You should use the following:
var API = 'http://yourwebserviceendpoint.com'
var http = new HttpClientRequest(API);
http.method = "GET";
http.header["Content-Type"] = "application/json";
http.header["Accept"] = "application/json";
http.header["Authorization"] = "Basic Z3XNlbmRleHRlc3QxQGdtYWlsLmNvbTpsb2dpbjEyMzQ="; // replace with your authorization code
http.execute();
var response = http.response;
Regards,
Amit
Hi Amit,
I am trying to get the access token using the POST method using in the javascript activity with the reference of the above code. I am passing the Client_id, Client_secret, Grant_Type, and Scope in the header only like above. However getting an error like "invalid_client", "unsupported_grant_acess".
Can you please help me with the code for POST method to get the access token with client_id, client_secret, Grant_Type, and Scope to be passed in the body?
Thanks,
Raviteja Gundu.
Views
Replies
Total Likes
Hi Team,
The issue is resolved now. We need to send the grant type, client_id, client_secret in body as a query string. We were able to get the access token now.
http.body="grant_type=<value>&client_id=<value>&client_secret=<value>&scope=<value>";
Hope it will help someone.
Thanks,
Raviteja Gundu.
Views
Replies
Total Likes
Thanks Amit, works like a charm.
Regards
Guillermo
Views
Replies
Total Likes
Hello fellow campaigners,
can we send http request without authorizing the domains in the config?
I need to ping urls from JS activity
Views
Replies
Total Likes
Hi Marcel,
I don't think you need to add any authorization as far as I remember but I'm not 100% sure to be honest.
Regards
Guillermo
Views
Replies
Total Likes
Marcel, you must white list outbound url that you will be making the request to.
OCT -31- 2017 Campaign v6/v7 - 17.4 Build 8863
Technical evolutions
URL permissions
We have limited the default list of URLs that can be called by JavaScript codes (workflows, etc.). To allow a new URL, the administrator needs to reference it in the serverConf.xml file.
<urlPermission action="blocking" debugTrace="true"> <url dnsSuffix="abc.company1.com" urlRegEx="https://.*" /> <url dnsSuffix="def.partnerA_company1.com" urlRegEx="https://.*" /> <url dnsSuffix="xyz.partnerB_company1.com" urlRegEx="https://.*" /> </urlPermission>
Refer to the Security configuration checklist for more information.
Views
Replies
Total Likes