Página 1 de 2

Soap Request

Publicado: Mié Sep 18, 2013 10:14 am
por cesar14
Una pregunta alguno de usted ha creado un Soap Request con Vb6 ????

Lo que pasa es que la empresa que me va a proporcionar el timbrado CFDI necesita que invoque un web servicie donde ellos
tienen el servicio de timbrado, pero me pidieron que programe un Soap Request.

Mi duda es sobre la construcción del XML, ya tengo el método para hacer la invocación y tengo construido mi XML, pero
al momento de ejecutarlo me regresa un error, me imagino es en el proceso de creación del XML.

Gracias.

Re: Soap Request

Publicado: Mié Sep 18, 2013 10:19 am
por Dado
Es mas facil de lo que crees, en realidad lo que tienes que hacer es agregar unos nodos asi :

Código: Seleccionar todo

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
	<SOAP-ENV:Body>
		Aqui va el XML que quieres enviar como parte del web service
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Re: Soap Request

Publicado: Mié Sep 18, 2013 10:25 am
por cesar14
Gracias por responder, es lo que veo que no es muy complicado
Por el momento tengo este codigo no se que opinas.

Código: Seleccionar todo


     strXml = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
            "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:ws=""https://www.foliosdigitalespac.com/WS-Folios/TimbrarPruebaCFDI"" xmlns:req=""https://www.foliosdigitalespac.com/WS-Folios/RequestTimbrarPruebaCFDI"" xmlns:cfdi=""http://www.sat.gob.mx/cfd/3"">" & _
            "<soapenv:Header/>" & _
             "<soap:Body>" & _
            "<TimbrarPruebaCFDI>" & _
             "<usuario>" & usuarioTimbrado & "</usuario>" & _
             "<password>" & passwordTimbrado & "</password>" & _
             "<cadenaXML>" & cadenaRecibidaXML & "</cadenaXML>" & _
             "</TimbrarPruebaCFDI>" & _
             "</soapenv:Body>" & _
             "</soapenv:Envelope>"

Re: Soap Request

Publicado: Jue Sep 19, 2013 10:16 am
por jasistemas
Yo te recomendaría migrarte de VB6 a Visual Studio, es muy natural el uso de webservices en VB.net, otra opción, trabajar la parte de comunicación via webservice como una dll .NET que incorpores desde el VB6

Re: Soap Request

Publicado: Jue Sep 19, 2013 3:23 pm
por cesar14
Muchas Gracias por tu comentario, sin embargo el sistema de facturación esta hecho en VB6 y es un requerimiento del cliente
que se continué trabajando de esta manera.

De hecho sigo pelado con el SOAP REQUEST,agradecería si me apoyan con los nodos que tengo que implementar
o alguna referencia que me diga como se llaman esos nodos.

Gracias.

Re: Soap Request

Publicado: Mar Sep 24, 2013 12:45 am
por enochalvarado
Yo ya estoy timbrando con Folios DIgitales con VB6 desde hace un año y NO uso el SOAP-ENV:Envelope.
Este es mi código:

Dim WebService As Object
Dim Respuesta() As String
On Error Resume Next
Set WebService = CreateObject("MSSOAP.SoapClient30")
If Err.Number <> 0 Then
'Mensaje de error
Exit Function
End If
WebService.mssoapinit "https://www.foliosdigitalespac.com/ws-f ... .asmx?WSDL"
If Err.Number <> 0 Then
'Mensaje de error
Exit Function
End If
If ModoDemo Then
Respuesta = WebService.TimbrarPruebaCFDI(PAC_Usuario, PAC_Password, XMLString)
Else
Respuesta = WebService.TimbrarCFD(PAC_Usuario, PAC_Password, XMLString, Comprobante_serie & Comprobante_folio)
End If
'PAC_Usuario, PAC_Password son tu usuario productivo
XMLString ES el CFDI en string (OJO, tiene que ser UTF-8, si lo generas como string NO pasa. Como NPI para crearlo como UTF-8 lo que hago es darle SAVE y luego lo cargo de vuelta con un Input$)
Comprobante_Serie & Comprobante_folio es el tag para identificarlo en FD.

Re: Soap Request

