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;
        }
コード例 #2
0
ファイル: Prefeitura.cs プロジェクト: tiiselam/br02
        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);
            }
        }