MARX#62647: Koppeling AX365 - Mareon (Push): gegevens/inrichting tbv 2e identity-server voor Saxton statusberichten + verbetering url StatusLog
svn path=/Mareon/trunk/; revision=49486
This commit is contained in:
@@ -1,47 +1,64 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// A365_GetToken.js
|
||||
// GetToken.js
|
||||
// Copyright 2019 Facilitor. 053-4800 700, helpdesk@mareon.nl
|
||||
// Written by MB (2019)
|
||||
//
|
||||
|
||||
function A365_GetToken (){
|
||||
return MARX_GetToken();
|
||||
function A365_supplierservice_GetToken (){
|
||||
var v_token;
|
||||
v_token = MARX_GetToken(G_ID_ax365_supplierservice_url, G_ID_ax365_supplierservice_client_id, G_ID_ax365_supplierservice_client_secret, G_ID_ax365_supplierservice_grant_type, G_ID_ax365_supplierservice_resource, G_ID_ax365_supplierservice_scope);
|
||||
WriteSupplierserviceToken2File(v_token);
|
||||
return v_token;
|
||||
}
|
||||
|
||||
function A2012_GetToken (){
|
||||
return MARX_GetToken();
|
||||
function A365_saxton_GetToken (){
|
||||
var v_token;
|
||||
v_token = MARX_GetToken(G_ID_saxton_url, G_ID_saxton_client_id, G_ID_saxton_client_secret, G_ID_saxton_grant_type, G_ID_saxton_resource, G_ID_saxton_scope);
|
||||
WriteSaxtonToken2File(v_token);
|
||||
return v_token;
|
||||
}
|
||||
|
||||
function MARX_GetToken ()
|
||||
function A2012_saxton_GetToken (){
|
||||
var v_token;
|
||||
v_token = MARX_GetToken(G_ID_saxton_url, G_ID_saxton_client_id, G_ID_saxton_client_secret, G_ID_saxton_grant_type, G_ID_saxton_resource, G_ID_saxton_scope);
|
||||
WriteSaxtonToken2File(v_token);
|
||||
return v_token;
|
||||
}
|
||||
|
||||
function MARX_GetToken (v_url, v_client_id, v_client_secret, v_grant_type, v_resource, v_scope)
|
||||
{
|
||||
|
||||
l_request_body = "client_id=" + G_ID_client_id
|
||||
+ "&client_secret=" + G_ID_client_secret
|
||||
+ "&grant_type=" + G_ID_grant_type;
|
||||
// G_ID_resource is optioneel, in geval van AX365 is derze wel gevuld (en in AX2012 niet)
|
||||
if (G_ID_resource != "")
|
||||
l_request_body = l_request_body + "&resource=" + G_ID_resource;
|
||||
// G_ID_scope is optioneel, in geval van AX365 is deze LEEG en in AX2012 is deze gevuld
|
||||
if (G_ID_scope != "")
|
||||
l_request_body = l_request_body + "&scope=" + G_ID_scope;
|
||||
l_request_body = "client_id=" + v_client_id
|
||||
+ "&client_secret=" + v_client_secret
|
||||
+ "&grant_type=" + v_grant_type;
|
||||
// v_resource is optioneel, in geval van AX365 is deze WEL gevuld (en in AX2012 NIET)
|
||||
if (v_resource != "")
|
||||
l_request_body = l_request_body + "&resource=" + v_resource;
|
||||
// v_scope is optioneel, in geval van AX365 is deze LEEG en in AX2012 is deze WEL gevuld
|
||||
if (v_scope != "")
|
||||
l_request_body = l_request_body + "&scope=" + v_scope;
|
||||
|
||||
var v_type = 1;
|
||||
var v_contenttype = "application/x-www-form-urlencoded";
|
||||
__Log("MARX_GetToken: Nieuwe token opgehaald" ,2);
|
||||
var v_resp = apiIDentity(G_ID_url, l_request_body, v_type, v_contenttype, 0);
|
||||
var v_resp = apiIDentity(v_url, l_request_body, v_type, v_contenttype, 0);
|
||||
var json_resp = JSON.parse(v_resp);
|
||||
|
||||
var v_token = json_resp.access_token;
|
||||
WriteToken2File(v_token);
|
||||
|
||||
return v_token;
|
||||
}
|
||||
|
||||
function GetTokenFolder()
|
||||
function GetSupplierserviceTokenFolder()
|
||||
{
|
||||
return "MStoken/";
|
||||
}
|
||||
|
||||
function GetSaxtonTokenFolder()
|
||||
{
|
||||
return "SAXtoken/";
|
||||
}
|
||||
|
||||
|
||||
function GetTokenFileName()
|
||||
{
|
||||
return G_bedrijf_key;
|
||||
@@ -52,17 +69,36 @@ function GetTokenFileExt()
|
||||
return "txt";
|
||||
}
|
||||
|
||||
function WriteToken2File(v_token){
|
||||
var v_token_folder = GetTokenFolder();
|
||||
|
||||
function WriteSupplierserviceToken2File(v_token){
|
||||
var v_token_folder = GetSupplierserviceTokenFolder();
|
||||
if (!fso.FolderExists(v_token_folder)) fso.CreateFolder(v_token_folder);
|
||||
var v_token_filenaam = GetTokenFileName();
|
||||
var v_token_file_ext = GetTokenFileExt();
|
||||
WriteText2File(v_token_folder, v_token_filenaam, v_token_file_ext, v_token, 0, 0);
|
||||
}
|
||||
|
||||
function ReadTokenFromFile(){
|
||||
function WriteSaxtonToken2File(v_token){
|
||||
var v_token_folder = GetSaxtonTokenFolder();
|
||||
if (!fso.FolderExists(v_token_folder)) fso.CreateFolder(v_token_folder);
|
||||
var v_token_filenaam = GetTokenFileName();
|
||||
var v_token_file_ext = GetTokenFileExt();
|
||||
WriteText2File(v_token_folder, v_token_filenaam, v_token_file_ext, v_token, 0, 0);
|
||||
}
|
||||
|
||||
function ReadSupplierserviceTokenFromFile(){
|
||||
var l_token = "";
|
||||
var v_token_folder = GetTokenFolder();
|
||||
var v_token_folder = GetSupplierserviceTokenFolder();
|
||||
var v_token_filenaam = GetTokenFileName();
|
||||
var v_token_file_ext = GetTokenFileExt();
|
||||
var v_file = v_token_folder + v_token_filenaam + "." + v_token_file_ext
|
||||
l_token = ReadLineAsciiFile (v_file);
|
||||
return l_token;
|
||||
}
|
||||
|
||||
function ReadSaxtonTokenFromFile(){
|
||||
var l_token = "";
|
||||
var v_token_folder = GetSaxtonTokenFolder();
|
||||
var v_token_filenaam = GetTokenFileName();
|
||||
var v_token_file_ext = GetTokenFileExt();
|
||||
var v_file = v_token_folder + v_token_filenaam + "." + v_token_file_ext
|
||||
|
||||
@@ -42,7 +42,7 @@ function A365_StatusLog(v_company_id, v_statuscode, v_purchId, v_extraInfo, v_da
|
||||
if (v_communicatie_logboek_vereist == 0 || G_mar_communicatielogboek == 1){
|
||||
|
||||
// Gedeelte van het URL pad naar de webservice "StatusLog"
|
||||
var v_API = "api/v0.1/" + v_company_id + "/StatusLog";
|
||||
var v_API = "api/v0.1/" + v_company_id + "/Maintenance/StatusLog";
|
||||
|
||||
|
||||
if (v_dateTime == "-1"){
|
||||
|
||||
@@ -119,6 +119,11 @@ function FCLT_2_AX2012_AcceptRefuseOpdracht(){
|
||||
F_GetOpdrachten_AcceptRefuse();
|
||||
}
|
||||
|
||||
// ----------------------------- AX365 functies -----------------------------------------
|
||||
function FCLT_2_AX365_OpdrachtStatus_Bijlagen(){
|
||||
F_GetOpdrachten_Statussen();
|
||||
}
|
||||
|
||||
// ----------------------------- Tobias functies -----------------------------------------
|
||||
function Tobias_2_FCLT_Opdrachten(){
|
||||
T_GetOpdrachten();
|
||||
@@ -342,11 +347,11 @@ function Ax2012_2_FACILITOR()
|
||||
//Bijlages naar AX2012 kan alleen via Token icm Saxton AX-webservice(s). Op soortgelijke (bijna identieke wijze) als AX365.
|
||||
//---------------
|
||||
__Log("*** START AX2012 --> FCLT : Get Token ***", 2);
|
||||
G_Token = ReadTokenFromFile();
|
||||
__Log("G_Token ReadTokenFromFile:" + G_Token, 4);
|
||||
if (G_Token == ""){
|
||||
__Log("G_Token ReadTokenFromFile is leeg:", 4);
|
||||
G_Token = A2012_GetToken();
|
||||
G_Token_saxton = ReadSaxtonTokenFromFile();
|
||||
__Log("G_Token_saxton ReadSaxtonTokenFromFile:" + G_Token_saxton, 4);
|
||||
if (G_Token_saxton == ""){
|
||||
__Log("G_Token_saxton ReadSaxtonTokenFromFile is leeg:", 4);
|
||||
G_Token_saxton = A2012_saxton_GetToken();
|
||||
}
|
||||
__Log("*** END Get Token", 2);
|
||||
//---------------
|
||||
@@ -384,18 +389,47 @@ function Ax2012_2_FACILITOR()
|
||||
function AX365_2_FACILITOR()
|
||||
{
|
||||
|
||||
__Log("*** START AX365 --> FCLT : Get Token ***", 2);
|
||||
if (G_ID_saxton_url != "" && G_push_notifyqueue == "1")
|
||||
{
|
||||
__Log("*** START AX365 --> FCLT : Get AX Saxton Token ***", 2);
|
||||
G_Token_saxton = ReadSaxtonTokenFromFile();
|
||||
__Log("G_Token_saxton ReadSaxtonTokenFromFile:" + G_Token_saxton, 4);
|
||||
if (G_Token_saxton == ""){
|
||||
__Log("G_Token_saxton ReadSupplierserviceTokenFromFile is leeg:", 4);
|
||||
G_Token_saxton = A365_saxton_GetToken();
|
||||
}
|
||||
__Log("*** END Get AX Saxton Token", 2);
|
||||
|
||||
// Statusinformatie en evt bijlagen van Mareon -> AX365
|
||||
__Log("*** START FCLT --> AX365 : Verwerken van ALLE opdrachtstatussen + bijlagen uit Mareon Facilitor naar AX365 obv notifyqueue ***", 2);
|
||||
FCLT_2_AX365_OpdrachtStatus_Bijlagen();
|
||||
__Log("*** END", 2);
|
||||
|
||||
}
|
||||
else{
|
||||
__Log("*** AX365: Status berichten NIET ingesteld", 2)
|
||||
}
|
||||
|
||||
if (G_ID_ax365_supplierservice_url != "")
|
||||
{
|
||||
__Log("*** START AX365 --> FCLT : Get Supplierservice Token ***", 2);
|
||||
|
||||
G_Token_supplierservice = ReadSupplierserviceTokenFromFile();
|
||||
__Log("G_Token_supplierservice ReadSupplierserviceTokenFromFile:" + G_Token_supplierservice, 4);
|
||||
if (G_Token_supplierservice == ""){
|
||||
__Log("G_Token_supplierservice ReadSupplierserviceTokenFromFile is leeg:", 4);
|
||||
G_Token_supplierservice = A365_supplierservice_GetToken();
|
||||
}
|
||||
__Log("*** END Get Supplierservice Token", 2);
|
||||
|
||||
// Facturen van Mareon -> AX365, in de functie FACILITOR_2_Xtractor wordt zelf bekeken of dit WEL/NIET via pushnotificatie verloopt...
|
||||
FACILITOR_2_Xtractor();
|
||||
}
|
||||
else{
|
||||
__Log("*** AX365: Facturen koppeling NIET ingesteld", 2);
|
||||
}
|
||||
|
||||
G_Token = ReadTokenFromFile();
|
||||
__Log("G_Token ReadTokenFromFile:" + G_Token, 4);
|
||||
if (G_Token == ""){
|
||||
__Log("G_Token ReadTokenFromFile is leeg:", 4);
|
||||
G_Token = A365_GetToken();
|
||||
}
|
||||
__Log("*** END Get Token", 2);
|
||||
|
||||
// Facturen van Mareon -> AX365
|
||||
FACILITOR_2_Xtractor();
|
||||
}
|
||||
|
||||
function Tobias_2_FACILITOR()
|
||||
@@ -591,8 +625,12 @@ var G_ax2012_url_serviceax = Read_Ini_Setting("ax2012","url_serviceax");
|
||||
var G_ax2012_logonAs = Read_Ini_Setting("ax2012", "logonAs");
|
||||
var G_ax2012_bcProxy = Read_Ini_Setting("ax2012", "bcProxy");
|
||||
|
||||
var G_ax365_url = Read_Ini_Setting("ax365","url");
|
||||
var G_Token = "";
|
||||
var G_ax365_url_supplierservice = Read_Ini_Setting("ax365","url");
|
||||
var G_Token_supplierservice = "";
|
||||
|
||||
var G_ax365_url_serviceax = Read_Ini_Setting("ax365","url_serviceax");
|
||||
var G_Token_saxton = "";
|
||||
|
||||
// In een (1) sync sessie mogen er max 3 x een poging worden gedaan (= eigen keuze) om een Token op te halen indien deze expired zou zijn (om niet in oneindige loop te raken).
|
||||
var G_AX365_Allowed_Get_Token = 3;
|
||||
|
||||
@@ -612,13 +650,22 @@ var G_pdf_xtractorfolder = Read_Ini_Setting("xtractor","pdffolder");
|
||||
var G_ax_succeededfolder = Read_Ini_Setting("xtractor", "succeededfolder");
|
||||
var G_ax_rejectedfolder = Read_Ini_Setting("xtractor", "rejectedfolder");
|
||||
|
||||
// Microsoft Token instellingen
|
||||
var G_ID_url = Read_Ini_Setting("identityserver","token/url");
|
||||
var G_ID_client_id = Read_Ini_Setting("identityserver","token/client_id");
|
||||
var G_ID_client_secret = Read_Ini_Setting("identityserver","token/client_secret");
|
||||
var G_ID_grant_type = Read_Ini_Setting("identityserver","token/grant_type");
|
||||
var G_ID_resource = Read_Ini_Setting("identityserver","token/resource");
|
||||
var G_ID_scope = Read_Ini_Setting("identityserver","token/scope");
|
||||
// Identity Token instellingen voor de AX Saxton webservice 'CustomerPortalAX'
|
||||
var G_ID_saxton_url = Read_Ini_Setting("identityserver","token/url");
|
||||
var G_ID_saxton_client_id = Read_Ini_Setting("identityserver","token/client_id");
|
||||
var G_ID_saxton_client_secret = Read_Ini_Setting("identityserver","token/client_secret");
|
||||
var G_ID_saxton_grant_type = Read_Ini_Setting("identityserver","token/grant_type");
|
||||
var G_ID_saxton_resource = Read_Ini_Setting("identityserver","token/resource");
|
||||
var G_ID_saxton_scope = Read_Ini_Setting("identityserver","token/scope");
|
||||
|
||||
// Identity Token instellingen voor de AX365 webservice 'SupplierService' MSMSupplierPortal
|
||||
var G_ID_ax365_supplierservice_url = Read_Ini_Setting("ax365","supplierservice/identityserver/token/url");
|
||||
var G_ID_ax365_supplierservice_client_id = Read_Ini_Setting("ax365","supplierservice/identityserver/token/client_id");
|
||||
var G_ID_ax365_supplierservice_client_secret = Read_Ini_Setting("ax365","supplierservice/identityserver/token/client_secret");
|
||||
var G_ID_ax365_supplierservice_grant_type = Read_Ini_Setting("ax365","supplierservice/identityserver/token/grant_type");
|
||||
var G_ID_ax365_supplierservice_resource = Read_Ini_Setting("ax365","supplierservice/identityserver/token/resource");
|
||||
var G_ID_ax365_supplierservice_scope = Read_Ini_Setting("ax365","supplierservice/identityserver/token/scope");
|
||||
|
||||
|
||||
// Mareon instellingen, de term (XML node) "facilitor" is ivm historie cq. alle locale installaties bij woco's niet 1-2-3 aan te passen in de veel logischere term mareon.
|
||||
var G_marx_url = Read_Ini_Setting("facilitor","url");
|
||||
@@ -644,7 +691,7 @@ var G_mar_timeout = 0; //initieel 1e keer.
|
||||
__Log("***XML- rems/opdrachtenfolder: " + G_rems_opdracht_xmlfolder, 1);
|
||||
__Log("***XML- rems/opdrachtstatusfolder: " + G_rems_opdrachtstatus_xmlfolder, 1);
|
||||
__Log("***XML- rems/facturenfolder: " + G_rems_facturen_xmlfolder, 1);
|
||||
__Log("***XML- microsoft/token/url: " + G_ID_url, 1);
|
||||
__Log("***XML- identityserver/token/url: " + G_ID_saxton_url, 1);
|
||||
__Log("***XML- mareon/url: " + G_marx_url, 1);
|
||||
__Log("***XML- xtractor/xmlfolder: " + G_ax_xtractorfolder, 1);
|
||||
__Log("***XML- xtractor/pdffolder: " + G_pdf_xtractorfolder, 1);
|
||||
@@ -721,33 +768,33 @@ var G_mar_timeout = 0; //initieel 1e keer.
|
||||
}
|
||||
var v_ID_url = l_array[20];
|
||||
if (v_ID_url != ""){
|
||||
G_ID_url = v_ID_url;
|
||||
__Log("***XML- G_ID_url is overruled by Mareon", 3);
|
||||
G_ID_saxton_url = v_ID_url;
|
||||
__Log("***XML- G_ID_saxton_url is overruled by Mareon", 3);
|
||||
}
|
||||
var v_ID_client_id = l_array[21];
|
||||
if (v_ID_client_id != ""){
|
||||
G_ID_client_id = v_ID_client_id;
|
||||
__Log("***XML- G_ID_client_id is overruled by Mareon", 3);
|
||||
G_ID_saxton_client_id = v_ID_client_id;
|
||||
__Log("***XML- G_ID_saxton_client_id is overruled by Mareon", 3);
|
||||
}
|
||||
var v_ID_client_secret = l_array[22];
|
||||
if (v_ID_client_secret != ""){
|
||||
G_ID_client_secret = v_ID_client_secret;
|
||||
__Log("***XML- G_ID_client_secret is overruled by Mareon", 3);
|
||||
G_ID_saxton_client_secret = v_ID_client_secret;
|
||||
__Log("***XML- G_ID_saxton_client_secret is overruled by Mareon", 3);
|
||||
}
|
||||
var v_ID_grant_type = l_array[23];
|
||||
if (v_ID_grant_type != ""){
|
||||
G_ID_grant_type = v_ID_grant_type;
|
||||
__Log("***XML- G_ID_grant_type is overruled by Mareon", 3);
|
||||
G_ID_saxton_grant_type = v_ID_grant_type;
|
||||
__Log("***XML- G_ID_saxton_grant_type is overruled by Mareon", 3);
|
||||
}
|
||||
var v_ID_resource = l_array[24];
|
||||
if (v_ID_resource != ""){
|
||||
G_ID_resource = v_ID_resource;
|
||||
__Log("***XML- G_ID_resource is overruled by Mareon", 3);
|
||||
G_ID_saxton_resource = v_ID_resource;
|
||||
__Log("***XML- G_ID_saxton_resource is overruled by Mareon", 3);
|
||||
}
|
||||
var v_ID_scope = l_array[25];
|
||||
if (v_ID_scope != ""){
|
||||
G_ID_scope = v_ID_scope;
|
||||
__Log("***XML- G_ID_scope is overruled by Mareon", 3);
|
||||
G_ID_saxton_scope = v_ID_scope;
|
||||
__Log("***XML- G_ID_saxton_scope is overruled by Mareon", 3);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<ax2012>
|
||||
<!-- URL van de AX webservice 'SupplierService' -->
|
||||
<url>http://emmpc0003.sg.nl:8087/MicrosoftDynamicsAXAif60/MSMSupplierPortalHttp/xppservice.svc</url>
|
||||
<!-- URL van de AX webservice 'CustomerPortalAX' -->
|
||||
<!-- URL van de AX Saxton webservice 'CustomerPortalAX' -->
|
||||
<url_serviceax>https://saxton-test.aareoncloud.nl</url_serviceax>
|
||||
<!-- AX2012 Logon as -->
|
||||
<logonAs>sg\robb</logonAs>
|
||||
@@ -38,12 +38,28 @@
|
||||
<opdr_today></opdr_today><!-- opdr_today is optioneel en default empty (empty = alle opdrachten tot en met vandaag, 1 = alle opdrachten tot met gisteren, 2 = eergisteren etc) -->
|
||||
</ax2012>
|
||||
<ax365>
|
||||
<!-- URL van de AX webservice 'SupplierService' -->
|
||||
<!-- URL van de AX webservice 'SupplierService' MSMSupplierPortal -->
|
||||
<url>https://artest-12e7cba49ebd525c5eaos.cloudax.dynamics.com/soap/services/MSMSupplierPortal</url>
|
||||
<!-- Identity-server behorende bij de 'SupplierService' MSMSupplierPortal -->
|
||||
<supplierservice>
|
||||
<identityserver>
|
||||
<token>
|
||||
<url></url>
|
||||
<client_id></client_id>
|
||||
<client_secret></client_secret>
|
||||
<grant_type></grant_type>
|
||||
<resource></resource>
|
||||
<scope></scope>
|
||||
</token>
|
||||
</identityserver>
|
||||
</supplierservice>
|
||||
<!-- URL van de AX Saxton webservice 'CustomerPortalAX' -->
|
||||
<url_serviceax>https://artest-12e7cba49ebd525c5eaos.cloudax.dynamics.com</url_serviceax>
|
||||
<!-- Aantal dagen in het verleden om open opdrachten op te halen -->
|
||||
<opdr_past_days>1</opdr_past_days><!-- opdr_past_days is default 1 (alle opdrachten vanaf gisteren) -->
|
||||
<opdr_today></opdr_today><!-- opdr_today is optioneel en default empty (empty = alle opdrachten tot en met vandaag, 1 = alle opdrachten tot met gisteren, 2 = eergisteren etc) -->
|
||||
</ax365>
|
||||
<!-- Identity-server behorende bij de AX Saxton webservice 'CustomerPortalAX' van ax2012 of ax365 -->
|
||||
<identityserver>
|
||||
<token>
|
||||
<url></url>
|
||||
|
||||
@@ -16,7 +16,7 @@ function AX_or_Tobias(){
|
||||
if (G_ax_url != "") return "A";
|
||||
else {if (G_tobias_url != "") return "T";
|
||||
else {if (G_ax2012_url != "") return "A12";
|
||||
else {if (G_ax365_url != "") return "A365";
|
||||
else {if (G_ax365_url_supplierservice != "" || G_ax365_url_serviceax != "") return "A365";
|
||||
else {if (G_fclt_url != "") return "F";
|
||||
else {if (G_rems_opdracht_xmlfolder != "") return "R";
|
||||
else return "";
|
||||
@@ -284,10 +284,10 @@ function apiAX_GENERAL (v_API, v_req, v_type, v_soapAction, v_discard_active_abo
|
||||
if (AX_or_Tobias() == "A365")
|
||||
{
|
||||
switch (v_soort_api){
|
||||
case 1: var v_url = G_ax365_url; break;
|
||||
case 2: var v_url = G_ax365_url + "/" + v_API; break;
|
||||
case 1: var v_url = G_ax365_url_supplierservice; var v_token = G_Token_supplierservice; break;
|
||||
case 2: var v_url = G_ax365_url_serviceax + "/" + v_API; var v_token = G_Token_saxton; break;
|
||||
}
|
||||
l_result = api2_AX365_inner(v_url, v_API, v_req, v_type, v_soapAction, v_discard_active_abort, v_soort_api);
|
||||
l_result = api2_AX365_inner(v_url, v_API, v_req, v_type, v_soapAction, v_discard_active_abort, v_soort_api, v_token);
|
||||
}
|
||||
if (AX_or_Tobias() == "T")
|
||||
{
|
||||
@@ -528,8 +528,8 @@ function api2_AX2012_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard
|
||||
}
|
||||
if (v_soort_api == 2){
|
||||
xmlhttp.setRequestHeader("Content-Type", "application/json"),
|
||||
__Log("api2_AX2012_inner G_Token: " + G_Token, 4);
|
||||
xmlhttp.setRequestHeader("Authorization", "Bearer " + G_Token);
|
||||
__Log("api2_AX2012_inner G_Token_saxton: " + G_Token_saxton, 4);
|
||||
xmlhttp.setRequestHeader("Authorization", "Bearer " + G_Token_saxton);
|
||||
//xmlhttp.setRequestHeader("SOAPAction", '"http://tempuri.org/'+v_soapAction+'"');
|
||||
var v_msg = api2_AX2012_RequestJSON(v_Url, v_API, v_req);
|
||||
}
|
||||
@@ -598,7 +598,7 @@ function api2_AX2012_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard
|
||||
// Forbidden gevonden, we doen een retry, door een nieuwe token op te halen / op te vragen, max. 3 x in een sync (G_AX365_Allowed_Get_Token > 0)
|
||||
if (G_AX365_Allowed_Get_Token > 0){
|
||||
G_AX365_Allowed_Get_Token = G_AX365_Allowed_Get_Token - 1;
|
||||
G_Token = A365_GetToken();
|
||||
G_Token_saxton = A2012_saxton_GetToken();
|
||||
// We mogen nu de functie zelf nog eens aanroepen (iteratief).
|
||||
l_result = api2_AX2012_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard_active_abort, v_soort_api);
|
||||
return l_result;
|
||||
@@ -626,7 +626,7 @@ function api2_AX2012_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard
|
||||
// api_status_code: 0 of 1, 0 = fout gegaan, 1 = goed gegaan
|
||||
// api_status_message: statustekst behorende bij status_code (http.statusText)
|
||||
// api_response_message: response-berecht van webservice (api) die wordt aangeroepen.
|
||||
function api2_AX365_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard_active_abort, v_soort_api)
|
||||
function api2_AX365_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard_active_abort, v_soort_api, v_token)
|
||||
{
|
||||
|
||||
|
||||
@@ -648,8 +648,8 @@ function api2_AX365_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard_
|
||||
|
||||
xmlhttp.open("POST", v_Url, false);
|
||||
xmlhttp.setRequestHeader("Content-Type", "text/xml");
|
||||
__Log("api2_AX365_inner G_Token: " + G_Token, 4);
|
||||
xmlhttp.setRequestHeader("Authorization", "Bearer " + G_Token);
|
||||
__Log("api2_AX365_inner v_token: " + v_token, 4);
|
||||
xmlhttp.setRequestHeader("Authorization", "Bearer " + v_token);
|
||||
xmlhttp.setRequestHeader("SOAPAction", '"http://tempuri.org/'+v_soapAction+'"');
|
||||
|
||||
var v_msg = api2_AX365_RequestXML(v_Url, v_API, v_req);
|
||||
@@ -717,9 +717,13 @@ function api2_AX365_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard_
|
||||
// Forbidden gevonden, we doen een retry, door een nieuwe token op te halen / op te vragen, max. 3 x in een sync (G_AX365_Allowed_Get_Token > 0)
|
||||
if (G_AX365_Allowed_Get_Token > 0){
|
||||
G_AX365_Allowed_Get_Token = G_AX365_Allowed_Get_Token - 1;
|
||||
G_Token = A365_GetToken();
|
||||
switch (v_soort_api){
|
||||
case 1: G_Token_supplierservice = A365_supplierservice_GetToken(); var l_token = G_Token_supplierservice; break;
|
||||
case 2: G_Token_saxton = A2012_saxton_GetToken(); var l_token = G_Token_saxton; break;
|
||||
}
|
||||
|
||||
// We mogen nu de functie zelf nog eens aanroepen (iteratief).
|
||||
l_result = api2_AX365_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard_active_abort, v_soort_api);
|
||||
l_result = api2_AX365_inner (v_Url, v_API, v_req, v_type, v_soapAction, v_discard_active_abort, v_soort_api, l_token);
|
||||
return l_result;
|
||||
}
|
||||
else{
|
||||
|
||||
Reference in New Issue
Block a user