Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/11/2012, 04:35
diablo_jr
 
Fecha de Ingreso: noviembre-2007
Mensajes: 81
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta Enviar mensajes con adjuntos desde C#

Buenas a todos, estoy haciendo un cliente en C# para subir documentos a un servidor. Para ello tengo que enviar a un WS el mensaje donde especifico el archivo que quiero subir y su tamaño, asi como el propio fichero.

El código que tengo es el siguiente:

Código:
            string oRequest = "";
            oRequest  = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tran=\"http://abengoa.com/schema/test/transfer\">\n";
            oRequest += "    <soapenv:Header/>\n";
            oRequest += "    <soapenv:Body>\n";
            oRequest += "        <tran:upload>\n";
            oRequest += "            <tran:fileName>" + fileName + "</tran:fileName>\n";
            oRequest += "            <tran:fileSize>" + fileSize + "</tran:fileSize>\n";
            oRequest += "        </tran:upload>\n";
            oRequest += "    </soapenv:Body>\n";
            oRequest += "</soapenv:Envelope>";

            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.ContentType = "text/xml; charset=\"utf-8\"";
            req.ContentLength = oRequest.Length;
            req.Accept = "text/xml";
            req.Method = "POST";

            using (Stream stm = req.GetRequestStream())
            {
                using (StreamWriter stmw = new StreamWriter(stm))
                {
                    stmw.Write(oRequest);
                }
            }

            try
            {
                HttpWebResponse response = (HttpWebResponse) req.GetResponse();
                StreamReader sReader = new StreamReader(response.GetResponseStream());
                string strXMLReply = sReader.ReadToEnd();
                sReader.Close();
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(strXMLReply);
            }
            catch (Exception ex) {}
Pero necesito añadir a este mensaje el propio fichero para que se suba al servidor. He estado buscando información y la verdad que soy nuevo en esto y no se como hacerlo; si me pudierais hechar una mano, no se como adjuntar un archivo a una peticion SOAP.

Un saludo y gracias.