none
Error id de Registro 5337 en SharePoint RRS feed

  • Pregunta

  • Buen dia

    Espero y me puedan ayudar con mi problema que tengo, ya no se ni por donde empezar  ya llevo dos días y no encuentro la solución.

    cree un formulario en infopath 2010 el cual funciona perfectamente en vista previa pero a la hora de publicarlo y correrlo en la web me manda un error que es el siguiente 

    Se ha agregado una entrada al registro de eventos de Windows del servidor.

    Id. de registro:5337

    

    espero y me puedan ayudar con mi problema o alguna idea de como pueda solucionarlo

    dejo el codigo que tengo en mi formulario el formulario lo que hace es al cargar un archivo XML lo lee y muestra el atributo total 

    using Microsoft.Office.InfoPath;
    using System;
    using System.Xml;
    using System.Xml.XPath;
    using System.Text;
    using System.IO;

    namespace Botones
    {
        public partial class FormCode
        {
            private int _fileSize
            {
             get
                {
                    return (int)FormState["_fileSize"];
                }
                set
                {
                    FormState["_fileSize"] = value;
                }
            }

            private int _attachmentNameLength
            {
                get
                {
                    return (int)FormState["_attachmentNameLength"];
                }
                set
                {
                    FormState["_attachmentNameLength"] = value;
                }
            }
            private string _attachmentName
            {
                get
                {
                    return (string)FormState["_attachmentName"];
                }
                set
                {
                    FormState["_attachmentName"] = value;
                }
            }

            private byte[] _decodedAttachment
            {
                get
                {
                    return (byte[])FormState["_decodedAttachment"];
                }
                set
                {
                    FormState["_decodedAttachment"] = value;
                }
            }


            private const int SP1Header_Size = 20;
            private const int FIXED_HEADER = 16;
         

            public void InfoPathAttachmentDecoder(string theBase64EncodedString)
            {
                byte[] theData = Convert.FromBase64String(theBase64EncodedString);
                using (MemoryStream ms = new MemoryStream(theData))
                {
                    BinaryReader theReader = new BinaryReader(ms);
                    DecodeAttachment(theReader);
                }
            }

            private void DecodeAttachment(BinaryReader theReader)
            {
                //Position the reader to obtain the file size.
                byte[] headerData = new byte[FIXED_HEADER];
                headerData = theReader.ReadBytes(headerData.Length);

                _fileSize = (int)theReader.ReadUInt32();
                _attachmentNameLength = (int)theReader.ReadUInt32() * 2;

                byte[] fileNameBytes = theReader.ReadBytes(_attachmentNameLength);
                //InfoPath uses UTF8 encoding.
                Encoding enc = Encoding.Unicode;
                _attachmentName = enc.GetString(fileNameBytes, 0, _attachmentNameLength - 2);
                _decodedAttachment = theReader.ReadBytes(_fileSize);
            }

            public void InternalStartup()
            {
                
                EventManager.XmlEvents["/my:misCampos/my:campo1"].Changed += new XmlChangedEventHandler(campo1_Changed);
            }

          

            public void campo1_Changed(object sender, XmlEventArgs e)
            {
                XPathNavigator Adjunto = this.MainDataSource.CreateNavigator().SelectSingleNode("/my:misCampos/my:campo1", this.NamespaceManager);
                String textoAdjunto = Adjunto.Value;
                
                if (textoAdjunto.Length > 0)
                {
                    InfoPathAttachmentDecoder(textoAdjunto);
                    DirectoryInfo dir = new DirectoryInfo(Directory.GetCurrentDirectory());
                    string fullpath = dir.ToString() + "\\" + Convert.ToString(_attachmentName.ToString());


                    string fileName = fullpath;

                    if (fileName == "")
                    {
                        return;
                    }
                    else
                    {
                        XPathDocument doc = new XPathDocument(fileName);
                        XPathNavigator nav = doc.CreateNavigator();

                        XPathExpression total;
                        total = nav.Compile("//@total");
                        XPathNodeIterator consulta_total = nav.Select(total);


                        if (consulta_total.MoveNext())
                        {
                            XPathNavigator nav2 = consulta_total.Current.Clone();
                            XPathNavigator myNav = this.MainDataSource.CreateNavigator();
                            myNav.SelectSingleNode("/my:misCampos/my:total2", this.NamespaceManager).SetValue(nav2.Value);

                        }

                    }

                }
                //fin

            }
        }
    }


    • Editado mcmoy viernes, 4 de enero de 2013 17:14
    viernes, 4 de enero de 2013 17:10

