MARX#51764: PDF attachment in CDATA (ketenstandaard MessageSevice) geeft bij facturatie AiAi

svn path=/Website/branches/v2017.2/; revision=36571
This commit is contained in:
Marcel Bourseau
2018-01-12 14:00:38 +00:00
parent bc3408cd71
commit 4a6003edaa

View File

@@ -581,34 +581,90 @@ function extractAttachments(safeSourceXML, filename, flexcode)
if (nr_att_1 == 0 && nr_att_2 == 0){
xmldoc.setProperty ("SelectionNamespaces", "xmlns:insbou4='http://www.gs1.nl/factuur/insbou/004'");
var l_filenaam_node = xmldoc.selectSingleNode("//insbou4:Attachment/insbou4:FileName");
var l_filenaam_text = l_filenaam_node.text;
__Log("Variabele l_filenaam_text: " + l_filenaam_text);
var l_base64_node = xmldoc.selectSingleNode("//insbou4:Attachment/insbou4:AttachedData");
var l_base64_text = l_base64_node.text;
__Log("Variabele l_base64_text: " + l_base64_text);
var safefilename = safe.filename(l_filenaam_text);
if (!params.isAllowedName(safefilename))
{
// TODO: Misschien ook terugkoppelen in IMP_LOG?
__Log("Onbekende extensie upload bijlage: {0}. Bestand is niet opgeslagen.".format(safefilename));
}
else
{
__Log('Bijlage {0} mag naar {1}'.format(safefilename, params.AttachPath));
var AttachmentData = l_base64_text;
if (AttachmentData)
if (l_filenaam_node && l_base64_node){
var l_filenaam_text = l_filenaam_node.text;
__Log("Variabele l_filenaam_text: " + l_filenaam_text);
var l_base64_text = l_base64_node.text;
__Log("Variabele l_base64_text: " + l_base64_text);
var safefilename = safe.filename(l_filenaam_text);
if (!params.isAllowedName(safefilename))
{
CreateFullPath(params.AttachPath);
encodedString2File(params.AttachPath + safefilename, AttachmentData, "bin.base64");
__Log("Done saving: " + params.AttachPath + safefilename);
// TODO: Misschien ook terugkoppelen in IMP_LOG?
__Log("Onbekende extensie upload bijlage: {0}. Bestand is niet opgeslagen.".format(safefilename));
}
else
__Log("Empty file skipped: " + safefilename);
{
__Log('Bijlage {0} mag naar {1}'.format(safefilename, params.AttachPath));
var AttachmentData = l_base64_text;
if (AttachmentData)
{
CreateFullPath(params.AttachPath);
encodedString2File(params.AttachPath + safefilename, AttachmentData, "bin.base64");
__Log("Done saving: " + params.AttachPath + safefilename);
}
else
__Log("Empty file skipped: " + safefilename);
}
}
else{
//51764: PDF attachment in CDATA (ketenstandaard MessageSevice) ?
xmldoc.setProperty ("SelectionNamespaces", "xmlns:mes='http://etim.nl/xmlschemas/messageservice/2.40'");
var l_cdata_node = xmldoc.selectSingleNode("//mes:MsgContent");
if (! l_cdata_node){
__Log("Cdata MessageService/2.4 NOT found");
xmldoc.setProperty ("SelectionNamespaces", "xmlns:mes='https://www.ketenstandaard.nl/WS/MessageService/3.0'");
var l_cdata_node = xmldoc.selectSingleNode("//mes:MsgContent");
}
if (! l_cdata_node){
__Log("Cdata MessageService/2.4 AND 3.0 NOT found");
xmldoc.setProperty ("SelectionNamespaces", "xmlns:mes='https://www.ketenstandaard.nl/WS/MessageService/3.1'");
var l_cdata_node = xmldoc.selectSingleNode("//mes:MsgContent");
}
if (l_cdata_node){
__Log("Cdata found: " + l_cdata_node.text);
xmldoc.loadXML(l_cdata_node.text);
__Log("l_cdata_node loaded in xmldoc");
var l_filenaam_node = xmldoc.selectSingleNode("//Attachment/FileName");
var l_base64_node = xmldoc.selectSingleNode("//Attachment/AttachedData");
if (!l_filenaam_node || !l_base64_node){
xmldoc.setProperty ("SelectionNamespaces", "xmlns:insbou4='http://www.gs1.nl/factuur/insbou/004'");
var l_filenaam_node = xmldoc.selectSingleNode("//insbou4:Attachment/insbou4:FileName");
var l_base64_node = xmldoc.selectSingleNode("//insbou4:Attachment/insbou4:AttachedData");
}
if (l_filenaam_node && l_base64_node){
var l_filenaam_text = l_filenaam_node.text;
__Log("Variabele l_filenaam_text: " + l_filenaam_text);
var l_base64_text = l_base64_node.text;
__Log("Variabele l_base64_text: " + l_base64_text);
var safefilename = safe.filename(l_filenaam_text);
if (!params.isAllowedName(safefilename))
{
// TODO: Misschien ook terugkoppelen in IMP_LOG?
__Log("Onbekende extensie upload bijlage: {0}. Bestand is niet opgeslagen.".format(safefilename));
}
else
{
__Log('Bijlage {0} mag naar {1}'.format(safefilename, params.AttachPath));
var AttachmentData = l_base64_text;
if (AttachmentData)
{
CreateFullPath(params.AttachPath);
encodedString2File(params.AttachPath + safefilename, AttachmentData, "bin.base64");
__Log("Done saving: " + params.AttachPath + safefilename);
}
else
__Log("Empty file skipped: " + safefilename);
}
}
}
else{
__Log("Cdata NOT found");
}
}
}
return { success: true };
}