Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Web services GeneXus Tilo

4,878 views

Published on

Web Services in GeneXus Tilo

  • Be the first to comment

Web services GeneXus Tilo

  1. 1. Servicios WEB: Integración de aplicaciones Artech Diciembre 2013
  2. 2. SOAP REST HTTP
  3. 3. Web Sevices SOAP • Basado en XML • Modelo de comunicación HTTP
  4. 4. Web Services en GeneXus • Proveer • Procedimientos • Call Protocol SOAP • Business Components, DataProviders • Expose as Web Service • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypa geid?11231 • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypa geid?2282
  5. 5. Web Services en GeneXus • Consumidor • WSDL Import Wizard http://wiki.gxtechnical.com/commwiki/servlet/hwikibyp ageid?6181
  6. 6. Definición del consumidor de un Web Service Objetos Externos Paso 1: Indicar la URL del Web Service que se quiere utilizar.
  7. 7. Definición del consumidor de un Web Service Objetos Externos Paso 2: Indicar el nombre que se le dará al External Object, su descripción, carpeta de ubicación y prefijo.
  8. 8. Definición del consumidor de un Web Service Objetos Externos Paso 3: Una vez descubierto el Web Service, presionamos Import para importarlo.
  9. 9. Definición del consumidor de un Web Service Objetos Externos Paso 4: Una vez importado el Web Service, vemos el objeto externo y sus propiedades (View/Properties o F4 sobre el Objeto Externo).
  10. 10. Definición del consumidor de un Web Service Objetos Externos Para conocer la estructura del WS, damos botón derecho sobre el mismo y seleccionamos Open Part / Structure: Conocemos los parámetros
  11. 11. Definición del consumidor de un Web Service Objetos Externos Para consumir el WS definimos una variable basada en el tipo de dato CountryInfoService y luego invocamos al método CapitalCity:
  12. 12. Web Services en GeneXus Manejo de errores http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?7021 http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?7022
  13. 13. Web Services Locations • Para permitir configurar invocaciones a objetos main GeneXus en forma remota. • Se pueden hacer usando el tipo de datos Location de GeneXus o el archivo location.xml. • Instancias para configurar los locations: 1. 2. 3. En tiempo de generación: mediante location.xml En tiempo de ejecución mediante un archivo: location.xml En tiempo de ejecución mediante código: utilizando variables tipo Location • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?6 981 • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?6 111
  14. 14. Ejemplo &location= GetLocation('WebserviceDatatype') &location.Host = Localhost &location.Port = 8085 &location.CancelOnError=2 &location.Timeout=&timeout &outparam= &webservice.Method(&inparams) &SoapErr=GetSOAPErr() &SoapMsg=GetSOAPErrMsg()
  15. 15. TroubleShooting • Tcptrace http://www.gxtechnical.com/gxdlsp/dist/iehelp.htm?genexus/inter net/technicalpapers/debugcallsoap.htm • SoapUI http://www.soapui.org/
  16. 16. Rest
  17. 17. Por qué REST? P o • Optimización de tráfico r • Accesible a cualquier cliente HTTP q u é R E S T
  18. 18. Qué es REST? Q u • Exponer recursos en la web en un formato estándar: XML, Json.. é E s R E S T …. JSON XML
  19. 19. …Invocando un servicio REST Q u é E s R E S T
  20. 20. RESTful Web Services Q u é • Sintáxis universal para identificar los recursos (URI) E s • Definición de una representación del estado R • MIME TYPE: XML, Json.. E S T • Interfaz Uniforme(GET, POST, PUT, DELETE)
  21. 21. Analogía CRUD Q u é E s Resource POST GET PUT DELETE R E S T URI: http://server/Product/ 123 Create Read Update Delete
  22. 22. R E S T e n G E N E X U S REST a la luz de GeneXus • Business Components • Create (POST), Read (GET), Update (PUT), Delete (DELETE) • Data Providers • Read (GET) • Procedures • POST http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?14573
  23. 23. Consumir un servicio REST • HTTPClient Data Type • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?6932 • Método ToJson / FromJson • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?10670 • Método ToXML / FromXML • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?8789 • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?8788
  24. 24. R E S T e n G E N E X U S Lista de Entidades
  25. 25. R E S T e n G E N E X U S • Lista de Entidades / Entidad por PK
  26. 26. R E S T e n G E N E X U S Ejemplo: Exponer un Recurso para modificación
  27. 27. R E S T E n G E N E X U S Cliente de servicio REST
  28. 28. Json 2 SDT • Tools – Application Integration – Json Import • http://wiki.gxtechnical.com /commwiki/servlet/hwikiby pageid?22574
  29. 29. TroubleShooting • Tcptrace http://www.tcptrace.org/ • RestClient https://code.google.com/p/rest-client/
  30. 30. HTTP • Proveer • Procedure : Call Protocol = HTTP • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?7947 • Consumir • HttpClient, HttpRequest, HttpResponse data type. • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?6932
  31. 31. XML Schema Import • Tools/Application integration/XML schema Import. (XSD) • http://wiki.gxtechnical.com /commwiki/servlet/hwikiby pageid?7200

×