Error 1429 en Web Services con pruebas con PAC Focogsa

2,503 views
Skip to first unread message

emr

unread,
May 19, 2011, 5:15:41 PM5/19/11
to Comunidad de Visual Foxpro en Español
Hola saludos a todos, estoy con las pruebas de Timbrado con el Pac
Forcogsa me ha estado apoyando Firmo con estas pruebas de WS, pero
alomejor alguien nos puede dar una manita con esto y les sirve el
codigo para el que lo necesite para el timbrado, pero me manda un
error al hacer las pruebas, por favor alguien me puede orientar a que
se debe, saludos

LOCAL loWSForcogsaPort AS "XML Web Service"
* LOCAL loWSForcogsaPort AS "MSSOAP.SoapClient30"
* Do not remove or alter following line. It is used to support
IntelliSense for your XML Web service.
*__VFPWSDef__: loWSForcogsaPort =
https://forcogsa.dyndns.org:8081/WSTimbrado/WSForcogsaService?wsdl ,
WSForcogsaService , WSForcogsaPort
LOCAL loException, lcErrorMsg, loWSHandler
TRY
loWSHandler = NEWOBJECT("WSHandler",IIF(VERSION(2)=0,"",HOME()
+"FFC\")+"_ws3client.vcx")
loWSForcogsaPort =
loWSHandler.SetupClient("https://forcogsa.dyndns.org:8081/WSTimbrado/
WSForcogsaService?wsdl",
"WSForcogsaService", "WSForcogsaPort")
* Call your XML Web service here. ex: leResult =
loWSForcogsaPort.SomeMethod()

CATCH TO loException
lcErrorMsg="Error: "+TRANSFORM(loException.Errorno)+" -
"+loException.Message
DO CASE
CASE VARTYPE(loWSForcogsaPort)#"O"
* Handle SOAP error connecting to web service
CASE !EMPTY(loWSForcogsaPort.FaultCode)
* Handle SOAP error calling method
lcErrorMsg=lcErrorMsg+CHR(13)+loWSForcogsaPort.Detail
OTHERWISE
* Handle other error
ENDCASE
* Use for debugging purposes
MESSAGEBOX(lcErrorMsg)
FINALLY
ENDTRY


XMLfile = "C:\sistema\CFD\BuzonFacturas\37797__GTM950725M89.xml"

leResult = loWSForcogsaPort.Timbrar(pruebasWS, pruebasWS, XMLfile)

Pero al ejecutarlo me marca un error que dice: Error: 1429 - OLE
IDispatch exception code 0 from Client: Client:Incorrect number of
parameters supplied for SOAP request HRESULT=0x80070057: El parámetro
no es correcto.
- Client:Unspecified client error. HRESULT=0x80070057: El parámetro
no es correcto.
..
Client:Incorrect number of parameters supplied for SOAP request
HRESULT=0x80070057: El parámetro no es correcto.
- Client:Unspecified client error. HRESULT=0x80070057: El parámetro
no es correcto.


No se a que se debe este error, saludos y muchas gracias por su ayuda.

Enrique Martinez
Puerto Vallarta, Jalisco México

Ing. Edgar Oñate

unread,
May 24, 2011, 12:45:40 PM5/24/11
to publice...@googlegroups.com
Buen día a todos!

Yo tengo un problema parecido, al momento de querer timbrar el cfdi me
muestra el siguiente error:

Error 1429 - OLE IDispatch exception code 0 from ?: Server was unable to
process request ----> Object reference not set to an instance of an
object...
<detail/>

Gracias de antemano.

Saludos!!

-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de emr
Enviado el: jueves, 19 de mayo de 2011 04:16 p.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Error 1429 en Web Services con pruebas con PAC Focogsa

Baltazar Moreno

unread,
May 24, 2011, 12:47:25 PM5/24/11
to publice...@googlegroups.com
Confirmen con Forcogsa si ya tienen listos sus sistemas, tengo entendido que han tenido muchos problemas.

Saludos!

--
Baltazar Moreno
VFP9SP2 - Win7

Bj M

unread,
May 24, 2011, 9:10:49 PM5/24/11
to publice...@googlegroups.com
checa que esten correctos tus parametros, que te pide la funcion ahi tienes el problema o menciona cuales son lo datos que se requieren como parametro para poderte ayudar
 
por ejemplo que es pruebasWS no esta definido y no se sabe que es

 
leResult = loWSForcogsaPort.Timbrar(pruebasWS, pruebasWS, XMLfile)

saludos

Enrique Martinez

unread,
May 24, 2011, 10:16:23 PM5/24/11
to publice...@googlegroups.com
Hola Bjm muchas gracias por contestar, el dato de pruebasWS es el
usuario y contraseña, es el mismo dato para los 2 parametros, estos
datos me los proporcionó el PAC, el ejemplo que acontinuacion te
pongo, es para probar la conexion o autenticacion, y tanto en
autenticar como en timbrar me marca lo mismo, ya consulte a los de
Forcogsa y les mandé mi codigo y me dicen que al parecer está bien el
codigo, pero que debe de ser algun problema entre VFP y SOAP.

LOCAL loWSForcogsaPort AS "XML Web Service"
* LOCAL loWSForcogsaPort AS "MSSOAP.SoapClient30"
* Do not remove or alter following line. It is used to support
IntelliSense for your XML Web service.
*__VFPWSDef__: loWSForcogsaPort =
https://forcogsa.dyndns.org:8081/WSTimbrado/WSForcogsaService?wsdl ,
WSForcogsaService , WSForcogsaPort
LOCAL loException, lcErrorMsg, loWSHandler
TRY

loWSHandler = NEWOBJECT("WSHandler",IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_ws3client.vcx")
loWSForcogsaPort =
loWSHandler.SetupClient("https://forcogsa.dyndns.org:8081/WSTimbrado/WSForcogsaService?wsdl",


"WSForcogsaService", "WSForcogsaPort")
* Call your XML Web service here. ex: leResult = loWSForcogsaPort.SomeMethod()

CATCH TO loException
lcErrorMsg="Error: "+TRANSFORM(loException.Errorno)+" - "+loException.Message
DO CASE
CASE VARTYPE(loWSForcogsaPort)#"O"
* Handle SOAP error connecting to web service
CASE !EMPTY(loWSForcogsaPort.FaultCode)
* Handle SOAP error calling method
lcErrorMsg=lcErrorMsg+CHR(13)+loWSForcogsaPort.Detail
OTHERWISE
* Handle other error
ENDCASE
* Use for debugging purposes
MESSAGEBOX(lcErrorMsg)
FINALLY
ENDTRY

cUsuario = 'pruebasWS'
cPass = 'pruebasWS'

leResult = loWSForcogsaPort.Autenticar(cUsuario,cPass)

Me marca el mismo error 1429.

Nota: si lo hago atraves del Task Pane me da de alta el Web Service y
me da las 3 opciones del PAC (Autenticar,Timbrar,Cancelar) pero las
pruebas y marca el mismo error 1429.

Saludos

Enrique Martine

Bj M

unread,
May 25, 2011, 9:30:35 AM5/25/11
to publice...@googlegroups.com
primero:
 
esto debe de ir antes del CATCH TO loException


 cUsuario = 'pruebasWS'
 cPass = 'pruebasWS'
 
leResult = loWSForcogsaPort.Autenticar(cUsuario,cPass)

para identificar mejor el error despues del ENDTRY
MESSAGEBOX(lcErrorMsg)

para que te muestre cualquier error que trae el web service y se pueda identificar.
 
prueba y comenta que resultado te dio. (ojo: el soap toolkit 3 tiene que estar instalado)
 
saludos.
 
> Date: Tue, 24 May 2011 21:16:23 -0500
> Subject: Re: [vfp] Error 1429 en Web Services con pruebas con PAC Focogsa
> From: emr9...@gmail.com
> To: publice...@googlegroups.com

Enrique Martinez

unread,
May 25, 2011, 11:31:50 AM5/25/11
to publice...@googlegroups.com
Hola Bj M hice lo que me dices, puse antes del CATCH TO las variables
de usuario y password y el messagebox al final despues del endtry y el
valor que me regresa en el messagebox es .f.

Saludos

Enrique Martinez

Bj M

unread,
May 25, 2011, 4:45:49 PM5/25/11
to publice...@googlegroups.com
segun el PAC que te debe de devolver? por que con el .F. te esta respondiendo la funcion del web service, yo estoy haciendo pruebas con facturaxion y envio una funcion donde le mando varios parametros, entre ellos claves de acceso, numero de cliente datos de control y el archivo xml a timbrar, me devuelve .T. o .F. segun la validación del xml enviado, en caso de que sea .T. llamo a otra funcion que genera el timbre.
 
a lo mejor tu xml no es valido y por eso te lo rebota (validalo en la pagina del SAT (https://www.consulta.sat.gob.mx/sicofi_web/moduloECFD_plus/ValidadorCFDI/Validador%20cfdi.html), y una vez que estes seguro de que es valido mandalo el web service).
 
saludos.
 
> Date: Wed, 25 May 2011 10:31:50 -0500

Baltazar Moreno

unread,
May 25, 2011, 5:14:51 PM5/25/11
to publice...@googlegroups.com
No es eso, lo que pasa es que el Soap Toolkit está descontinuado y no logra "resolver" los Response de "objetos" que algunos webservices regresan.

Tal es el caso con Forcogsa, no pude hacer la integración directa con VFP, hize un exe en .net para timbrar el documento. (basándome en el ejemplo que ellos mismos me pasaron)

Con esto de los WebServices, me he topado con varias cosas que no he podido resolverlas con VFP :(

Por ejemplo el Soap Toolkit, no funciona en Win7 64bits :( pero en XP sí, aun así no resuelve muchos response por decirlo de alguna manera "complicados"

Saludos y Suerte!

--
Baltazar Moreno
VFP9SP2 Win7

Enrique Martinez

unread,
May 25, 2011, 11:16:43 PM5/25/11
to publice...@googlegroups.com
Gracias Baltazar tienes toda la razon, he leido algunas paginas en
internet y eso es lo que dicen, que el Soap Toolkit no funciona
algunas veces, y hablé con el Pac y le mandé el codigo y dicen que
aparentemente está bien, pero que ellos no tienen experiencia en VFP,
creo que me voy a ir por la opcion 2 de timbrado que tiene Forcogsa,
ya hice pruebas y funcionó, es con una aplicación en Java, te entregan
un "Conector".jar y lo configuras, tienes que integrar el certificado,
tienes que dar de alta las carpetas xml sin timbrar,xml timbrados, xml
errores, y reportes y solo colocas los xml a timbrar en la carpeta
antes mecionada y en 10 segundos maximo te la regresa timbrada y te la
pasa a la carpeta xml timbrados.

Es muy facil, solo que me interesa la opcion de Web services por que
todos los pac's la usan, por lo que quiero saber como hacerlo en VFP.

Saludos.

Enrique Martinez Regalado

Baltazar Moreno

unread,
May 26, 2011, 10:18:49 AM5/26/11
to publice...@googlegroups.com
Puedes consumir cualquier web service desde fox, siempre y cuando te pasen un ejemplo de cada XML (request y response).

Tu creas el request, haces un post a la URL del WS y te regresa siempre un XML Response, y tendrías que parsearlo para obtener los resultados, el problema es que Forcogsa, "no sabe" o "no quiere" mostrar sus Request. Ojalá tu tengas mejor suerte con ésto.

Saludos!

Enrique Martinez

unread,
May 26, 2011, 9:36:03 PM5/26/11
to publice...@googlegroups.com
Tengo el request y el response de ejemplo de Contpaq voy a ver si
puede hacer lo que dices, si nó ahi te estaré preguntando.

Saludos y gracias por contestar

Enrique Martinez

Ing. Edgar Oñate

unread,
Jun 1, 2011, 1:54:50 PM6/1/11
to publice...@googlegroups.com
Buen día!!

Yo también tengo un ejemplo del request y response del Contpaq. El WS de
Contpaq tiene 2 métodos, "getCurrentDateTime" y "getStamp". El segundo
método es con el que se va a realizar el timbrado. Entonces al momento de
mandar llamar dicho método me pide los siguientes parámetros:
getStamp(comprobante AS XMLDOMNodeList, parameters AS Parameters) AS
XMLDOMNodeList....

En el siguiente link viene un ejemplo de cómo debe ir el request:
https://www.masfacturacion.com/p_extra/nusoap/security.php

Al momento de mandar el request obtengo:

<?xml version="1.0" ?>
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <soap:Body>
- <soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Server was unable to process request. ---> Object reference
not set to an instance of an object.</faultstring>
<detail />
</soap:Fault>
</soap:Body>
</soap:Envelope>

Si alguien pudiera ayudarme, se lo agradecería infinitamente.

Saludos y gracias de antemano

-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de Enrique Martinez
Enviado el: jueves, 26 de mayo de 2011 08:36 p.m.
Para: publice...@googlegroups.com
Asunto: Re: RE: [vfp] Error 1429 en Web Services con pruebas con PAC Focogsa

Reply all
Reply to author
Forward
0 new messages