Respuestas

  • Hola 

    Santiago Porras

    Este gracias por la respuesta, y si ya lo resolví y efectivamente el error estaba en la linea que me comentaste

    lo resolví de la siguiente forma 

    quite totalmente la linea de DirectoriInfo y convertí a String _decodedAttachment y despues lo convierto o lo leo de forma de un xml y me funciona correctamente :) 

                    ASCIIEncoding ascii = new ASCIIEncoding();

                    String decoded = ascii.GetString(_decodedAttachment);

                    XmlDocument documento = new XmlDocument();
                    documento.LoadXml(decoded );
                    XPathNavigator nav = documento.CreateNavigator();


    MCM

    lunes, 28 de enero de 2013 15:52

Todas las respuestas

  • Hola,

    ¿Has mirado en el log qué error se está registrando con ese Id de correlación?

    Saludos


    ------------------------------------------------------------
    Juan Carlos González Martín MVP de SharePoint Server
    Director revista CompartiMOSS: http://www.gavd.net/servers/compartimoss/compartimoss_main.aspx
    Blog: http://geeks.ms/blogs/ciin
    Twitter: @jcgm1978
    ------------------------------------------------------------

    viernes, 4 de enero de 2013 17:33
  • si es lo que acabo de hacer y el error que me manda de correlación? es el siguiente  

    Error en la lógica empresarial debido a una excepción.(Usuario: SIGSA\Administrator, nombre: GASTOS DE VIAJE, IP: , solicitud: http://moss2010server:1004/CFEMOSS/_layouts/FormServer.aspx?XsnLocation=http://moss2010server:1004/FormServerTemplates/GASTOS DE VIAJE.xsn&SaveLocation=http://moss2010server:1004/CFEMOSS/FORMULARIOS2&ClientInstalled=false&Source=http://moss2010server:1004/CFEMOSS/FORMULARIOS2/Forms/AllItems.aspx&DefaultItemOpen=0, ID de formulario: urn:schemas-microsoft-com:office:infopath:GASTOS-DE-VIAJE:-myXSD-2012-12-21T18-46-22, tipo: FileNotFoundException, el mensaje de excepción: No se pudo encontrar el archivo 'c:\windows\system32\inetsrv\CFD_VABR25264.xml'.)

    yo creo que el error esta en la ruta del archivo  'c:\windows\system32\inetsrv\CFD_VABR25264.xml'. 

    por que esa ruta del archivo no es la correcta, a la hora de cargar un archivo se carga desde el cliente o donde tenga ubicado su archivo XML y me doy cuenta que me cambia la dirección y intenta buscar el archivo en  'c:\windows\system32\inetsrv\CFD_VABR25264.xml'.) a que se debe que cambie de ruta


    MCM

    viernes, 4 de enero de 2013 19:08
  • Hola mcmoy.

    ¿Has conseguido resolver este problema?

    Si no es así, yo diría que el problema está en esta línea

    DirectoryInfo dir = new DirectoryInfo(Directory.GetCurrentDirectory());

    La razón es que probablemente esa línea no te devuelva el directorio del archivo tal y como esperas. Quizás este hilo te pueda ayudar http://social.technet.microsoft.com/Forums/es-AR/sharepointcustomizationprevious/thread/0ce7a499-133d-4e84-86ee-aa16347140a7

    "En los momentos de crisis, sólo la imaginación es más importante que el conocimiento"
    MCTS | SharePoint 2010, Application Development
    MCTS | SharePoint 2010, Configuring
    MS | Programming in HTML5 with JavaScript and CSS3 (MS)
    Twitter | @saintwukong

    domingo, 27 de enero de 2013 15:03
    Moderador
  • Hola 

    Santiago Porras

    Este gracias por la respuesta, y si ya lo resolví y efectivamente el error estaba en la linea que me comentaste

    lo resolví de la siguiente forma 

    quite totalmente la linea de DirectoriInfo y convertí a String _decodedAttachment y despues lo convierto o lo leo de forma de un xml y me funciona correctamente :) 

                    ASCIIEncoding ascii = new ASCIIEncoding();

                    String decoded = ascii.GetString(_decodedAttachment);

                    XmlDocument documento = new XmlDocument();
                    documento.LoadXml(decoded );
                    XPathNavigator nav = documento.CreateNavigator();


    MCM

    lunes, 28 de enero de 2013 15:52