Openbravo WebServices



Documentos relacionados
SIS TPV VIRTUAL WEBSERVICE

Web Service de Calidad de datos identificativos

Manual de Desarrollador Autenticación Automática

Manual de integración con el TPV Virtual para comercios con conexión por Web Service

Guía de migración a firma HMAC SHA256 Conexión por Web Service

Especificación Técnica del WebService de Autenticación y Autorización

INFORMACION WEBSERVICE DEL SISTEMA DE TRÁNSITO, TRANSBORDO Y REDESTINACIÓN PARA EL SERVICIO NACIONAL DE ADUANAS

Consulta a Padrón Nivel 10

Especificación Técnica del WebService de Autenticación y Autorización

SICOFI (Sistema Integral de Comprobantes Fiscales)- Verificación MANUAL DE USUARIO

Introducción WSDL SOAP::WSDL. Ejemplo. Conclusiones. wsdl2perl.pl

Servicios Web: Concepto

Manual de Desarrollador Externo

Manual de instalación Actualizador masivo de Stocks y Precios

SERVICIO WEB ESTADO DOCUMENTOS TRAMITADOS GUÍA USO

Facturación Electrónica

Manual de Integración con la Plataforma SIR COD. SIR SIR Sistema de Interconexión de Registros. Tipo de documento. Fecha de entrega 24/05/2016

Manual de Integración con la Plataforma SIR COD. SIR SIR Sistema de Interconexión de Registros. Tipo de documento. Fecha de entrega 30/08/2013

Especificación Técnica del Web Service de Autenticación y Autorización WSAA Para el desarrollo de Clientes de Entidades Externas

Facturación Electrónica

Integración de Magento & Dynamics NAV

Ie813RsV32 Recogida de cambio de destino desde formulario web de un documento expedido.

Manual para la utilización de PrestaShop

Las facturas en la Diputación Foral de Gipuzkoa

CREACIÓN DE WEBSERVICES

Manual de instalación Conector FactuSOL Prestashop VERSIÓN PROFESIONAL

Manual de Integración con el Servicio Web de Registro COD. SIR Tipo de documento. Fecha de entrega 26/05/2014.

Informe sobre exportabilidad del sistema español de e-app Informe sobre exportabilidad del sistema español de e-app

Manual Programador. Versión: 1.4.1

MANUAL DE AYUDA MÓDULO PDA ALMACEN E INVENTARIO

Manual de uso de correo seguro en Outlook Express

MANUAL ECOMMERCE 2.0

Consulta a Padrón Nivel 3

DDV: CLIENTE ESCRITORIO LINUX

FRAMEWORK 2 Creación de Servicios Web

Manual Programador. Versión: 1.3.0

Web Service de Calidad de datos identificativos (consulta múltiple)

Guía de integración del módulo de Redsys en Prestashop

Manual de configuración de la red inalámbrica. eduroam. en Microsoft Windows 7

COMERZZIA. Manual de Usuario GUÍA RÁPIDA DE INICIO MP SISTEMAS

MANUAL ECOMMERCE 2BYTE USO

Web Service de Calidad de datos identificativos (consulta múltiple)

MANUAL DE INSTALACIÓN

Requisitos técnicos para la instalación. Arquitectura Hardware Arquitectura Software. Instrucciones de instalación GONG-R

Manual SSO Avant2. Última revisión: 02/05/2013. Copyright Codeoscopic S.A.

Manual de Desarrollador Externo

MANUAL DE AYUDA MODULO TALLAS Y COLORES

NOTAS TÉCNICAS SOBRE EL SIT: Emisión Electrónica de Documentos (EDI)

MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP

Person IP CRM Manual MOBILE

Guía de migración a firma HMAC SHA256 Conexión por Redirección

MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA JOOMLA-VIRTUEMART

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011

Guía de integración del módulo de Iupay en Prestashop

MANUAL DE LA APLICACIÓN HELP DESK

CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

DDV: CLIENTE ESCRITORIO WINDOWS

Sistemas Distribuidos Junio 2008

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Manual de usuario para la parametrización de la integración Openbravo-Sugar

Especificación WebService para:

Documentacion de servicios para los SARCF del proyecto FACe. Equipo de desarrollo de la plataforma FACe. Versión 1.2.9

