MARX#62647: Koppeling AX365 - Mareon (Push) - Facturen kunnen nu vanuit Sync ook via de NQ (Notifyqueue) route worden opgehaald.
svn path=/Mareon/trunk/; revision=49298
This commit is contained in:
@@ -214,7 +214,7 @@ function MARX_2_REMS_Facturen(){
|
||||
|
||||
// ----------------------------- Xtractor functies -----------------------------------------
|
||||
function FCLT_2_AX_Facturen(){
|
||||
F_GetFacturen();
|
||||
F_GetFacturen_AX();
|
||||
}
|
||||
// ----------------------------- -----------------------------------------
|
||||
|
||||
|
||||
@@ -7,18 +7,25 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
function F_GetFacturen()
|
||||
function F_GetFacturen_AX()
|
||||
{
|
||||
|
||||
var v_API = "FACT4AX_XTRACTOR";
|
||||
var v_APIKEY = G_marx_apikey;
|
||||
var v_req = "<GetFACT4AX_XTRACTOR><adapterversion>" + G_Mareon_Adapter + "</adapterversion><APIkey>" + v_APIKEY + "</APIkey></GetFACT4AX_XTRACTOR>"
|
||||
|
||||
if (G_push_notifyqueue == "0"){
|
||||
var v_req = "<GetFACT4AX_XTRACTOR><adapterversion>" + G_Mareon_Adapter + "</adapterversion><APIkey>" + v_APIKEY + "</APIkey></GetFACT4AX_XTRACTOR>"
|
||||
}
|
||||
else{
|
||||
//start else-tak "push/notifyqueue"
|
||||
var v_req = "<GetFACT4AX_XTRACTOR_NQ><adapterversion>" + G_Mareon_Adapter + "</adapterversion></GetFACT4AX_XTRACTOR_NQ>"
|
||||
}
|
||||
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 1; //soap-envelop eromheen
|
||||
|
||||
var v_resp = apiFCLT(G_marx_url, v_API, v_APIKEY, v_req, v_type, v_soap_envelop, 0);
|
||||
|
||||
__Log("F_GetFacturen: " + v_resp.text, 3);
|
||||
__Log("F_GetFacturen_AX: " + v_resp.text, 4);
|
||||
|
||||
if (G_ax_xtractorfolder != "" && G_pdf_xtractorfolder == ""){
|
||||
__Log("G_pdf_xtractorfolder niet gevuld", 1);
|
||||
@@ -31,9 +38,13 @@ function F_GetFacturen()
|
||||
while (l_deelxml)
|
||||
{
|
||||
var l_strQuery_fin_factuur_key = "//batch/fin_factuur_key[" + i + "]";
|
||||
l_fin_factuur_key = v_resp.selectSingleNode(l_strQuery_fin_factuur_key).text;
|
||||
var l_fin_factuur_key = v_resp.selectSingleNode(l_strQuery_fin_factuur_key).text;
|
||||
__Log("l_fin_factuur_key: " + l_fin_factuur_key, 3);
|
||||
|
||||
var l_strQuery_fac_notificatie_key = "//batch/fac_notificatie_key[" + i + "]";
|
||||
var l_fac_notificatie_key = v_resp.selectSingleNode(l_strQuery_fac_notificatie_key).text;
|
||||
__Log("l_fac_notificatie_key: " + l_fac_notificatie_key, 3);
|
||||
|
||||
var XMLResult = "<?xml version=\"1.0\"?>"
|
||||
+"<batch>"
|
||||
+ l_deelxml.xml
|
||||
@@ -54,7 +65,7 @@ function F_GetFacturen()
|
||||
}
|
||||
// Direct sending Xtractor format to AX365 via webservice
|
||||
if (AX_or_Tobias() == "A365") {
|
||||
A365_Xtractor2AX(v_resp, i, l_deelxml, l_fin_factuur_key);
|
||||
A365_Xtractor2AX(v_resp, i, l_deelxml, l_fin_factuur_key, l_fac_notificatie_key);
|
||||
}
|
||||
i = i + 1;
|
||||
var strQuery = "//batch/document[" + i + "]";
|
||||
@@ -64,16 +75,22 @@ function F_GetFacturen()
|
||||
|
||||
function F_GetFacturen_FCLT()
|
||||
{
|
||||
|
||||
var v_API = "FACT4_FACILITOR";
|
||||
var v_APIKEY = G_marx_apikey;
|
||||
var v_req = "<GetFACT4_FACILITOR><adapterversion>" + G_Mareon_Adapter + "</adapterversion><APIkey>" + v_APIKEY + "</APIkey></GetFACT4_FACILITOR>"
|
||||
if (G_push_notifyqueue == "0"){
|
||||
var v_req = "<GetFACT4_FACILITOR><adapterversion>" + G_Mareon_Adapter + "</adapterversion><APIkey>" + v_APIKEY + "</APIkey></GetFACT4_FACILITOR>"
|
||||
}
|
||||
else{
|
||||
//start else-tak "push/notifyqueue"
|
||||
var v_req = "<GetFACT4_FACILITOR_NQ><adapterversion>" + G_Mareon_Adapter + "</adapterversion></GetFACT4_FACILITOR_NQ>"
|
||||
}
|
||||
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 1; //soap-envelop eromheen
|
||||
|
||||
var v_resp = apiFCLT(G_marx_url, v_API, v_APIKEY, v_req, v_type, v_soap_envelop, 0);
|
||||
|
||||
__Log("F_GetFacturen: " + v_resp.text, 3);
|
||||
__Log("F_GetFacturen_FCLT: " + v_resp.text, 4);
|
||||
if (G_fclt_factuur_pdffolder == ""){
|
||||
__Log("G_fclt_factuur_pdffolder niet gevuld", 1);
|
||||
}
|
||||
@@ -87,9 +104,13 @@ function F_GetFacturen_FCLT()
|
||||
|
||||
__Log("PDF_2_FACILITOR", 3);
|
||||
var l_strQuery_fin_factuur_key = "//batch/fin_factuur_key[" + i + "]";
|
||||
l_fin_factuur_key = v_resp.selectSingleNode(l_strQuery_fin_factuur_key).text;
|
||||
var l_fin_factuur_key = v_resp.selectSingleNode(l_strQuery_fin_factuur_key).text;
|
||||
__Log("l_fin_factuur_key: " + l_fin_factuur_key, 3);
|
||||
|
||||
var l_strQuery_fac_notificatie_key = "//batch/fac_notificatie_key[" + i + "]";
|
||||
var l_fac_notificatie_key = v_resp.selectSingleNode(l_strQuery_fac_notificatie_key).text;
|
||||
__Log("l_fac_notificatie_key: " + l_fac_notificatie_key, 3);
|
||||
|
||||
l_pdf_base64 = F_Get_Base64_FactuurFile(l_fin_factuur_key);
|
||||
if (l_pdf_base64 != ""){
|
||||
// De node Attachment in de XML.
|
||||
@@ -143,13 +164,25 @@ function F_GetFacturen_FCLT()
|
||||
|
||||
if (l_statuscode == 1){
|
||||
// Factuur is goed verwerkt door Facilitor
|
||||
MARX_Send_Succes_Or_Failure(l_fin_factuur_key, "FIN_FACTUUR_POST_SUCCESS", "")
|
||||
if (G_push_notifyqueue == "0"){
|
||||
MARX_Send_Succes_Or_Failure(l_fin_factuur_key, "FIN_FACTUUR_POST_SUCCESS", "")
|
||||
}
|
||||
else{
|
||||
//start else-tak "push/notifyqueue"
|
||||
post_do_exec_notification(v_notification_key, v_result);
|
||||
}
|
||||
__Log("Facilitor factuurverwerking succesvol",3);
|
||||
}
|
||||
else{
|
||||
var l_extra_omschr = l_statustekst + " - " + l_reponsetekst;
|
||||
l_extra_omschr = l_extra_omschr.substr(0, 4000);
|
||||
MARX_Send_Succes_Or_Failure(l_fin_factuur_key, "FIN_FACTUUR_POST_FAIL", l_extra_omschr)
|
||||
if (G_push_notifyqueue == "0"){
|
||||
MARX_Send_Succes_Or_Failure(l_fin_factuur_key, "FIN_FACTUUR_POST_FAIL", l_extra_omschr)
|
||||
}
|
||||
else{
|
||||
//start else-tak "push/notifyqueue"
|
||||
post_do_exec_notification(v_notification_key, v_result);
|
||||
}
|
||||
__Log("Facilitor factuurverwerking NIET succesvol",1);
|
||||
}
|
||||
|
||||
@@ -170,7 +203,7 @@ function F_GetFacturen_Tobias()
|
||||
|
||||
var v_resp = apiFCLT(G_marx_url, v_API, v_APIKEY, v_req, v_type, v_soap_envelop, 0);
|
||||
|
||||
__Log("F_GetFacturen_Tobias: " + v_resp.text,3);
|
||||
__Log("F_GetFacturen_Tobias: " + v_resp.text,4);
|
||||
|
||||
// SPlitsen van XML's...
|
||||
var i = 1;
|
||||
@@ -205,7 +238,13 @@ function F_GetFacturen_REMS()
|
||||
|
||||
var v_API = "FACT4_REMS_UBL21";
|
||||
var v_APIKEY = G_marx_apikey;
|
||||
var v_req = "<GetFACT4_REMS_UBL21><adapterversion>" + G_Mareon_Adapter + "</adapterversion><APIkey>" + v_APIKEY + "</APIkey></GetFACT4_REMS_UBL21>"
|
||||
if (G_push_notifyqueue == "0"){
|
||||
var v_req = "<GetFACT4_REMS_UBL21><adapterversion>" + G_Mareon_Adapter + "</adapterversion><APIkey>" + v_APIKEY + "</APIkey></GetFACT4_REMS_UBL21>"
|
||||
}
|
||||
else{
|
||||
//start else-tak "push/notifyqueue"
|
||||
var v_req = "<GetFACT4_REMS_UBL21_NQ><adapterversion>" + G_Mareon_Adapter + "</adapterversion></GetFACT4_REMS_UBL21_NQ>"
|
||||
}
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 1; //soap-envelop eromheen
|
||||
|
||||
@@ -400,7 +439,7 @@ function A2012_Xtractor2AX(v_xml, xtractFile) {
|
||||
}
|
||||
|
||||
|
||||
function A365_Xtractor2AX(v_resp, i, v_deelxml, v_factuur_key)
|
||||
function A365_Xtractor2AX(v_resp, i, v_deelxml, v_factuur_key, v_notification_key)
|
||||
{
|
||||
var l_pdf_base64 = F_Get_Base64_FactuurFile(v_factuur_key);
|
||||
if (l_pdf_base64 != ""){
|
||||
@@ -462,17 +501,35 @@ function A365_Xtractor2AX(v_resp, i, v_deelxml, v_factuur_key)
|
||||
|
||||
if (l_statuscode == 0){
|
||||
// Fout (HTTP500 oid) in de communicatie, dit is sowieso fout...
|
||||
MARX_Send_Succes_Or_Failure(v_factuur_key, "FIN_FACTUUR_POST_FAIL", l_extra_omschr)
|
||||
if (G_push_notifyqueue == "0"){
|
||||
MARX_Send_Succes_Or_Failure(v_factuur_key, "FIN_FACTUUR_POST_FAIL", l_extra_omschr)
|
||||
}
|
||||
else{
|
||||
//start else-tak "push/notifyqueue"
|
||||
post_do_exec_notification(v_notification_key, v_result);
|
||||
}
|
||||
__Log("AX365 factuurverwerking NIET succesvol",1);
|
||||
}
|
||||
else {
|
||||
// Wel goed (HTTP200 oid), maar nu nog checken op basis van interne bericht, staat daar true of false....
|
||||
if (l_reponsetekst.search("<result>true</result>") != -1) {
|
||||
MARX_Send_Succes_Or_Failure(v_factuur_key, "FIN_FACTUUR_POST_SUCCESS", "")
|
||||
if (G_push_notifyqueue == "0"){
|
||||
MARX_Send_Succes_Or_Failure(v_factuur_key, "FIN_FACTUUR_POST_SUCCESS", "")
|
||||
}
|
||||
else{
|
||||
//start else-tak "push/notifyqueue"
|
||||
post_do_exec_notification(v_notification_key, v_result);
|
||||
}
|
||||
__Log("AX365 factuurverwerking succesvol",3);
|
||||
}
|
||||
else {
|
||||
MARX_Send_Succes_Or_Failure(v_factuur_key, "FIN_FACTUUR_POST_FAIL", l_extra_omschr)
|
||||
if (G_push_notifyqueue == "0"){
|
||||
MARX_Send_Succes_Or_Failure(v_factuur_key, "FIN_FACTUUR_POST_FAIL", l_extra_omschr)
|
||||
}
|
||||
else{
|
||||
//start else-tak "push/notifyqueue"
|
||||
post_do_exec_notification(v_notification_key, v_result);
|
||||
}
|
||||
__Log("AX365 factuurverwerking NIET succesvol",1);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user