Publicado: Mié Sep 25, 2013 8:34 am
por jasistemas
Con respecto a " sin embargo el sistema de facturación esta hecho en VB6 y es un requerimiento del cliente
que se continué trabajando de esta manera", considero importante que le hagas saber a tu cliente que:
- Visual Basic 6 es una plataforma que va de salida, Microsoft impulsa ahora .NET
- Tu entorno DE DESARROLLO VB6 NO PODRAS NI SIQUIERA INSTALARLO en Windows 7 o Windows 8 (a menos que lo hagas como Windows XP mode... de manera que tu plataforma podría quedarse obsoleta. LO veras en cuanto empiece a reemplazar equipo por computadoras mas nuevas.
- .NET (Visual Studio 2010, 2012) integra lo necesario para comunicación via webservices, asi como manejo de rutinas de encriptamiento (útil por si te interesa obtener el sello digital tu mismo con opensslkey.cs desarrollado con C# puro) q te permitirá generar mas fácilmente el CFDI en XML y solo contratar el timbrado con el PAC.
- No tiene que ser un cambio radical, precisamente generale una DLL con .NET y que esta sea ejecutada desde VB6 le permitirá seguir usando su misma aplicación en tanto se decide a migrar.

Re: Soap Request

Publicado: Vie Sep 27, 2013 7:19 pm
por Edcoram
jasistemas escribió:Con respecto a " sin embargo el sistema de facturación esta hecho en VB6 y es un requerimiento del cliente
que se continué trabajando de esta manera", considero importante que le hagas saber a tu cliente que:
- Visual Basic 6 es una plataforma que va de salida, Microsoft impulsa ahora .NET
- Tu entorno DE DESARROLLO VB6 NO PODRAS NI SIQUIERA INSTALARLO en Windows 7 o Windows 8 (a menos que lo hagas como Windows XP mode... de manera que tu plataforma podría quedarse obsoleta. LO veras en cuanto empiece a reemplazar equipo por computadoras mas nuevas.
- .NET (Visual Studio 2010, 2012) integra lo necesario para comunicación via webservices, asi como manejo de rutinas de encriptamiento (útil por si te interesa obtener el sello digital tu mismo con opensslkey.cs desarrollado con C# puro) q te permitirá generar mas fácilmente el CFDI en XML y solo contratar el timbrado con el PAC.
- No tiene que ser un cambio radical, precisamente generale una DLL con .NET y que esta sea ejecutada desde VB6 le permitirá seguir usando su misma aplicación en tanto se decide a migrar.
Difiero contigo en que no se puede usar VB6 en Windows 7, 8, 8.1.

Yo sigo desarrollando en VB6 y puedo instalar cualquiera de mis aplicaciones en cualquier Windows desde el 98 hasta en el 8.1 que tengo de prueba, pasando por los Windows Server 2003 y 2008 (en Vista y posteriores ejecutando como Administrador el programa de instalación), en versiones de 32 y 64 bits. Algunas veces al empaquetar el programa para instalar, debo de editar el archivo setup.lst para cambiar las instrucciones DLLSelfRegisterEx a DLLSelfRegister. Aparte de eso, al instalar existen algunas DLL mas recientes que las que se añadieron con el ampaquetador de VB de Microsoft y simplemente hay que dejar las mas recientes que se instalaron con Windows.

El cambio a .Net es demasiado complicado y tardado, sobre todo si tienes aplicaciones o sistemas con mas de 50,000 líneas de código.

Que va de salida, no lo creo, que Microsoft ya no vaya a darle soporte, eso es otra cosa. Es como el WIndows XP, el año que entra Microsoft ya no le dará soporte a los usuarios de ese sistema operativo, pero los fabricantes de dispositivos (impresoras, scanners, camaras Web, etc, etc, etc.), seguirán incluyendo los drivers o controladores necesarios para el XP.

Re: Soap Request

Publicado: Sab Sep 28, 2013 7:33 am
por cesar14
Agradezco Mucho los comentarios y los códigos de ayuda, desde luego que este tema es polémico
porque estamos hablando de 2 tecnologías, una que ya tiene su tiempo en el mercado y una que se esta impulsando fuertemente.

y yo soy de la opinión que ambas ideas son buenas, tanto la migración para usar una tecnología nueva como el seguir desarrollando
en tecnologías digamos "viejas".

Aquí todo va a depender del lugar y las necesidades de los clientes. De los objetivos del negocio de la empresa, si los sistemas se pueden seguir
utilizando en un lenguaje como Vb6 o si es necesario migrar a .NET

Respecto al código probare sus soluciones y en cuanto tenga algo ya que funcione, lo publicare porque no soy el único que se esta enfrentando
a este cambio.

Saludos.

Re: Soap Request

Publicado: Lun Sep 30, 2013 2:06 pm
por jasistemas
Edcoram: Me explique mal o me entendiste mal:

- Hable de INSTALAR EL ENTORNO DE DESARROLLO (Visual Studio), no de instalar las aplicaciones.

Aunque.. rebuscándole, en W7 también puedes instalar el ENTORNO DE DESARROLLO si lo haces emulando con Windows XP Mode.. pero al menos para mi... mas natural el uso de Visual Studio 2010