MANUAL COPIAS DE SEGURIDAD

Conceptos Generales en Joomla

CFDi Client Manual de Usuario

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Consulta a Padrón Nivel 10

Para instalar el software FacturaScripts, primero deberemos descargarlo. Para ello, accedemos a la url:

Administración Local Soluciones

GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS

Servicio de Notificaciones Electrónicas y Dirección Electrónica Habilitada

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

GVisualPDA Módulo de Almacén

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MANUAL DE AYUDA MANEJO DE SHAREPOINT CON GOTELGEST.NET

FOROS. Manual de Usuario

Guía del Gestor de anuncios por Acuerdo de Publicación

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

GUÍA BÁSICA DE USO DEL SISTEMA RED

Objetivos del proyecto:

Manual de Integrador.NET

Escudo Movistar Guía Rápida de Instalación Para Windows

XML SUMARIOS: BORME Sumario BORME Metainformación. Elemento <meta> Información del diario. Elemento <diario>

Resumen ÁREA DE FACTURACIÓN::INFORMES::Pedidos Detalle Resumen ÁREA DE

UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER

INSTALACIÓN DEL MÓDULO... 3 CONFIGURACIÓN DEL MÓDULO... 4 ACTIVACIÓN DEL MÓDULO EN LA ADMINISTRACIÓN:... 4 CONFIGURACIÓN DEL MÓDULO:...

Pagina Principal (front-end) Administrador de la tienda (back-end)

Hacemos que tu negocio se mueva. Plataforma de ventas movilidapp

GMF Gestor de incidencias

Servicio de groupware

Manual de uso. Aula Digital Santillana. (Versión tablet)

MANUAL PRESTASHOP 1.6

Transcripción:

Openbravo WebServices External Point Of Sale 16 Agosto 2006 Revisión 1.1 Visit us at www.openbravo.com

Tabla de Contenidos I.Introducción... 3 II.Definición del producto... 4 II.1Tipo Product... 4 II.2Tipo Category... 4 II.3Tipo Tax... 5 III.Definición del pedido... 6 III.1Tipo Order... 6 III.2Tipo OrderIdentifier... 6 III.3Tipo OrderLine... 6 III.4Tipo Payment... 7 IV.Definición de tercero (BPartner)... 8 IV.1Tipo BPartner... 8 V.Seguridad... 9 VI.API External Sales... 10 VII.Métodos del interfaz... 11 VII.1getProductsCatalog... 11 VII.2uploadOrders... 12 VII.3getOrders... 14 VIII.Cliente... 15 OpenbravoWSExternalPOS_ES - 16 de ago de 2006 2/20

I.Introducción I. Introducción El objetivo de este webservices es proporcionar el interfaz que permita la integración de Openbravo con otros sistemas (por ejemplo con una Tienda Virtual y un TPV) y de esta manera compartan la gestión de productos y pedidos obteniendo así una solución global integrada y más completa. Deberemos definirnos las clases de los objetos que formarán parte de ese interfaz (Productos, Pedidos y Clientes) así como los métodos que podrán ser invocados. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 3/20

II.Definición del producto. II. Definición del producto. Definimos el producto de la siguiente manera: II.1 Tipo Product Campo Tipo Descripción id int Identificador del producto en el ERP. name Java.lang.String Nombre del producto. number Java.lang.String Número de producto. description Java.lang.String Descripción del producto. listprice double Precio del producto sin impuestos y sin tener en cuenta descuentos. purchaseprice double Precio de compra del producto. tax Tax Impuesto asignado a este producto. imageurl Java.lang.String URL desde la cual podemos descargar la imagen asociada a este producto. ean Java.lang.String Código de barras del producto. category Category Categoría a la que pertenece el producto. II.2 Tipo Category Campo Tipo Descripción id int Identificador de la categoría en el ERP. name Java.lang.String Nombre de la categoría. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 4/20

II.Definición del producto. Campo Tipo Descripción description Java.lang.String Descripción de la categoría. II.3 Tipo Tax Campo Tipo Descripción id int Identificador del impuesto. name Java.lang.String Nombre del impuesto. percentage double Valor entre -100 y 100. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 5/20

