Enviar y Recibir respuesta de webservices con NetTalk

Consultas, trucos, consejos. Todo sobre Clarion en todas sus versiones
Avatar de Usuario
Sofia (Mexico)
Ayudante de Santa
Mensajes: 60
Registrado: Mar Feb 15, 2011 9:38 pm
Contactar:

Enviar y Recibir respuesta de webservices con NetTalk

Mensaje por Sofia (Mexico) » Vie Mar 04, 2011 6:12 pm

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

:?:


Carlos Relva
Ayudante de Santa
Mensajes: 74
Registrado: Dom Feb 06, 2011 8:53 pm
Contactar:

Re: Enviar y Recibir respuesta de webservices con NetTalk

Mensaje por Carlos Relva » Sab Mar 05, 2011 5:48 pm

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:

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
Salto (Bs.As.)
Argentina

Carlos Relva
Ayudante de Santa
Mensajes: 74
Registrado: Dom Feb 06, 2011 8:53 pm
Contactar:

Re: Enviar y Recibir respuesta de webservices con NetTalk

Mensaje por Carlos Relva » Sab Mar 05, 2011 5:53 pm

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.
Carlos Roque Relva
Clarion C9, C10
Salto (Bs.As.)
Argentina

Manuel
Ayudante de Santa
Mensajes: 63
Registrado: Lun Feb 07, 2011 1:29 pm
Contactar:

Re: Enviar y Recibir respuesta de webservices con NetTalk

Mensaje por Manuel » Sab Mar 05, 2011 11:29 pm

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

Avatar de Usuario
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

Mensaje por Sofia (Mexico) » Mar Mar 08, 2011 10:07 pm

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!!!

Carlos Relva
Ayudante de Santa
Mensajes: 74
Registrado: Dom Feb 06, 2011 8:53 pm
Contactar:

Re: Enviar y Recibir respuesta de webservices con NetTalk

Mensaje por Carlos Relva » Mié Mar 09, 2011 2:10 am

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
Carlos Roque Relva
Clarion C9, C10
Salto (Bs.As.)
Argentina

Avatar de Usuario
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

Mensaje por Sofia (Mexico) » Vie Mar 11, 2011 9:33 pm

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??

Carlos Relva
Ayudante de Santa
Mensajes: 74
Registrado: Dom Feb 06, 2011 8:53 pm
Contactar:

Re: Enviar y Recibir respuesta de webservices con NetTalk

Mensaje por Carlos Relva » Vie Mar 11, 2011 10:43 pm

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:

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'/>
                          ...
Y los datos de la pagina al final

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>

Tambien tenia un archivo WSML con las funciones una por una y los datos correspondientes a los parámetros

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' />
          ...
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
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Carlos Roque Relva
Clarion C9, C10
Salto (Bs.As.)
Argentina

LuisIrala
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

Mensaje por LuisIrala » Mié Feb 08, 2012 8:06 pm

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

Carlos Relva
Ayudante de Santa
Mensajes: 74
Registrado: Dom Feb 06, 2011 8:53 pm
Contactar:

Re: Enviar y Recibir respuesta de webservices con NetTalk

Mensaje por Carlos Relva » Mié Feb 08, 2012 11:11 pm

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
Carlos Roque Relva
Clarion C9, C10
Salto (Bs.As.)
Argentina


Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados