public void LoadClient(string certificado) { Certificado = new LoadCertificado().FindCert(certificado); BasicHttpsBinding binding = new BasicHttpsBinding(); binding.Name = "LoteNFeSoapHttps"; binding.Security.Mode = BasicHttpsSecurityMode.Transport; binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate; EndpointAddress endpoitAddress = new EndpointAddress("https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx"); LoteNFeClient = new LoteNFeSoapClient(remoteAddress: endpoitAddress, binding: binding); LoteNFeClient.Endpoint.Binding = binding; LoteNFeClient.ChannelFactory.Credentials.ClientCertificate.Certificate = Certificado; }
public string EnviaDatosPrefeitura(PedidoEnvioLoteRPS Pedido) { var XML_Prefeitura = new EnvioLoteRPSRequest(); EnvioLoteRPSResponse Servicio_response = new EnvioLoteRPSResponse(); XmlSerializer serializador = new XmlSerializer(typeof(PedidoEnvioLoteRPS)); StringWriter XMLescritor = new StringWriter(); serializador.Serialize(XMLescritor, Pedido); LoteNFeSoapClient Servicio = new LoteNFeSoapClient(); X509Certificate2 cert = new X509Certificate2(); cert = GetCertificate(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc = GetXMLSigned(XMLescritor.ToString(), cert); XML_Prefeitura.VersaoSchema = 3; XML_Prefeitura.MensagemXML = xmlDoc.OuterXml; //StreamWriter ArchSalida = new StreamWriter("C:\\DESA\\TIISELAM\\PREFEITURA\\ARCHIVO_PREFEITURA.xml"); xmlDoc.Save("C:\\DESA\\TIISELAM\\PREFEITURA\\ARCHIVO_PREFEITURA.xml"); ///return XML_Prefeitura.MensagemXML; try { X509Store store = new X509Store(StoreLocation.CurrentUser); Servicio.ClientCredentials.ClientCertificate.Certificate = cert; // Servicio.ClientCredentials.ClientCertificate.SetCertificate(cert.SubjectName.Name, store.Location,StoreName.TrustedPeople); //Servicio.ClientCredentials.ClientCertificate.Certificate = cert; Servicio_response.RetornoXML = Servicio.TesteEnvioLoteRPS(XML_Prefeitura.VersaoSchema, XML_Prefeitura.MensagemXML); ; return(XML_Prefeitura.MensagemXML); // var response = Servicio.TesteEnvioLoteRPS(XML_Prefeitura.VersaoSchema, XML_Prefeitura.MensagemXML); // return response; // if (response == "O") // { // ; //byte[] converbyte = Convert.FromBase64String(response.xml.ToString()); //return System.Text.Encoding.UTF8.GetString(converbyte); //return response.xml.ToString(); /*return "Mensaje XML: " + response.mensaje + Environment.NewLine + * "Código error: " + response.codigo + Environment.NewLine + * "Estatus: " + response.estatus + Environment.NewLine + * "Hora: " + response.hora + Environment.NewLine + * "Id Transacción: " + response.idtransaccion + Environment.NewLine + * "Numeración: " + response.numeracion + Environment.NewLine + * "CRC: " + response.crc + Environment.NewLine + * "DebugXML: " + debug_xml + Environment.NewLine + * "XML: " + converbyte.ToString();*/ // } // else // { //throw new Exception("Mensaje: " + response.mensaje + Environment.NewLine + /*return "Mensaje Error XML: " + response.mensaje + Environment.NewLine + * "Código error: " + response.codigo + Environment.NewLine + * "Estatus: " + response.estatus + Environment.NewLine + * "Hora: " + response.hora + Environment.NewLine + * "Id Transacción: " + response.idtransaccion + Environment.NewLine + * "Numeración: " + response.numeracion + Environment.NewLine + * "CRC: " + response.crc + Environment.NewLine + * "DebugXML: " + debug_xml + Environment.NewLine;*/ // } } //catch (Exception ex) catch (Exception ex) { return("EX: " + ex.Message + Servicio_response.RetornoXML); } }