III.Definición del pedido. III. Definición del pedido. Definiremos el Tipo Order del interfaz de integración de la siguiente manera: III.1 Tipo Order Campo Tipo Descripción orderid OrderIdentifier Identificador de la orden en la Tienda Virtual y el TPV. lines OrderLine [] Array de líneas de orden state int Identificador del estado de la orden. bpartner BPartner Cliente que ha generado la orden. payments Payment [] Array con los pagos realizados sobre la orden. III.2 Tipo OrderIdentifier Campo Tipo Descripción document_no String Identificador de la orden en la Tienda Virtual y el TPV. datenew Java.util.Date Fecha de alta de la orden. III.3 Tipo OrderLine Campo Tipo Descripción orderlineid int Identificador de la linea de orden en el ERP. productid int Identificador del producto. units double Cantidad de productos en la línea. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 6/20

III.Definición del pedido. Campo Tipo Descripción price double Importe de lista del producto vendido. taxid int Impuesto aplicado (Identificador del impuesto aplicado). III.4 Tipo Payment Campo Tipo Descripción amount double Importe satisfecho con el pago. paymenttype String Forma de pago. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 7/20

IV.Definición de tercero (BPartner). IV. Definición de tercero (BPartner). El tercero siempre será de tipo BPartner. IV.1 Tipo BPartner Campo Tipo Descripción id String Identificador de cliente generado en la Tienda Virtual. name String Nombre del cliente. country String País al que pertenece el cliente. region String Estado al que pertenece el cliente. city String Población del cliente. postal String Código postal del cliente. address1 String Primera linea de la dirección del cliente. address2 String Segunda línea de la dirección del cliente. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 8/20

V.Seguridad V. Seguridad Para la implementación de la seguridad se realiza una validación de usuario en cada petición que recibe el ERP desde el webservice, por lo que en cada método se ha de pasar tanto un usuario con los permisos necesarios como su contraseña cifrada (tal y como se almacena en base de datos). Este usuario ha de tener permiso para poder ejecutar la tarea del ExternalPOS (org.openbravo.erpcommon.ws.externalsales.externalsales) dentro del ERP. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 9/20

VI.API External Sales VI. API External Sales Para la posible integración de Openbravo con otros sistemas se ha desarrollado una API denominada ExternalSales que se encarga de proveer los mecanismos necesarios para la integración de Pedidos, Productos y Terceros. La tecnología empleada sobre la que se basa la implementación de la API es AXIS que es una implementación de WebServices desarrollada por Apache de fácil integración en Tomcat. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 10/20

VII.Métodos del interfaz VII. Métodos del interfaz VII.1 getproductscatalog Nombre función getproductscatalog Parámetros entityid:int Identificador de la entidad a la que pertenece la Tienda o TPV en el ERP. organizationid: int saleschannel:int Identificador de la Tienda o TPV en el ERP. Canal de venta. 1. Tienda Virtual = 1 2. TPV = 2 username:string password:string Retorno Product [] Array de productos. PreCondiciones -- PostCondiciones Funcionalidad La Tienda Virtual o el TPV pueden actualizar su catálogo de productos con el obtenido del ERP. Ha de retornar la lista de productos según el canal de venta y la entidad consultada. Cada producto incluye, a parte de su información específica, la información de la categoría a la que pertenece y el impuesto que tiene asociado en el ERP. Para más detalles sobre el tipo Producto ver el apartado Definición de producto. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 11/20

VII.Métodos del interfaz VII.2 uploadorders Nombre función uploadorders Parámetros entityid:int Identificador de la entidad a la que pertenece la Tienda o TPV en el ERP. organizationid: int saleschannel:int Identificador de la Tienda o TPV en el ERP. Canal de venta. 1. Tienda Virtual = 1 2. TPV = 2 username:string password:string neworders:order [] Lista de órdenes que se han de dar de alta en el ERP. Son todas aquellas nuevas órdenes que se han generado en la tienda virtual/tpv desde la última sincronización de órdenes. Retorno void -- PreCondiciones Se ha sincronizado el catálogo de productos con anterioridad. PostCondiciones El ERP almacena la información de las nuevas órdenes. Funcionalidad Dar de alta las nuevas órdenes generadas en la Tienda Virtual o TPV en el ERP. Para ello se ha de completar la siguiente secuencia: 1. Validar que el cliente asociado a la nueva Orden existe (en el caso del TPV el cliente será dummy). Si no existe se ha de dar de alta el cliente. 2. Guardar la orden. La orden se ha de guardar en el ERP con los valores especificados vía el WebService con el objeto Order, más ciertos valores que se informarán de OpenbravoWSExternalPOS_ES - 16 de ago de 2006 12/20

