Enviar y Recibir respuesta de webservices con NetTalk
- Sofia (Mexico)
- Ayudante de Santa
- Mensajes: 60
- Registrado: Mar Feb 15, 2011 9:38 pm
- Contactar:
Enviar y Recibir respuesta de webservices con NetTalk
Hola Amigos clarioneros,
Ya compre NetTalk 5, para resolver mi problema de conexion con webservices, y ya estuve revisando los ejemplos, al parecer esta muy claro, sin embargo sigo sin lograr recibir la respuesta del web services, ya logro postear, pero como recibo la respuesta, me podrian orientar por favor, aqui dejo el codigo que estoy utilizando para postear, si hay algun error orientenme!!
!Inicia codigo para envio
TimbreFiscal.SetAllHeadersDefault()
TimbreFiscal.HeaderOnly = 0
TimbreFiscal.Cookie = ''
TimbreFiscal.Referer = ''
TimbreFiscal.ContentType = 'text/xml; charset=utf-8'
TimbreFiscal.AcceptEncoding = ''
TimbreFiscal.Pragma_ = 'no-cache'
!TimbreFiscal.SSLCertificateOptions.CertificateFile = CertificateFile
!TimbreFiscal.SSLCertificateOptions.PrivateKeyFile = PrivateKeyFile
!TimbreFiscal.SSLCertificateOptions.DontVerifyRemoteCertificateWithCARoot = DontVerifyRemoteCertificateWithCARoot
!TimbreFiscal.SSLCertificateOptions.DontVerifyRemoteCertificateCommonName = DontVerifyRemoteCertificateCommonName
TimbreFiscal.SSLCertificateOptions.CARootFile = LOC:ArchivoPem
TimbreFiscal.Post(CLIP(LOC:WebServer),LOC:ArchivoXML)
if TimbreFiscal.Error
Message('This WebSite could not be posted to. Error ' & TimbreFiscal.Error |
& ': ' & TimbreFiscal.InterpretError())
SetCursor()
end
Ya compre NetTalk 5, para resolver mi problema de conexion con webservices, y ya estuve revisando los ejemplos, al parecer esta muy claro, sin embargo sigo sin lograr recibir la respuesta del web services, ya logro postear, pero como recibo la respuesta, me podrian orientar por favor, aqui dejo el codigo que estoy utilizando para postear, si hay algun error orientenme!!
!Inicia codigo para envio
TimbreFiscal.SetAllHeadersDefault()
TimbreFiscal.HeaderOnly = 0
TimbreFiscal.Cookie = ''
TimbreFiscal.Referer = ''
TimbreFiscal.ContentType = 'text/xml; charset=utf-8'
TimbreFiscal.AcceptEncoding = ''
TimbreFiscal.Pragma_ = 'no-cache'
!TimbreFiscal.SSLCertificateOptions.CertificateFile = CertificateFile
!TimbreFiscal.SSLCertificateOptions.PrivateKeyFile = PrivateKeyFile
!TimbreFiscal.SSLCertificateOptions.DontVerifyRemoteCertificateWithCARoot = DontVerifyRemoteCertificateWithCARoot
!TimbreFiscal.SSLCertificateOptions.DontVerifyRemoteCertificateCommonName = DontVerifyRemoteCertificateCommonName
TimbreFiscal.SSLCertificateOptions.CARootFile = LOC:ArchivoPem
TimbreFiscal.Post(CLIP(LOC:WebServer),LOC:ArchivoXML)
if TimbreFiscal.Error
Message('This WebSite could not be posted to. Error ' & TimbreFiscal.Error |
& ': ' & TimbreFiscal.InterpretError())
SetCursor()
end
-
- Ayudante de Santa
- Mensajes: 83
- Registrado: Dom Feb 06, 2011 8:53 pm
- Contactar:
Re: Enviar y Recibir respuesta de webservices con NetTalk
Hola Sofia:
Yo lo armé con Nettalk 4 (no creo que en eso haya muchas diferencias con el 5.0) en base al ejemplo de SOAP ConverClientUsingXfiles.
El código tenés que repartirlo en los distintos embed que te genera el template:
1) una window a la que agregas el template nettalk (Netsimpleobject) y el de xfiles si lo tenés tambien.
2) En el xfile usas 2 embed: load y save tweaksettings
3) en el nettalk usas PageReceived y Errortrap
Está todo en el ejemplo.
Luego ejecutas el POST con un botón o algo similar y allí va el código que vos pusiste en la consulta.
La respuesta está en el embed page received:
Yo lo armé con Nettalk 4 (no creo que en eso haya muchas diferencias con el 5.0) en base al ejemplo de SOAP ConverClientUsingXfiles.
El código tenés que repartirlo en los distintos embed que te genera el template:
1) una window a la que agregas el template nettalk (Netsimpleobject) y el de xfiles si lo tenés tambien.
2) En el xfile usas 2 embed: load y save tweaksettings
3) en el nettalk usas PageReceived y Errortrap
Está todo en el ejemplo.
Luego ejecutas el POST con un botón o algo similar y allí va el código que vos pusiste en la consulta.
La respuesta está en el embed page received:
Código: Seleccionar todo
! In nettalk this method is called when the answer is received from the SOAP server.
! The answer is in NetTalk's .page property.
! Here we use the xFiles LOAD method to parse the incoming answer and store the result in
! the ResultGroup group.
if Self.PageLen > 0
PacketReceived = self.Page
xml.load(resultGroup,self.page,len(clip(self.page)))
display()
End
SetCursor()
Carlos Roque Relva
Clarion C9, C10, C11
Salto (Bs.As.)
Argentina
Clarion C9, C10, C11
Salto (Bs.As.)
Argentina
-
- Ayudante de Santa
- Mensajes: 83
- Registrado: Dom Feb 06, 2011 8:53 pm
- Contactar:
Re: Enviar y Recibir respuesta de webservices con NetTalk
Hola:
me faltó algo. Bajé el Fiddler2 y lo instalé. Lo arrancas antes de postear y te permite ver lo que estás enviando y la respuesta del servidor. Debe haber otros programas similares en función.
Saludos.
Carlos Relva
Salto (B)
R.A.
me faltó algo. Bajé el Fiddler2 y lo instalé. Lo arrancas antes de postear y te permite ver lo que estás enviando y la respuesta del servidor. Debe haber otros programas similares en función.
Saludos.
Carlos Relva
Salto (B)
R.A.
Carlos Roque Relva
Clarion C9, C10, C11
Salto (Bs.As.)
Argentina
Clarion C9, C10, C11
Salto (Bs.As.)
Argentina
-
- Ayudante de Santa
- Mensajes: 64
- Registrado: Lun Feb 07, 2011 1:29 pm
- Contactar:
Re: Enviar y Recibir respuesta de webservices con NetTalk
Sofía,
Como te dice Carlos, es importante ver el string que enviás y recibís.
Otra cosa importante, por lo menos en los que yo utilicé, es el uso preciso de mayúsculas y minúsculas de acuerdo a los requerimientos del servicio.
Saludos,
Manuel Allo
Buenos Aires
Argentina
Como te dice Carlos, es importante ver el string que enviás y recibís.
Otra cosa importante, por lo menos en los que yo utilicé, es el uso preciso de mayúsculas y minúsculas de acuerdo a los requerimientos del servicio.
Saludos,
Manuel Allo
Buenos Aires
Argentina
- Sofia (Mexico)
- Ayudante de Santa
- Mensajes: 60
- Registrado: Mar Feb 15, 2011 9:38 pm
- Contactar:
Re: Enviar y Recibir respuesta de webservices con NetTalk
me faltó algo. Bajé el Fiddler2 y lo instalé. Lo arrancas antes de postear y te permite ver lo que estás enviando y la respuesta del servidor. Debe haber otros programas similares en función.
Saludos.
---------------------------------------------------------------------------------------------
Carlos ya baje el Fiddler2, pero cuando posteo desde mi aplicacion, no me regustra nada tengo que hacer algo en especial para que lo haga??
muchas gracias Saludos!!!
Saludos.
---------------------------------------------------------------------------------------------
Carlos ya baje el Fiddler2, pero cuando posteo desde mi aplicacion, no me regustra nada tengo que hacer algo en especial para que lo haga??
muchas gracias Saludos!!!
-
- Ayudante de Santa
- Mensajes: 83
- Registrado: Dom Feb 06, 2011 8:53 pm
- Contactar:
Re: Enviar y Recibir respuesta de webservices con NetTalk
Hola Sofía,
Nada más que instalarlo. Al iniciarlo, antes de probar tu programa, abre una ventana donde a la izquierda se ve lo que estás enviando. La minimizas y probas el programa. En la ventana del Fiddler2 aparece lo que enviaste en el post y la respuesta si la hubo. ElFiddler2 tiene que estas funcionando todo el tiempo en que quieras ver lo que envias al servidor o recibis de él.
Si no parece funcionar, podrías probar primero corriendo el programa de prueba de SOAP de Nettalk5 (o cualquier otra cosa que envie y reciba datos) y podes ver como funciona el Fiddler2. Despues que le agarraste la mano haces lo mismo con tu programa.
Saludos
Nada más que instalarlo. Al iniciarlo, antes de probar tu programa, abre una ventana donde a la izquierda se ve lo que estás enviando. La minimizas y probas el programa. En la ventana del Fiddler2 aparece lo que enviaste en el post y la respuesta si la hubo. ElFiddler2 tiene que estas funcionando todo el tiempo en que quieras ver lo que envias al servidor o recibis de él.
Si no parece funcionar, podrías probar primero corriendo el programa de prueba de SOAP de Nettalk5 (o cualquier otra cosa que envie y reciba datos) y podes ver como funciona el Fiddler2. Despues que le agarraste la mano haces lo mismo con tu programa.
Saludos
Carlos Roque Relva
Clarion C9, C10, C11
Salto (Bs.As.)
Argentina
Clarion C9, C10, C11
Salto (Bs.As.)
Argentina
- Sofia (Mexico)
- Ayudante de Santa
- Mensajes: 60
- Registrado: Mar Feb 15, 2011 9:38 pm
- Contactar:
Re: Enviar y Recibir respuesta de webservices con NetTalk
Hola Carlos, sabes hice prueba con el fiddler para postear a la pagina que deseo, y me regresa esto:
HTTP/1.1 302 Found
Date: Fri, 11 Mar 2011 14:25:19 GMT
Server: Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8e mod_jk/1.2.26
Location: https://demotf.buzonfiscal.com/timbrado/
Content-Length: 224
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
segun yo entiendo, la pagina o la direccion se movio de lugar, corrigeme si estoy mal??
o que puede ser, que me manda este error??
HTTP/1.1 302 Found
Date: Fri, 11 Mar 2011 14:25:19 GMT
Server: Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8e mod_jk/1.2.26
Location: https://demotf.buzonfiscal.com/timbrado/
Content-Length: 224
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
segun yo entiendo, la pagina o la direccion se movio de lugar, corrigeme si estoy mal??
o que puede ser, que me manda este error??
-
- Ayudante de Santa
- Mensajes: 83
- Registrado: Dom Feb 06, 2011 8:53 pm
- Contactar:
Re: Enviar y Recibir respuesta de webservices con NetTalk
Hola,
Hice correr el ejemplo de nettalk 4 (imagen 1) y lo que muestra Fiddler (imagen 2).
La linea 6 es la que corresponde a las imágenes. Creo que las muestra invertidas en orden.
Las lineas 4 y 5 son 2 consultas con error ( en rojo).
No me coincide para nada con lo que vos transcribis. Desgraciadamente recien me estoy iniciando en esto así que no puedo aportar mucho.
Pregunta 1: tenes el archivo WSDL con la definicion de las funciones. Allí tambien tiene que estar la direccion donde postear. Algo equivalente?. Creo que debería estar en una pagina/*.wsdl o *.wsml
En mi caso comence con un .doc con algunas indicaciones, el archivo wsdl que tiene cabecera:
Las funciones:
Y los datos de la pagina al final
Tambien tenia un archivo WSML con las funciones una por una y los datos correspondientes a los parámetros
Es la primera vez que adjunto algo en este grupo. No se como se verá.
Pasame algun dato más para ver si puedo ayudarte. Si no necesitarás alguien con mas conocimientos.
Saludos
Hice correr el ejemplo de nettalk 4 (imagen 1) y lo que muestra Fiddler (imagen 2).
La linea 6 es la que corresponde a las imágenes. Creo que las muestra invertidas en orden.
Las lineas 4 y 5 son 2 consultas con error ( en rojo).
No me coincide para nada con lo que vos transcribis. Desgraciadamente recien me estoy iniciando en esto así que no puedo aportar mucho.
Pregunta 1: tenes el archivo WSDL con la definicion de las funciones. Allí tambien tiene que estar la direccion donde postear. Algo equivalente?. Creo que debería estar en una pagina/*.wsdl o *.wsml
En mi caso comence con un .doc con algunas indicaciones, el archivo wsdl que tiene cabecera:
Código: Seleccionar todo
<?xml version='1.0' encoding='UTF-8' ?>
<!-- Generated 11/04/10 by Microsoft SOAP Toolkit WSDL File Generator, Version 3.00.1325.0 -->
<definitions
name='FABAWSAOLV2'
targetNamespace='http://tempuri.org/FABAWSAOLV2/wsdl/'
...
Las funciones:
Código: Seleccionar todo
<message name='ClsAolV2.ValidarOrden'>
<part name='idUsuario' type='xsd:int'/>
<part name='password' type='xsd:int'/>
<part name='idmutual' type='xsd:int'/>
...
Código: Seleccionar todo
<service name='FABAWSAOLV2' >
<port name='ClsAolV2SoapPort' binding='wsdlns:ClsAolV2SoapBinding' >
<soap:address location='http://www.faba.org.ar/fabawsaolv2/FABAWSAOLV2.ASP'/>
</port>
</service>
Código: Seleccionar todo
<operation name='ValidarOrden'>
<execute uses='ClsAolV2Object' method='ValidarOrden' dispID='1610809344'>
<parameter callIndex='-1' name='retval' elementName='Result' />
<parameter callIndex='1' name='idUsuario' elementName='idUsuario' />
...
Pasame algun dato más para ver si puedo ayudarte. Si no necesitarás alguien con mas conocimientos.
Saludos
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Carlos Roque Relva
Clarion C9, C10, C11
Salto (Bs.As.)
Argentina
Clarion C9, C10, C11
Salto (Bs.As.)
Argentina
-
- Novato
- Mensajes: 48
- Registrado: Dom Feb 06, 2011 8:33 pm
- Ubicación: Asuncion - Paraguay
- Contactar:
Re: Enviar y Recibir respuesta de webservices con NetTalk
Carlos Selva,
Resulta que un cliente me solicita hacer una Interface con un nuevo sistema que estan adquiriendo mediante un webservice, para esto el cliente me entrego un archivo .wsdl donde tengo la definicion del ws, estoy haciendo un programa para generar el XML usando el Xfiles y usar el Nettalk para enviar la peticion HTTP.
Estuve mirando un video de la pagina de clarionlive.com que trata justo este tema. El ws no es publico por lo que no puedo probarlo directamente, no habra alguna forma de probarlo localmente en mi pc de desarrollo?
Estoy usando Clarion 5.5 sobre windows XP.
Agradeceria cualquier ayuda que me pueda dar.
Saludos
Luis Irala
Resulta que un cliente me solicita hacer una Interface con un nuevo sistema que estan adquiriendo mediante un webservice, para esto el cliente me entrego un archivo .wsdl donde tengo la definicion del ws, estoy haciendo un programa para generar el XML usando el Xfiles y usar el Nettalk para enviar la peticion HTTP.
Estuve mirando un video de la pagina de clarionlive.com que trata justo este tema. El ws no es publico por lo que no puedo probarlo directamente, no habra alguna forma de probarlo localmente en mi pc de desarrollo?
Estoy usando Clarion 5.5 sobre windows XP.
Agradeceria cualquier ayuda que me pueda dar.
Saludos
Luis Irala
-
- Ayudante de Santa
- Mensajes: 83
- Registrado: Dom Feb 06, 2011 8:53 pm
- Contactar:
Re: Enviar y Recibir respuesta de webservices con NetTalk
Hola,
no se me ocurre como. Necesitas enviar los datos al servidor del WS y ver si te los acepta y como te responde.
En mi caso, y no se si siempre es así, el Ws tenía una direccion especial para pruebas donde podias ajustar el
comportamiento.
Saludos
no se me ocurre como. Necesitas enviar los datos al servidor del WS y ver si te los acepta y como te responde.
En mi caso, y no se si siempre es así, el Ws tenía una direccion especial para pruebas donde podias ajustar el
comportamiento.
Saludos
Carlos Roque Relva
Clarion C9, C10, C11
Salto (Bs.As.)
Argentina
Clarion C9, C10, C11
Salto (Bs.As.)
Argentina
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados