Hello to all,
I want to send post request to third party api to retrieve token, where in header pass 'guid' as authorization. Like on picture in postman:
From postman works well, but when I want from business central I got 401 error.
This is my procedure in codeunit:
and on Employee Card I add action where call function from codeunit:
and got
But if remove 'content-type' I got 401 error.
Do you know where I am wrong? I try to pass 'Bearer' ,'Token', and 'Basic' without coding to base64 but same results
From AL you will typically need to add the token as a header just like Nitin showed you in his code sample.
Hi,
Try to get an idea from below code.
var
bulkArrayPayload: JsonArray;
JsonText: text;
Location: record Location;
RespMessage: text;
http_Client: HttpClient;
httpReqMsg: HttpRequestMessage;
httpResMsg: HttpResponseMessage;
http_Content: HttpContent;
http_Header: HttpHeaders;
serviceResponse: text;
URL: Text;
begin
RespStatus := '';
Clear(bulkArrayPayload);
clear(httpResMsg);
Clear(serviceResponse);
bulkArrayPayload.Add(JSOObject);
bulkArrayPayload.WriteTo(JsonText);
if CopyStr(JsonText, 1, 1) = '[' then begin
JsonText := CopyStr(JsonText, 2, StrLen(JsonText));
JsonText := CopyStr(JsonText, 1, StrLen(JsonText) - 1);
end;
http_Client.Clear();
http_Content.Clear();
http_Content.WriteFrom(JsonText);
http_Content.GetHeaders(http_Header);
http_Header.Clear();
http_Client.DefaultRequestHeaders.Add('Authorization', 'Bearer ' + APIKey + '');
http_Header.Add('Content-Type', 'application/json');
if http_client.Post(APIURL, http_Content, httpResMsg) then begin
httpResMsg.Content.ReadAs(serviceResponse);
RespStatus := 'Pass';
if (httpResMsg.HttpStatusCode <> 200) or (StrPos(serviceResponse, 'error') > 0) then
RespStatus := 'Failed';
end;
exit(serviceResponse);
end;
|
hi DAnny3211 thank you very much.
I wanted to ask you do you know how to pass parameters into httpbody?
I have that one GUID parameter for authorization into header, but have two parameters (Username, Password) into body. But don't know how to pass that values in AL.
hi
I think the guid problem is over
this error, on the other hand, I don't know exactly what it is due to
but I enclose this
stackoverflow.com/.../could-not-establish-trust-relationship-for-ssl-tls-secure-channel-soap
check my answer if it helped you, thanks
DAniele
Yes you are right.
It seems space in and other non hex letters are problem too.
Now I try another api but get this error:
An error occurred while sending the request. The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
do you know what that could be?
hello
try making the variable GUIDTOK: Guid and not as text
DAniele
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,253 Super User 2024 Season 2
Martin Dráb 230,188 Most Valuable Professional
nmaenpaa 101,156