VII.Métodos del interfaz Nombre función uploadorders forma automática. Los valores de la orden serán: 1. Entidad. El valor del parámetro recibido en el WebService. 2. Organización. El valor del parámetro recibido en el WebService. 3. Num. Doc. Generado por Openbravo. 4. Tercero. Es el cliente de asociado a la orden enviada. 5. Tarifa. La tiene que asignar el ERP y debería ser la de defecto para esa Entidad/Organización. 6. Moneda. La asigna el ERP por defecto en función de la Entidad/Organización. 7. Almacén. Lo asigna el ERP en función de la Entidad/Organización. 8. Fecha pedido. Orden.dateNew. 9. Forma de Pago. Orden.paymentType. Por cada Linea de la Orden: 1. Producto. OrderLine.productId. 2. Cantidad. OrderLine.units. 3. Impuesto. OrderLine.tax. 4. Precio. OrderLine.price. 5. Unidad. Lo asigna el ERP en función del producto. Otros valores: Existen otros valores de la orden que es preferible se adapten a la recomendaciones propuestas por Openbravo. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 13/20

VII.Métodos del interfaz VII.3 getorders Nombre función getorders Parámetros entityid:int Identificador de la entidad a la que pertenece la Tienda o TPV en el ERP. organizationid: int Identificador de la Tienda o TPV en el ERP. username:string password:string orderids: OrderIdentifier [] Array de enteros que representan los identificadores de las órdenes que queremos consultar. Retorno Order [] Lista de órdenes solicitada. Funcionalidad Ha de retornar los objetos de tipo Order solicitados vía el parámetro orderids. Con la información devuelta por este servicio se actualizará el estado de las órdenes en el TPV y la Tienda Virtual. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 14/20

VIII.Cliente VIII. Cliente Una vez instalada la aplicación Openbravo podemos comprobar si los webservices están funcionando correctamente escribiendo la siguiente sentencia en nuestro navegador: http://localhost:8880/openbravo/services/externalsales?wsdl suponiendo que la tengamos instalada sobre un servidor local (localhost) y en un contexto de nombre openbravo. Con este comando obtendremos como respuesta el fichero WSDL de nuestro webservice: <?xml version="1.0" encoding="utf-8"?> - <wsdl:definitions targetnamespace="http://localhost:8880/openbravo/services/externa lsales" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8880/openbravo/services/externalsale s" xmlns:intf="http://localhost:8880/openbravo/services/externalsale s" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/xmlschema"> - <!-- WSDL created by Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT) --> - <wsdl:types> - <schema targetnamespace="http://localhost:8880/openbravo/services/externa lsales" xmlns="http://www.w3.org/2001/xmlschema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> - <complextype name="category"> - <sequence> <element name="description" nillable="true" type="xsd:string" /> <element name="id" type="xsd:int" /> <element name="name" nillable="true" type="xsd:string" /> </sequence> - <complextype name="tax"> - <sequence> <element name="id" type="xsd:int" /> <element name="name" nillable="true" type="xsd:string" /> <element name="percentage" type="xsd:double" /> </sequence> - <complextype name="product"> - <sequence> <element name="category" nillable="true" type="impl:category" /> <element name="description" nillable="true" type="xsd:string" /> <element name="ean" nillable="true" type="xsd:string" /> <element name="id" type="xsd:int" /> OpenbravoWSExternalPOS_ES - 16 de ago de 2006 15/20

