Consumir ws desde .Net para enviar un xml firmado con .pfx
Estoy tratando de enviar un xml firmado con clave. Pfx mediante un WS
https://efactura.dgi.gub.uy:6443/ePrueba/ws_eprueba?wsdl
Dicho xml está bien firmado porque lo envío mediante SoapUi y es aceptado como bueno. Yo estoy usando Visual 2010. Mi código en C# es
private void button1_Click(object sender, EventArgs e) { EnviarWS_3.Servicio.WS_eFacturaSoapPortClient x1 = new EnviarWS_3.Servicio.WS_eFacturaSoapPortClient(); String ClaveDelCertificado = "Prueba.01"; string certPath; certPath = Path.Combine(@"G:\A-enviar\", "PKPrueba - EMPRESA.pfx"); X509Certificate2 Certificado= new X509Certificate2(certPath, ClaveDelCertificado,X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet); x1.ClientCredentials.ClientCertificate.Certificate=Certificado; //x1.ClientCredentials.UseIdentityConfiguration=true; EnviarWS_3.Servicio.Data xEnviar = new EnviarWS_3.Servicio.Data(); EnviarWS_3.Servicio.Data xRecibir = new EnviarWS_3.Servicio.Data(); String Sobre_cCFE = @"G:\A-enviar\Sobre17_09_13T20_51_52.xml"; StringBuilder newFile=new StringBuilder(); string[] campo = File.ReadAllLines(Sobre_cCFE); foreach (string line in campo) { newFile.Append(line + "\n"); } string vari; vari = newFile.ToString(); xEnviar.xmlData = vari; xEnviar.xmlData = Sobre_cCFE; string otra= xEnviar.xmlData; try { xRecibir = x1.EFACRECEPCIONSOBRE(xEnviar); } catch (Exception ElErr) { MessageBox.Show(ElErr.Message); } }
Estoy convencido que estoy haciendo algo MUY mal pero no logro hacerlo caminar.
¿Me pueden dar una mano