Example #1
0
        public void controlFailurePdf(string pathFailureWF)
        {
            //è vuota, non processare
            if (String.IsNullOrEmpty(pathFailureWF))
            {
                return;
            }

            try
            {
                //Recupero il path della cartella di failure di conversione e dichiaro le varibili di utilità
                //string pathFailureFolder = Properties.Settings.Default.AdobeFailureFolder;
                string pathFailureFolder   = pathFailureWF;
                DocsPa.DocsPaWebService ws = new DocsPa.DocsPaWebService();
                string urlBackend          = string.Empty;
                string nameFileXml         = string.Empty;
                string nameFileConvertito  = string.Empty;
                byte[] xmlByte;

                //Controllo i files per cui è fallita la conversione nella cartella di failure
                foreach (string genericFile in Directory.GetFiles(pathFailureFolder, "*", SearchOption.AllDirectories))
                {
                    nameFileXml = Path.GetFileNameWithoutExtension(genericFile);

                    //Controllo che esiste l'xml a corredo del file per cui è fallita la conversione
                    if (File.Exists(@Configurazione.AdobeQueueFolder + "\\" + nameFileXml))
                    {
                        //Recupero e leggo le informazioni utili dal file xml a corredo di quello per cui è fallita la conversione
                        XmlDocument xmlDoc = new XmlDocument();
                        xmlDoc.Load(@Configurazione.AdobeQueueFolder + "\\" + nameFileXml);
                        if (xmlDoc != null)
                        {
                            XmlNode node = xmlDoc.DocumentElement;
                            nameFileConvertito = node.SelectSingleNode("FILE_NAME").InnerText.ToString();
                            urlBackend         = node.SelectSingleNode("URL_WS").InnerText.ToString();
                        }

                        //Imposto l'url del backend da chiamare
                        if (urlBackend != "")
                        {
                            ws.Url = urlBackend;
                        }

                        //Recupero il file xml
                        StringWriter  sw = new StringWriter();
                        XmlTextWriter xw = new XmlTextWriter(sw);
                        xmlDoc.WriteTo(xw);
                        xmlByte = System.Text.Encoding.Default.GetBytes(sw.ToString());

                        //Recupero il nome del file per cui è fallita la conversione
                        nameFileConvertito = Path.GetFileName(genericFile);
                        //docConvertitoByte = File.ReadAllBytes(genericFile);

                        //Chiamo webMethod per inviare il file convertito e il suo xml a corredo
                        if (!string.IsNullOrEmpty(nameFileConvertito) &&
                            !string.IsNullOrEmpty(nameFileXml) &&
                            xmlByte != null && xmlByte.Length != 0)
                        {
                            try
                            {
                                fileLog(info, " - Chiamo il WS DequeueServerPdfConversion", 5);
                                ws.Timeout = System.Threading.Timeout.Infinite;
                                ws.DequeueServerPdfConversion(nameFileConvertito, nameFileXml, null, xmlByte);
                            }
                            catch (Exception e)
                            {
                                fileLog(errore, " - chiamata WS DocsPa : " + e.Message, 0);
                            }
                        }

                        //Elimino i files
                        File.Delete(genericFile);
                        File.Delete(@Configurazione.AdobeQueueFolder + "\\" + nameFileXml);
                    }
                }
            }
            catch (Exception ex)
            {
                fileLog(errore, " - controllo output di conversione : " + ex.Message, 0);
            }
        }
Example #2
0
 public Logica()
 {
     ws         = new DocsPa.DocsPaWebService();
     ws.Timeout = System.Threading.Timeout.Infinite;
     fileLog(debug, string.Format("Indirizzo webservice {0}", ws.Url), 4);
 }