VIII.Cliente <element name="imageurl" nillable="true" type="xsd:string" /> <element name="listprice" type="xsd:double" /> <element name="name" nillable="true" type="xsd:string" /> <element name="number" nillable="true" type="xsd:string" /> <element name="purchaseprice" type="xsd:double" /> <element name="tax" nillable="true" type="impl:tax" /> </sequence> - <complextype name="arrayofproduct"> - <complexcontent> - <restriction base="soapenc:array"> <attribute ref="soapenc:arraytype" wsdl:arraytype="impl:product[]" /> </restriction> </complexcontent> - <complextype name="bpartner"> - <sequence> <element name="address1" nillable="true" type="xsd:string" /> <element name="address2" nillable="true" type="xsd:string" /> <element name="city" nillable="true" type="xsd:string" /> <element name="country" nillable="true" type="xsd:string" /> <element name="id" nillable="true" type="xsd:string" /> <element name="name" nillable="true" type="xsd:string" /> <element name="postal" nillable="true" type="xsd:string" /> <element name="region" nillable="true" type="xsd:string" /> </sequence> - <complextype name="orderline"> - <sequence> <element name="orderlineid" type="xsd:int" /> <element name="price" type="xsd:double" /> <element name="productid" type="xsd:int" /> <element name="taxid" type="xsd:int" /> <element name="units" type="xsd:double" /> </sequence> - <complextype name="arrayoforderline"> - <complexcontent> - <restriction base="soapenc:array"> <attribute ref="soapenc:arraytype" wsdl:arraytype="impl:orderline[]" /> </restriction> </complexcontent> - <complextype name="orderidentifier"> - <sequence> <element name="datenew" nillable="true" type="xsd:datetime" /> <element name="documentno" nillable="true" type="xsd:string" /> </sequence> - <complextype name="payment"> - <sequence> <element name="amount" type="xsd:double" /> <element name="paymenttype" nillable="true" type="xsd:string" /> </sequence> - <complextype name="arrayofpayment"> - <complexcontent> - <restriction base="soapenc:array"> OpenbravoWSExternalPOS_ES - 16 de ago de 2006 16/20

VIII.Cliente <attribute ref="soapenc:arraytype" wsdl:arraytype="impl:payment[]" /> </restriction> </complexcontent> - <complextype name="order"> - <sequence> <element name="bpartner" nillable="true" type="impl:bpartner" /> <element name="lines" nillable="true" type="impl:arrayoforderline" /> <element name="orderid" nillable="true" type="impl:orderidentifier" /> <element name="payment" nillable="true" type="impl:arrayofpayment" /> <element name="state" type="xsd:int" /> </sequence> - <complextype name="arrayoforder"> - <complexcontent> - <restriction base="soapenc:array"> <attribute ref="soapenc:arraytype" wsdl:arraytype="impl:order[]" /> </restriction> </complexcontent> - <complextype name="arrayoforderidentifier"> - <complexcontent> - <restriction base="soapenc:array"> <attribute ref="soapenc:arraytype" wsdl:arraytype="impl:orderidentifier[]" /> </restriction> </complexcontent> </schema> </wsdl:types> - <wsdl:message name="getordersresponse"> <wsdl:part name="getordersreturn" type="impl:arrayoforder" /> </wsdl:message> - <wsdl:message name="getordersrequest"> <wsdl:part name="in0" type="xsd:int" /> <wsdl:part name="in1" type="xsd:int" /> <wsdl:part name="in2" type="impl:arrayoforderidentifier" /> </wsdl:message> - <wsdl:message name="uploadordersrequest"> <wsdl:part name="in0" type="xsd:int" /> <wsdl:part name="in1" type="xsd:int" /> <wsdl:part name="in2" type="xsd:int" /> <wsdl:part name="in3" type="impl:arrayoforder" /> </wsdl:message> - <wsdl:message name="getproductscatalogresponse"> <wsdl:part name="getproductscatalogreturn" type="impl:arrayofproduct" /> </wsdl:message> <wsdl:message name="uploadordersresponse" /> - <wsdl:message name="getproductscatalogrequest"> <wsdl:part name="in0" type="xsd:int" /> <wsdl:part name="in1" type="xsd:int" /> <wsdl:part name="in2" type="xsd:int" /> </wsdl:message> - <wsdl:porttype name="externalsalesimpl"> OpenbravoWSExternalPOS_ES - 16 de ago de 2006 17/20

