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