VIII.Cliente - <wsdl:operation name="getproductscatalog" parameterorder="in0 in1 in2"> <wsdl:input message="impl:getproductscatalogrequest" name="getproductscatalogrequest" /> <wsdl:output message="impl:getproductscatalogresponse" name="getproductscatalogresponse" /> </wsdl:operation> - <wsdl:operation name="uploadorders" parameterorder="in0 in1 in2 in3"> <wsdl:input message="impl:uploadordersrequest" name="uploadordersrequest" /> <wsdl:output message="impl:uploadordersresponse" name="uploadordersresponse" /> </wsdl:operation> - <wsdl:operation name="getorders" parameterorder="in0 in1 in2"> <wsdl:input message="impl:getordersrequest" name="getordersrequest" /> <wsdl:output message="impl:getordersresponse" name="getordersresponse" /> </wsdl:operation> </wsdl:porttype> - <wsdl:binding name="externalsalessoapbinding" type="impl:externalsalesimpl"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> - <wsdl:operation name="getproductscatalog"> <wsdlsoap:operation soapaction="" /> - <wsdl:input name="getproductscatalogrequest"> <wsdlsoap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://externalsales.ws.erpcommon.openbravo.org" use="encoded" /> </wsdl:input> - <wsdl:output name="getproductscatalogresponse"> <wsdlsoap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8880/openbravo/services/externalsales " use="encoded" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="uploadorders"> <wsdlsoap:operation soapaction="" /> - <wsdl:input name="uploadordersrequest"> <wsdlsoap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://externalsales.ws.erpcommon.openbravo.org" use="encoded" /> </wsdl:input> - <wsdl:output name="uploadordersresponse"> <wsdlsoap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8880/openbravo/services/externalsales " use="encoded" /> </wsdl:output> </wsdl:operation> - <wsdl:operation name="getorders"> <wsdlsoap:operation soapaction="" /> - <wsdl:input name="getordersrequest"> <wsdlsoap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://externalsales.ws.erpcommon.openbravo.org" use="encoded" /> OpenbravoWSExternalPOS_ES - 16 de ago de 2006 18/20

VIII.Cliente </wsdl:input> - <wsdl:output name="getordersresponse"> <wsdlsoap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8880/openbravo/services/externalsales " use="encoded" /> </wsdl:output> </wsdl:operation> </wsdl:binding> - <wsdl:service name="externalsalesimplservice"> - <wsdl:port binding="impl:externalsalessoapbinding" name="externalsales"> <wsdlsoap:address location="http://localhost:8880/openbravo/services/externalsales" /> </wsdl:port> </wsdl:service> </wsdl:definitions> En este momento tenemos dos opciones para la utilización de los webservices: I. Descargar el cliente desde la página de Openbravo y configurar los ficheros con las características de nuestro servidor web (reemplazando el nombre y puerto del servidor con los propios de nuestra instalación). II. Generar los ficheros del cliente mediante la task de ant wsdl2java que añadiremos al build.xml de nuestro proyecto. <property file="build.properties"/> <path id="axis.classpath"> <fileset dir="%axis_lib%/lib/"> <include name="**/*.jar" /> </fileset> </path> <taskdef resource="axis-tasks.properties" classpathref="axis.classpath" /> <target name="wsdl2java"> <axis-wsdl2java url="${wsdl_definitions_url}" output="${generated.dir}" > <mapping namespace="${web_service_url}" package="${package_name}"/> </axis-wsdl2java> </target> Con lo que nos generará todos los ficheros necesarios. OpenbravoWSExternalPOS_ES - 16 de ago de 2006 19/20

VIII.Cliente Con esto ya podemos empezar a utilizar los servicios web, por ejemplo: ExternalSalesImpl externalsales = new ExternalSalesImplServiceLocator().getExternalSales(); Product[] products = externalsales.getproductscatalog(cliente,organizacion,pos);... externalsales.uploadorders(cliente,organizacion,pos, orders_to_upload); OrderIdentifier[] orderidentifiers = new OrderIdentifier[1]; orderidentifiers[0] = createorderidentifier("12345678 ); Order[] orders = externalsales.getorders(cliente,organizacion,orderidentifiers); OpenbravoWSExternalPOS_ES - 16 de ago de 2006 20/20