especificación de web services sistema sap

25
Manual de Web Services Pagina 1 Especificación de Web Services Sistema SAP Descripción El sistema SAP utilizará web services como interfase primaria de comunicación con la base de datos, y por lo tanto servirán como plataforma para realizar la mayoría de las operaciones que se puedan ejecutar dentro del sistema: alta de emisión, siniestro, modificaciones en cada caso, cancelaciones, etc. Al hablar de Web Services nos referimos a lo siguiente: procedimientos que existen en un servidor y pueden ser llamados con el objetivo de facilitarla comunicación máquina-a-máquina, utilizando SOAP como protocolo/lenguaje y WSDL para describir la interfase, sobre HTTP o HTTPS. Haciendo una descripción más detallada de los protocolos, se ofrece la lista siguiente: SOAP (Simple Object Access Protocol) versiones 1.1 y 1.2 Axis 1.2 como motor de publicación de web services. WSDL 1.0 y 2.0. Ambos estándares se soportan para no limitar las plataformas de generación de clientes de WS. Consideraciones Es importante notar que no se utilizará REST ni mensajes dentro de los mensajes, ni formatos customizados tales como JSON. El WSDL de cada uno de los servicios debe especificar tipos de datos simples, tales como string, int y float. En algunos casos se utilizarán arreglos de string, principalmente para devolver los posibles estatus de error, en el caso de las validaciones. Los motivos para no utilizar formatos customizados ni mensajes contenidos en los parámetros (por ejemplo, con un XML dentro de un string) son múltiples: las validaciones quedan fuera del WSDL y por lo tanto los errores devueltos son también customizados, en vez de ser errores estándar de SOAP; las modificaciones al “mensaje interno” no se reflejan en el WSDL y por lo tanto no es posible señalar ni utilizar control de versiones en el mensaje; y finalmente, estos mecanismos impiden la generación automatizada de clientes de dichos web services al requerir una capa secundaria de creación y parseo de los mensajes customizados. Axis 2 soporta SOAP con attachments sin embargo no existen planes para implementarlo en ninguno de los servicios del sistema.

Upload: others

Post on 21-Nov-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

                                     Manual de Web Services 

Pagina 1 

Especificación de Web Services

Sistema SAP

Descripción El sistema SAP utilizará web services como interfase primaria de comunicación con la base de datos, y por lo tanto servirán como plataforma para realizar la mayoría de las operaciones que se puedan ejecutar dentro del sistema: alta de emisión, siniestro, modificaciones en cada caso, cancelaciones, etc. Al hablar de Web Services nos referimos a lo siguiente: procedimientos que existen en un servidor y pueden ser llamados con el objetivo de facilitarla comunicación máquina-a-máquina, utilizando SOAP como protocolo/lenguaje y WSDL para describir la interfase, sobre HTTP o HTTPS. Haciendo una descripción más detallada de los protocolos, se ofrece la lista siguiente:

• SOAP (Simple Object Access Protocol) versiones 1.1 y 1.2 • Axis 1.2 como motor de publicación de web services. • WSDL 1.0 y 2.0. Ambos estándares se soportan para no limitar las

plataformas de generación de clientes de WS.

Consideraciones Es importante notar que no se utilizará REST ni mensajes dentro de los mensajes, ni formatos customizados tales como JSON. El WSDL de cada uno de los servicios debe especificar tipos de datos simples, tales como string, int y float. En algunos casos se utilizarán arreglos de string, principalmente para devolver los posibles estatus de error, en el caso de las validaciones. Los motivos para no utilizar formatos customizados ni mensajes contenidos en los parámetros (por ejemplo, con un XML dentro de un string) son múltiples: las validaciones quedan fuera del WSDL y por lo tanto los errores devueltos son también customizados, en vez de ser errores estándar de SOAP; las modificaciones al “mensaje interno” no se reflejan en el WSDL y por lo tanto no es posible señalar ni utilizar control de versiones en el mensaje; y finalmente, estos mecanismos impiden la generación automatizada de clientes de dichos web services al requerir una capa secundaria de creación y parseo de los mensajes customizados. Axis 2 soporta SOAP con attachments sin embargo no existen planes para implementarlo en ninguno de los servicios del sistema.

                                     Manual de Web Services 

Pagina 2 

Arquitectura Para realizar los llamados a web services, se utilizará el puerto 80 y por lo tanto HTTP como transporte de los mensajes. Esto, para facilitar la comunicación con las empresas, que suelen bloquear los puertos distintos al 80. Se realizarán pruebas de concepto para comprobar que los servicios son accesibles utilizando Axis (Java) y .NET, para soportar las dos plataformas principales de consumo de web services. Todos los servicios y métodos a implementar serán atómicos, es decir, las transacciones se realizarán en una sola llamada al servicio y su posible resultado es binario: se realizan o no. En ningún caso serán necesarios dos llamados a sendos métodos para realizar una operación. En el caso de los procesos por lotes, se evaluará la posibilidad de que la operación no devuelva la respuesta final de inmediato sino un número de ticket, que podrá ser enviado posteriormente durante una llamada a un servicio distinto que informará si el proceso se ha terminado o no, y en caso afirmativo devolverá la respuesta final. Sin embargo, el proceso principal seguirá dependiendo únicamente de la primera llamada, y la segunda llamada será sólo para revisar el estatus de la respuesta. Adicionalmente, todas las operaciones serán síncronas, y en ningún caso se utilizarán las propiedades asíncronas que Axis 2 permite en los web services. Esta decisión se tomó debido a que muy pocos toolkits de web services soportan los llamados asíncronos y su modelo de ejecución. Todo esto significa que los clientes de los servicios quedarán bloqueados hasta que les sea devuelta una respuesta u ocurra un timeout, y por lo tanto la lógica para manejar dichas situaciones debe ser implementada en el cliente.

Autenticación La autenticación del mensaje se implementará por medio de un usuario y password contenidos en los parámetros del llamado al servicio, es decir, no se utilizará ningún mecanismo nativo de autenticación de web services tales como WS-Security, por considerarse poco comunes en las diferentes plataformas de web services, tanto en Java como en .NET y otros lenguajes. Se tomó la decisión de tampoco utilizar la autenticación nativa de HTTP (Basic, Digest, certificados) por considerarlo poco seguro, aún a pesar de que HTTPS se utilizara. La autenticación básica se rechaza debido a que las credenciales se envían en texto sin encriptar, y que a menudo se dejan estos parámetros fijos dentro de las rutinas de llamado del web service. El método digest no se utilizará debido a que su implementación varía entre plataformas, y la autenticación por certificado implica el uso de autoridades certificadoras y manejo de certificados, cuestiones que quedan fuera del ámbito del presente proyecto.

                                     Manual de Web Services 

Pagina 3 

WSDL de cada web service

Emisión • Alta • Modificación • Cancelación • Rehabilitación • Validación de alta • Validación de modificación • Validación de cancelación/rehabilitación

Los tres web services de validación reciben los mismos parámetros: póliza, inciso, fecha de inicio de vigencia, fecha de fin de vigencia. Sin embargo, no devuelven los mismos resultados porque cada uno evalúa, además de la existencia de la emisión (en el caso de modificación y cancelación/rehabilitación), que su estatus sea el correcto. En el caso de los web services para alta y modificación, reciben exactamente los mismos parámetros. Sin embargo, obviamente para la modificación es necesario que la emisión exista previamente. En todos los casos, la respuesta del web service es un String con el siguiente formato: Número de error, Descripción del error Por ejemplo 104, La emisión no existe 105, El estatus de la emisión no permite la operación actual Se diseñó de este modo para simplificar los servicios y no obligar a consultar el catálogo de errores cada vez. El diccionario de datos para cada uno de los parámetros es el mismo (nombre, tipo y orden del parámetro) que está especificado en el documento de lotes para SAP. Sólo en el caso de alta y modificación se omitió la última variable (tipo de movimiento) para sustituirse por un método para alta y otro para modificación. En todos los casos, los campos que se especifiquen como “Fecha” se reciben y se envían como String, para evitar problemas con los formatos de cada plataforma. El formato de fecha será en todos los casos DD-MM-AAAA, opcionalmente especificando la hora como HH:MM:SS. La interfase en Java puede ser útil para conocer el nombre de los parámetros, que no están especificados en el WSDL: String validaAlta(String usuario, String password, String noPoliza, String inciso, String fechaInicioVigencia, String fechaFinVigencia);

                                     Manual de Web Services 

Pagina 4 

String validaModificacion(String usuario, String password, String noPoliza, String inciso, String fechaInicioVigencia, String fechaFinVigencia); String validaCancelacion(String usuario, String password, String noPoliza, String inciso, String fechaInicioVigencia, String fechaFinVigencia); String validaRehabilitacion(String usuario, String password, String noPoliza, String inciso, String fechaInicioVigencia, String fechaFinVigencia); String alta(String usuario, String password, String poliza, String inciso, String fechaInicioVigencia, String fechaFinVigencia, String serie, int marca, int submarca, int modelo, int tipoTransporte, int cliente1TipoPersona, int tipoServicio, String cliente1ApPaterno, String cliente1ApMaterno, String cliente1Nombre, String cliente1Rfc, String cliente1Curp, String cliente2ApPaterno, String cliente2ApMaterno, String cliente2Nombre, String beneficiarioApPaterno, String beneficiarioApMaterno, String beneficiarioNombre, String beneficiarioRfc, String beneficiarioCurp, int canalVenta, String agente); String modificacion(String usuario, String password, String poliza, String inciso, String fechaInicioVigencia, String fechaFinVigencia, String serie, int marca, int submarca, int modelo, int tipoTransporte, int cliente1TipoPersona, int tipoServicio, String cliente1ApPaterno, String cliente1ApMaterno, String cliente1Nombre, String cliente1Rfc, String cliente1Curp, String cliente2ApPaterno, String cliente2ApMaterno, String cliente2Nombre, String beneficiarioApPaterno, String beneficiarioApMaterno, String beneficiarioNombre, String beneficiarioRfc, String beneficiarioCurp, int canalVenta, String agente); String cancelacion(String usuario, String password, String poliza, String inciso, String fechaInicioVigencia, String fechaFinVigencia, String fechaCancelacion); String rehabilitacion(String usuario, String password, String poliza, String inciso, String fechaInicioVigencia, String fechaFinVigencia, String fechaRehabilitacion);

El WSDL es el siguiente (puede obtenerse de manera directa en la dirección http://200.94.66.67:8080/sap/services/emision?wsdl): <?xml version='1.0' encoding='UTF-8'?><wsdl:definitions name="Emision" targetNamespace="http://ws.sap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.sap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ws.sap/" xmlns:tns="http://ws.sap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="alta" type="tns:alta"/> <xsd:complexType name="alta"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" type="xsd:string"/> <xsd:element minOccurs="0" name="arg6" type="xsd:string"/> <xsd:element name="arg7" type="xsd:int"/> <xsd:element name="arg8" type="xsd:int"/> <xsd:element name="arg9" type="xsd:int"/> <xsd:element name="arg10" type="xsd:int"/> <xsd:element name="arg11" type="xsd:int"/> <xsd:element name="arg12" type="xsd:int"/> <xsd:element minOccurs="0" name="arg13" type="xsd:string"/> <xsd:element minOccurs="0" name="arg14" type="xsd:string"/> <xsd:element minOccurs="0" name="arg15" type="xsd:string"/> <xsd:element minOccurs="0" name="arg16" type="xsd:string"/> <xsd:element minOccurs="0" name="arg17" type="xsd:string"/> <xsd:element minOccurs="0" name="arg18" type="xsd:string"/> <xsd:element minOccurs="0" name="arg19" type="xsd:string"/> <xsd:element minOccurs="0" name="arg20" type="xsd:string"/> <xsd:element minOccurs="0" name="arg21" type="xsd:string"/> <xsd:element minOccurs="0" name="arg22" type="xsd:string"/> <xsd:element minOccurs="0" name="arg23" type="xsd:string"/> <xsd:element minOccurs="0" name="arg24" type="xsd:string"/> <xsd:element minOccurs="0" name="arg25" type="xsd:string"/> <xsd:element name="arg26" type="xsd:int"/> <xsd:element minOccurs="0" name="arg27" type="xsd:string"/> </xsd:sequence> </xsd:complexType>

                                     Manual de Web Services 

Pagina 5 

<xsd:element name="altaResponse" type="tns:altaResponse"/> <xsd:complexType name="altaResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaRehabilitacion" type="tns:validaRehabilitacion"/> <xsd:complexType name="validaRehabilitacion"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaRehabilitacionResponse" type="tns:validaRehabilitacionResponse"/> <xsd:complexType name="validaRehabilitacionResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaCancelacion" type="tns:validaCancelacion"/> <xsd:complexType name="validaCancelacion"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaCancelacionResponse" type="tns:validaCancelacionResponse"/> <xsd:complexType name="validaCancelacionResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaModificacion" type="tns:validaModificacion"/> <xsd:complexType name="validaModificacion"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaModificacionResponse" type="tns:validaModificacionResponse"/> <xsd:complexType name="validaModificacionResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaAlta" type="tns:validaAlta"/> <xsd:complexType name="validaAlta"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaAltaResponse" type="tns:validaAltaResponse"/> <xsd:complexType name="validaAltaResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType>

                                     Manual de Web Services 

Pagina 6 

<xsd:element name="rehabilitacion" type="tns:rehabilitacion"/> <xsd:complexType name="rehabilitacion"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" type="xsd:string"/> <xsd:element minOccurs="0" name="arg6" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="rehabilitacionResponse" type="tns:rehabilitacionResponse"/> <xsd:complexType name="rehabilitacionResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="cancelacion" type="tns:cancelacion"/> <xsd:complexType name="cancelacion"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" type="xsd:string"/> <xsd:element minOccurs="0" name="arg6" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="cancelacionResponse" type="tns:cancelacionResponse"/> <xsd:complexType name="cancelacionResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="modificacion" type="tns:modificacion"/> <xsd:complexType name="modificacion"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" type="xsd:string"/> <xsd:element minOccurs="0" name="arg6" type="xsd:string"/> <xsd:element name="arg7" type="xsd:int"/> <xsd:element name="arg8" type="xsd:int"/> <xsd:element name="arg9" type="xsd:int"/> <xsd:element name="arg10" type="xsd:int"/> <xsd:element name="arg11" type="xsd:int"/> <xsd:element name="arg12" type="xsd:int"/> <xsd:element minOccurs="0" name="arg13" type="xsd:string"/> <xsd:element minOccurs="0" name="arg14" type="xsd:string"/> <xsd:element minOccurs="0" name="arg15" type="xsd:string"/> <xsd:element minOccurs="0" name="arg16" type="xsd:string"/> <xsd:element minOccurs="0" name="arg17" type="xsd:string"/> <xsd:element minOccurs="0" name="arg18" type="xsd:string"/> <xsd:element minOccurs="0" name="arg19" type="xsd:string"/> <xsd:element minOccurs="0" name="arg20" type="xsd:string"/> <xsd:element minOccurs="0" name="arg21" type="xsd:string"/> <xsd:element minOccurs="0" name="arg22" type="xsd:string"/> <xsd:element minOccurs="0" name="arg23" type="xsd:string"/> <xsd:element minOccurs="0" name="arg24" type="xsd:string"/> <xsd:element minOccurs="0" name="arg25" type="xsd:string"/> <xsd:element name="arg26" type="xsd:int"/> <xsd:element minOccurs="0" name="arg27" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="modificacionResponse" type="tns:modificacionResponse"/> <xsd:complexType name="modificacionResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence>

                                     Manual de Web Services 

Pagina 7 

</xsd:complexType> </xsd:schema> </wsdl:types> <wsdl:message name="validaModificacionResponse"> <wsdl:part element="tns:validaModificacionResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaCancelacion"> <wsdl:part element="tns:validaCancelacion" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaAlta"> <wsdl:part element="tns:validaAlta" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaRehabilitacion"> <wsdl:part element="tns:validaRehabilitacion" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaModificacion"> <wsdl:part element="tns:validaModificacion" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaAltaResponse"> <wsdl:part element="tns:validaAltaResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaRehabilitacionResponse"> <wsdl:part element="tns:validaRehabilitacionResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="alta"> <wsdl:part element="tns:alta" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="rehabilitacion"> <wsdl:part element="tns:rehabilitacion" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="modificacionResponse"> <wsdl:part element="tns:modificacionResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="modificacion"> <wsdl:part element="tns:modificacion" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaCancelacionResponse"> <wsdl:part element="tns:validaCancelacionResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="cancelacion"> <wsdl:part element="tns:cancelacion" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="altaResponse"> <wsdl:part element="tns:altaResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="cancelacionResponse"> <wsdl:part element="tns:cancelacionResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="rehabilitacionResponse"> <wsdl:part element="tns:rehabilitacionResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:portType name="EmisionPortType"> <wsdl:operation name="alta"> <wsdl:input message="tns:alta" name="alta"> </wsdl:input> <wsdl:output message="tns:altaResponse" name="altaResponse"> </wsdl:output> </wsdl:operation>

                                     Manual de Web Services 

Pagina 8 

<wsdl:operation name="validaRehabilitacion"> <wsdl:input message="tns:validaRehabilitacion" name="validaRehabilitacion"> </wsdl:input> <wsdl:output message="tns:validaRehabilitacionResponse" name="validaRehabilitacionResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaCancelacion"> <wsdl:input message="tns:validaCancelacion" name="validaCancelacion"> </wsdl:input> <wsdl:output message="tns:validaCancelacionResponse" name="validaCancelacionResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaModificacion"> <wsdl:input message="tns:validaModificacion" name="validaModificacion"> </wsdl:input> <wsdl:output message="tns:validaModificacionResponse" name="validaModificacionResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaAlta"> <wsdl:input message="tns:validaAlta" name="validaAlta"> </wsdl:input> <wsdl:output message="tns:validaAltaResponse" name="validaAltaResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="rehabilitacion"> <wsdl:input message="tns:rehabilitacion" name="rehabilitacion"> </wsdl:input> <wsdl:output message="tns:rehabilitacionResponse" name="rehabilitacionResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="cancelacion"> <wsdl:input message="tns:cancelacion" name="cancelacion"> </wsdl:input> <wsdl:output message="tns:cancelacionResponse" name="cancelacionResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="modificacion"> <wsdl:input message="tns:modificacion" name="modificacion"> </wsdl:input> <wsdl:output message="tns:modificacionResponse" name="modificacionResponse"> </wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="EmisionSoapBinding" type="tns:EmisionPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="alta"> <soap:operation soapAction="" style="document"/> <wsdl:input name="alta"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="altaResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaCancelacion"> <soap:operation soapAction="" style="document"/> <wsdl:input name="validaCancelacion"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="validaCancelacionResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaRehabilitacion"> <soap:operation soapAction="" style="document"/> <wsdl:input name="validaRehabilitacion"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="validaRehabilitacionResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaModificacion"> <soap:operation soapAction="" style="document"/>

                                     Manual de Web Services 

Pagina 9 

<wsdl:input name="validaModificacion"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="validaModificacionResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaAlta"> <soap:operation soapAction="" style="document"/> <wsdl:input name="validaAlta"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="validaAltaResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="rehabilitacion"> <soap:operation soapAction="" style="document"/> <wsdl:input name="rehabilitacion"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="rehabilitacionResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="cancelacion"> <soap:operation soapAction="" style="document"/> <wsdl:input name="cancelacion"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="cancelacionResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="modificacion"> <soap:operation soapAction="" style="document"/> <wsdl:input name="modificacion"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="modificacionResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="Emision"> <wsdl:port binding="tns:EmisionSoapBinding" name="EmisionPort"> <soap:address location="http://localhost:8080/sap/services/emision"/> </wsdl:port> </wsdl:service> </wsdl:definitions>

Siniestro • Alta • Modificación • Cancelación • Validación de alta • Validación de modificación • Validación de cancelación

Los tres web services de validación reciben los mismos parámetros: número de siniestro, póliza, inciso. Sin embargo, no devuelven los mismos resultados porque cada uno evalúa, además de la existencia del siniestro y la emisión, que su estatus sea el correcto.

                                     Manual de Web Services 

Pagina 10 

En el caso de los web services para alta y modificación, reciben exactamente los mismos parámetros. Sin embargo, obviamente para la modificación es necesario que la emisión exista previamente. En todos los casos, la respuesta del web service es un String con el siguiente formato: Número de error, Descripción del error Por ejemplo 114, El siniestro no existe 115, El estatus del siniestro no permite la operación actual Se diseñó de este modo para simplificar los servicios y no obligar a consultar el catálogo de errores cada vez. La interfase Java está definida como sigue: String validaAlta(String usuario, String password, String numSiniestro, String poliza, String inciso); String validaModificacion(String usuario, String password, String numSiniestro, String poliza, String inciso); String validaCancelacion(String usuario, String password, String numSiniestro, String poliza, String inciso); String alta(String usuario, String password, String numSiniestro, String poliza, String inciso, String fechaSiniestro, String serie, int causaSiniestro, float monto, int pais, int estado, int municipio, int tipoAfectado, String afectadoApPaterno, String afectadoApMaterno, String afectadoNombre, String afectadoRfc, String afectadoCurp, String conductorApPaterno, String conductorApMaterno, String conductorNombre, String conductorRfc, String conductorCurp ); String modificacion(String usuario, String password, String numSiniestro, String poliza, String inciso, String fechaSiniestro, String serie, int causaSiniestro, float monto, int pais, int estado, int municipio, int tipoAfectado, String afectadoApPaterno, String afectadoApMaterno, String afectadoNombre, String afectadoRfc, String afectadoCurp, String conductorApPaterno, String conductorApMaterno, String conductorNombre, String conductorRfc, String conductorCurp ); String cancelacion(String usuario, String password, String numSiniestro, String poliza, String inciso, String fechaSiniestro, String fechaCancelacion);

El WSDL es el siguiente (puede obtenerse de manera directa en la dirección http://200.94.66.67:8080/sap/services/siniestro?wsdl): <?xml version='1.0' encoding='UTF-8'?><wsdl:definitions name="Siniestro" targetNamespace="http://ws.sap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.sap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ws.sap/" xmlns:tns="http://ws.sap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="alta" type="tns:alta"/>

                                     Manual de Web Services 

Pagina 11 

<xsd:complexType name="alta"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" type="xsd:string"/> <xsd:element minOccurs="0" name="arg6" type="xsd:string"/> <xsd:element name="arg7" type="xsd:int"/> <xsd:element name="arg8" type="xsd:float"/> <xsd:element name="arg9" type="xsd:int"/> <xsd:element name="arg10" type="xsd:int"/> <xsd:element name="arg11" type="xsd:int"/> <xsd:element name="arg12" type="xsd:int"/> <xsd:element minOccurs="0" name="arg13" type="xsd:string"/> <xsd:element minOccurs="0" name="arg14" type="xsd:string"/> <xsd:element minOccurs="0" name="arg15" type="xsd:string"/> <xsd:element minOccurs="0" name="arg16" type="xsd:string"/> <xsd:element minOccurs="0" name="arg17" type="xsd:string"/> <xsd:element minOccurs="0" name="arg18" type="xsd:string"/> <xsd:element minOccurs="0" name="arg19" type="xsd:string"/> <xsd:element minOccurs="0" name="arg20" type="xsd:string"/> <xsd:element minOccurs="0" name="arg21" type="xsd:string"/> <xsd:element minOccurs="0" name="arg22" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="altaResponse" type="tns:altaResponse"/> <xsd:complexType name="altaResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaCancelacion" type="tns:validaCancelacion"/> <xsd:complexType name="validaCancelacion"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaCancelacionResponse" type="tns:validaCancelacionResponse"/> <xsd:complexType name="validaCancelacionResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaModificacion" type="tns:validaModificacion"/> <xsd:complexType name="validaModificacion"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaModificacionResponse" type="tns:validaModificacionResponse"/> <xsd:complexType name="validaModificacionResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="validaAlta" type="tns:validaAlta"/> <xsd:complexType name="validaAlta"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> </xsd:sequence>

                                     Manual de Web Services 

Pagina 12 

</xsd:complexType> <xsd:element name="validaAltaResponse" type="tns:validaAltaResponse"/> <xsd:complexType name="validaAltaResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="cancelacion" type="tns:cancelacion"/> <xsd:complexType name="cancelacion"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" type="xsd:string"/> <xsd:element minOccurs="0" name="arg6" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="cancelacionResponse" type="tns:cancelacionResponse"/> <xsd:complexType name="cancelacionResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="modificacion" type="tns:modificacion"/> <xsd:complexType name="modificacion"> <xsd:sequence> <xsd:element minOccurs="0" name="arg0" type="xsd:string"/> <xsd:element minOccurs="0" name="arg1" type="xsd:string"/> <xsd:element minOccurs="0" name="arg2" type="xsd:string"/> <xsd:element minOccurs="0" name="arg3" type="xsd:string"/> <xsd:element minOccurs="0" name="arg4" type="xsd:string"/> <xsd:element minOccurs="0" name="arg5" type="xsd:string"/> <xsd:element minOccurs="0" name="arg6" type="xsd:string"/> <xsd:element name="arg7" type="xsd:int"/> <xsd:element name="arg8" type="xsd:float"/> <xsd:element name="arg9" type="xsd:int"/> <xsd:element name="arg10" type="xsd:int"/> <xsd:element name="arg11" type="xsd:int"/> <xsd:element name="arg12" type="xsd:int"/> <xsd:element minOccurs="0" name="arg13" type="xsd:string"/> <xsd:element minOccurs="0" name="arg14" type="xsd:string"/> <xsd:element minOccurs="0" name="arg15" type="xsd:string"/> <xsd:element minOccurs="0" name="arg16" type="xsd:string"/> <xsd:element minOccurs="0" name="arg17" type="xsd:string"/> <xsd:element minOccurs="0" name="arg18" type="xsd:string"/> <xsd:element minOccurs="0" name="arg19" type="xsd:string"/> <xsd:element minOccurs="0" name="arg20" type="xsd:string"/> <xsd:element minOccurs="0" name="arg21" type="xsd:string"/> <xsd:element minOccurs="0" name="arg22" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="modificacionResponse" type="tns:modificacionResponse"/> <xsd:complexType name="modificacionResponse"> <xsd:sequence> <xsd:element minOccurs="0" name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:schema> </wsdl:types> <wsdl:message name="validaModificacionResponse"> <wsdl:part element="tns:validaModificacionResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaCancelacionResponse"> <wsdl:part element="tns:validaCancelacionResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="cancelacion"> <wsdl:part element="tns:cancelacion" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaAlta">

                                     Manual de Web Services 

Pagina 13 

<wsdl:part element="tns:validaAlta" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaCancelacion"> <wsdl:part element="tns:validaCancelacion" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="altaResponse"> <wsdl:part element="tns:altaResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="cancelacionResponse"> <wsdl:part element="tns:cancelacionResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaModificacion"> <wsdl:part element="tns:validaModificacion" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="validaAltaResponse"> <wsdl:part element="tns:validaAltaResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="alta"> <wsdl:part element="tns:alta" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="modificacionResponse"> <wsdl:part element="tns:modificacionResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="modificacion"> <wsdl:part element="tns:modificacion" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:portType name="SiniestroPortType"> <wsdl:operation name="alta"> <wsdl:input message="tns:alta" name="alta"> </wsdl:input> <wsdl:output message="tns:altaResponse" name="altaResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaCancelacion"> <wsdl:input message="tns:validaCancelacion" name="validaCancelacion"> </wsdl:input> <wsdl:output message="tns:validaCancelacionResponse" name="validaCancelacionResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaModificacion"> <wsdl:input message="tns:validaModificacion" name="validaModificacion"> </wsdl:input> <wsdl:output message="tns:validaModificacionResponse" name="validaModificacionResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaAlta"> <wsdl:input message="tns:validaAlta" name="validaAlta"> </wsdl:input> <wsdl:output message="tns:validaAltaResponse" name="validaAltaResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="cancelacion"> <wsdl:input message="tns:cancelacion" name="cancelacion"> </wsdl:input> <wsdl:output message="tns:cancelacionResponse" name="cancelacionResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="modificacion"> <wsdl:input message="tns:modificacion" name="modificacion"> </wsdl:input> <wsdl:output message="tns:modificacionResponse" name="modificacionResponse"> </wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="SiniestroSoapBinding" type="tns:SiniestroPortType">

                                     Manual de Web Services 

Pagina 14 

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="alta"> <soap:operation soapAction="" style="document"/> <wsdl:input name="alta"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="altaResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaCancelacion"> <soap:operation soapAction="" style="document"/> <wsdl:input name="validaCancelacion"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="validaCancelacionResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaModificacion"> <soap:operation soapAction="" style="document"/> <wsdl:input name="validaModificacion"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="validaModificacionResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="validaAlta"> <soap:operation soapAction="" style="document"/> <wsdl:input name="validaAlta"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="validaAltaResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="cancelacion"> <soap:operation soapAction="" style="document"/> <wsdl:input name="cancelacion"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="cancelacionResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="modificacion"> <soap:operation soapAction="" style="document"/> <wsdl:input name="modificacion"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="modificacionResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="Siniestro"> <wsdl:port binding="tns:SiniestroSoapBinding" name="SiniestroPort"> <soap:address location="http://localhost:8080/sap/services/siniestro"/> </wsdl:port> </wsdl:service> </wsdl:definitions>

                                     Manual de Web Services 

Pagina 15 

Consultas • Por póliza y siniestro • Por número de siniestro • De coincidencias

Las consultas, a diferencia de las operaciones que modifican la base de datos, devuelven necesariamente más de un registro, más de una vez. Por lo tanto se crearon objetos particulares para cada una de ellas, que se describen a continuación: RespuestaConsultaPorPolizaInciso[] porPolizaInciso(String usuario, String password, String poliza, String inciso); RespuestaConsultaPorNumSiniestro[] porNumSiniestro(String usuario, String password, String numSiniestro, String poliza, String inciso); RespuestaConsultaCoincidencias[] coincidencias(String usuario, String password, String noSerie, int tipoTransporte);

Y los objetos por cada método son los siguientes: RespuestaConsultaPorPolizaInciso String cia ; String inicioVigencia ; String finVigencia; String estatusEmision; String fechaMovto ; String noSerie; String descripcionTtrans ; String descripcionMarca ; String descripcionTipo ; int modelo; String personac1 ; String cliente1Paterno; String cliente1Materno; String cliente1Nombre ; String cliente1Rfc; String cliente1Curp; String cliente2Paterno; String cliente2Materno; String cliente2Nombre ; String personaBenef; String benefPaterno; String benefMaterno; String benefNombre ; String numSiniestro; String fechaSiniestro ; String idCausaSiniestro ; String causaSiniestro ; float montoSiniestro ; int idMunicipio ; String municipio; String afectado ; String afectadoPaterno; String afectadoMaterno; String afectadoNombre ; String afectadoRfc; String afectadoCurp; String conductorPaterno; String conductorMaterno; String conductorNombre; String conductorRfc ; String conductorCurp ; String estatusSiniestro ; RespuestaConsultaPorNumSiniestro String numSiniestro ; String poliza ; String inciso ; String noSerie ; String fechaSiniestro ; int idCausaSiniestro ; String causaSiniestro ; String montoSiniestro ; int idMunicipio ; String municipio ; String afectado; String afectadoPaterno ; String afectadoMaterno ;

                                     Manual de Web Services 

Pagina 16 

String afectadoNombre ; String afectadoRfc; String afectadoCurp; String conductorPaterno; String conductorMaterno; String conductorNombre ; String conductorRfc ; String conductorCurp ; String estatusSiniestro ; RespuestaConsultaCoincidencias String cia ; String inicioVigencia ; String finVigencia; String estatusEmision; String fechaMovto ; String noSerie; String descripcionTtrans ; String descripcionMarca ; String descripcionTipo ; int modelo; String personac1 ; String cliente1Paterno; String cliente1Materno; String cliente1Nombre ; String cliente1Rfc; String cliente1Curp; String cliente2Paterno; String cliente2Materno; String cliente2Nombre ; String personaBenef; String benefPaterno; String benefMaterno; String benefNombre ; String numSiniestro; String fechaSiniestro ; String idCausaSiniestro ; String causaSiniestro ; float montoSiniestro ; int idMunicipio ; String municipio; String afectado ; String afectadoPaterno; String afectadoMaterno; String afectadoNombre ; String afectadoRfc; String afectadoCurp; String conductorPaterno; String conductorMaterno; String conductorNombre; String conductorRfc ; String conductorCurp ; String estatusSiniestro ;

El WSDL, como en los casos anteriores, puede obtenerse de manera directa en la dirección http://200.94.66.67:8080/sap/services/consulta?wsdl: <?xml version='1.0' encoding='UTF-8'?><wsdl:definitions name="Consulta" targetNamespace="http://ws.sap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.sap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://ws.sap/" xmlns="http://ws.sap/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="respuestaConsultaCoincidencias"> <xs:sequence> <xs:element minOccurs="0" name="afectado" type="xs:string"/> <xs:element minOccurs="0" name="afectadoCurp" type="xs:string"/> <xs:element minOccurs="0" name="afectadoMaterno" type="xs:string"/> <xs:element minOccurs="0" name="afectadoNombre" type="xs:string"/> <xs:element minOccurs="0" name="afectadoPaterno" type="xs:string"/> <xs:element minOccurs="0" name="afectadoRfc" type="xs:string"/> <xs:element minOccurs="0" name="benefMaterno" type="xs:string"/> <xs:element minOccurs="0" name="benefNombre" type="xs:string"/> <xs:element minOccurs="0" name="benefPaterno" type="xs:string"/> <xs:element minOccurs="0" name="causaSiniestro" type="xs:string"/>

                                     Manual de Web Services 

Pagina 17 

<xs:element minOccurs="0" name="cia" type="xs:string"/> <xs:element minOccurs="0" name="cliente1Curp" type="xs:string"/> <xs:element minOccurs="0" name="cliente1Materno" type="xs:string"/> <xs:element minOccurs="0" name="cliente1Nombre" type="xs:string"/> <xs:element minOccurs="0" name="cliente1Paterno" type="xs:string"/> <xs:element minOccurs="0" name="cliente1Rfc" type="xs:string"/> <xs:element minOccurs="0" name="cliente2Materno" type="xs:string"/> <xs:element minOccurs="0" name="cliente2Nombre" type="xs:string"/> <xs:element minOccurs="0" name="cliente2Paterno" type="xs:string"/> <xs:element minOccurs="0" name="conductorCurp" type="xs:string"/> <xs:element minOccurs="0" name="conductorMaterno" type="xs:string"/> <xs:element minOccurs="0" name="conductorNombre" type="xs:string"/> <xs:element minOccurs="0" name="conductorPaterno" type="xs:string"/> <xs:element minOccurs="0" name="conductorRfc" type="xs:string"/> <xs:element minOccurs="0" name="descripcionMarca" type="xs:string"/> <xs:element minOccurs="0" name="descripcionTipo" type="xs:string"/> <xs:element minOccurs="0" name="descripcionTtrans" type="xs:string"/> <xs:element minOccurs="0" name="estatusEmision" type="xs:string"/> <xs:element minOccurs="0" name="estatusSiniestro" type="xs:string"/> <xs:element minOccurs="0" name="fechaMovto" type="xs:string"/> <xs:element minOccurs="0" name="fechaSiniestro" type="xs:string"/> <xs:element minOccurs="0" name="finVigencia" type="xs:string"/> <xs:element minOccurs="0" name="idCausaSiniestro" type="xs:string"/> <xs:element name="idMunicipio" type="xs:int"/> <xs:element minOccurs="0" name="inicioVigencia" type="xs:string"/> <xs:element name="modelo" type="xs:int"/> <xs:element name="montoSiniestro" type="xs:float"/> <xs:element minOccurs="0" name="municipio" type="xs:string"/> <xs:element minOccurs="0" name="noSerie" type="xs:string"/> <xs:element minOccurs="0" name="numSiniestro" type="xs:string"/> <xs:element minOccurs="0" name="personaBenef" type="xs:string"/> <xs:element minOccurs="0" name="personac1" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="respuestaConsultaPorNumSiniestro"> <xs:sequence> <xs:element minOccurs="0" name="afectado" type="xs:string"/> <xs:element minOccurs="0" name="afectadoCurp" type="xs:string"/> <xs:element minOccurs="0" name="afectadoMaterno" type="xs:string"/> <xs:element minOccurs="0" name="afectadoNombre" type="xs:string"/> <xs:element minOccurs="0" name="afectadoPaterno" type="xs:string"/> <xs:element minOccurs="0" name="afectadoRfc" type="xs:string"/> <xs:element minOccurs="0" name="causaSiniestro" type="xs:string"/> <xs:element minOccurs="0" name="conductorCurp" type="xs:string"/> <xs:element minOccurs="0" name="conductorMaterno" type="xs:string"/> <xs:element minOccurs="0" name="conductorNombre" type="xs:string"/> <xs:element minOccurs="0" name="conductorPaterno" type="xs:string"/> <xs:element minOccurs="0" name="conductorRfc" type="xs:string"/> <xs:element minOccurs="0" name="estatusSiniestro" type="xs:string"/> <xs:element minOccurs="0" name="fechaSiniestro" type="xs:string"/> <xs:element name="idCausaSiniestro" type="xs:int"/> <xs:element name="idMunicipio" type="xs:int"/> <xs:element minOccurs="0" name="inciso" type="xs:string"/> <xs:element minOccurs="0" name="montoSiniestro" type="xs:string"/> <xs:element minOccurs="0" name="municipio" type="xs:string"/> <xs:element minOccurs="0" name="noSerie" type="xs:string"/> <xs:element minOccurs="0" name="numSiniestro" type="xs:string"/> <xs:element minOccurs="0" name="poliza" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="respuestaConsultaPorPolizaInciso"> <xs:sequence> <xs:element minOccurs="0" name="afectado" type="xs:string"/> <xs:element minOccurs="0" name="afectadoCurp" type="xs:string"/> <xs:element minOccurs="0" name="afectadoMaterno" type="xs:string"/> <xs:element minOccurs="0" name="afectadoNombre" type="xs:string"/> <xs:element minOccurs="0" name="afectadoPaterno" type="xs:string"/> <xs:element minOccurs="0" name="afectadoRfc" type="xs:string"/> <xs:element minOccurs="0" name="benefMaterno" type="xs:string"/> <xs:element minOccurs="0" name="benefNombre" type="xs:string"/> <xs:element minOccurs="0" name="benefPaterno" type="xs:string"/> <xs:element minOccurs="0" name="causaSiniestro" type="xs:string"/> <xs:element minOccurs="0" name="cia" type="xs:string"/> <xs:element minOccurs="0" name="cliente1Curp" type="xs:string"/>

                                     Manual de Web Services 

Pagina 18 

<xs:element minOccurs="0" name="cliente1Materno" type="xs:string"/> <xs:element minOccurs="0" name="cliente1Nombre" type="xs:string"/> <xs:element minOccurs="0" name="cliente1Paterno" type="xs:string"/> <xs:element minOccurs="0" name="cliente1Rfc" type="xs:string"/> <xs:element minOccurs="0" name="cliente2Materno" type="xs:string"/> <xs:element minOccurs="0" name="cliente2Nombre" type="xs:string"/> <xs:element minOccurs="0" name="cliente2Paterno" type="xs:string"/> <xs:element minOccurs="0" name="conductorCurp" type="xs:string"/> <xs:element minOccurs="0" name="conductorMaterno" type="xs:string"/> <xs:element minOccurs="0" name="conductorNombre" type="xs:string"/> <xs:element minOccurs="0" name="conductorPaterno" type="xs:string"/> <xs:element minOccurs="0" name="conductorRfc" type="xs:string"/> <xs:element minOccurs="0" name="descripcionMarca" type="xs:string"/> <xs:element minOccurs="0" name="descripcionTipo" type="xs:string"/> <xs:element minOccurs="0" name="descripcionTtrans" type="xs:string"/> <xs:element minOccurs="0" name="estatusEmision" type="xs:string"/> <xs:element minOccurs="0" name="estatusSiniestro" type="xs:string"/> <xs:element minOccurs="0" name="fechaMovto" type="xs:string"/> <xs:element minOccurs="0" name="fechaSiniestro" type="xs:string"/> <xs:element minOccurs="0" name="finVigencia" type="xs:string"/> <xs:element minOccurs="0" name="idCausaSiniestro" type="xs:string"/> <xs:element name="idMunicipio" type="xs:int"/> <xs:element minOccurs="0" name="inicioVigencia" type="xs:string"/> <xs:element name="modelo" type="xs:int"/> <xs:element name="montoSiniestro" type="xs:float"/> <xs:element minOccurs="0" name="municipio" type="xs:string"/> <xs:element minOccurs="0" name="noSerie" type="xs:string"/> <xs:element minOccurs="0" name="numSiniestro" type="xs:string"/> <xs:element minOccurs="0" name="personaBenef" type="xs:string"/> <xs:element minOccurs="0" name="personac1" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="coincidencias" type="coincidencias"/> <xs:complexType name="coincidencias"> <xs:sequence> <xs:element minOccurs="0" name="arg0" type="xs:string"/> <xs:element minOccurs="0" name="arg1" type="xs:string"/> <xs:element minOccurs="0" name="arg2" type="xs:string"/> <xs:element name="arg3" type="xs:int"/> </xs:sequence> </xs:complexType> <xs:element name="coincidenciasResponse" type="coincidenciasResponse"/> <xs:complexType name="coincidenciasResponse"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="respuestaConsultaCoincidencias"/> </xs:sequence> </xs:complexType> <xs:element name="porNumSiniestro" type="porNumSiniestro"/> <xs:complexType name="porNumSiniestro"> <xs:sequence> <xs:element minOccurs="0" name="arg0" type="xs:string"/> <xs:element minOccurs="0" name="arg1" type="xs:string"/> <xs:element minOccurs="0" name="arg2" type="xs:string"/> <xs:element minOccurs="0" name="arg3" type="xs:string"/> <xs:element minOccurs="0" name="arg4" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="porNumSiniestroResponse" type="porNumSiniestroResponse"/> <xs:complexType name="porNumSiniestroResponse"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="respuestaConsultaPorNumSiniestro"/> </xs:sequence> </xs:complexType> <xs:element name="porPolizaInciso" type="porPolizaInciso"/> <xs:complexType name="porPolizaInciso"> <xs:sequence> <xs:element minOccurs="0" name="arg0" type="xs:string"/> <xs:element minOccurs="0" name="arg1" type="xs:string"/> <xs:element minOccurs="0" name="arg2" type="xs:string"/> <xs:element minOccurs="0" name="arg3" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="porPolizaIncisoResponse" type="porPolizaIncisoResponse"/> <xs:complexType name="porPolizaIncisoResponse">

                                     Manual de Web Services 

Pagina 19 

<xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="respuestaConsultaPorPolizaInciso"/> </xs:sequence> </xs:complexType> </xs:schema> </wsdl:types> <wsdl:message name="porNumSiniestroResponse"> <wsdl:part element="tns:porNumSiniestroResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="porNumSiniestro"> <wsdl:part element="tns:porNumSiniestro" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="coincidenciasResponse"> <wsdl:part element="tns:coincidenciasResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="porPolizaIncisoResponse"> <wsdl:part element="tns:porPolizaIncisoResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="coincidencias"> <wsdl:part element="tns:coincidencias" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="porPolizaInciso"> <wsdl:part element="tns:porPolizaInciso" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:portType name="ConsultaPortType"> <wsdl:operation name="coincidencias"> <wsdl:input message="tns:coincidencias" name="coincidencias"> </wsdl:input> <wsdl:output message="tns:coincidenciasResponse" name="coincidenciasResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="porNumSiniestro"> <wsdl:input message="tns:porNumSiniestro" name="porNumSiniestro"> </wsdl:input> <wsdl:output message="tns:porNumSiniestroResponse" name="porNumSiniestroResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="porPolizaInciso"> <wsdl:input message="tns:porPolizaInciso" name="porPolizaInciso"> </wsdl:input> <wsdl:output message="tns:porPolizaIncisoResponse" name="porPolizaIncisoResponse"> </wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="ConsultaSoapBinding" type="tns:ConsultaPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="coincidencias"> <soap:operation soapAction="" style="document"/> <wsdl:input name="coincidencias"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="coincidenciasResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="porNumSiniestro"> <soap:operation soapAction="" style="document"/> <wsdl:input name="porNumSiniestro"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="porNumSiniestroResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="porPolizaInciso"> <soap:operation soapAction="" style="document"/> <wsdl:input name="porPolizaInciso"> <soap:body use="literal"/>

                                     Manual de Web Services 

Pagina 20 

</wsdl:input> <wsdl:output name="porPolizaIncisoResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="Consulta"> <wsdl:port binding="tns:ConsultaSoapBinding" name="ConsultaPort"> <soap:address location="http://localhost:8080/sap/services/consulta"/> </wsdl:port> </wsdl:service> </wsdl:definitions>

Alertas • Alerta • Detalle de alerta

Las alertas, del mismo modo que las consultas, devuelven necesariamente más de un registro, más de una vez. Por lo tanto se crearon objetos particulares para cada una de ellas, que se describen a continuación: RespuestaAlerta[] consultaAlerta(String usuario, String password, String noSerie); RespuestaDetalleAlerta detalleAlerta(String usuario, String password, String noSerie);

Y los objetos por cada método son los siguientes: public class RespuestaAlerta { String sistema; String descripcion; String error; public class RespuestaDetalleAlerta { RespuestaDetalleAlertaEmision[] emision; RespuestaDetalleAlertaSiniestro[] siniestro; RespuestaDetalleAlertaOcra[] ocra; RespuestaDetalleAlertaPt[] pt; RespuestaDetalleAlertaSipac[] sipac; RespuestaDetalleAlertaCii[] cii; RespuestaDetalleAlertaScd[] scd; RespuestaDetalleAlertaCesvi cesvi; String error; public class RespuestaDetalleAlertaEmision { String ttrans_desc; String marca_desc; String tipo_desc; String modelo; String tipo_servicio; String cia; String poliza; String inciso; String inicio_vigencia; String fin_vigencia; String persona_c1; String cliente1_paterno; String cliente1_materno; String cliente1_nombre; String canal_venta; String agente; public class RespuestaDetalleAlertaSiniestro { String cia; String num_siniestro; String poliza; String inciso; String fecha_siniestro; String causa_siniestro; String monto_siniestro; String estatus; public class RespuestaDetalleAlertaOcra { String estatus; String ttrans_desc;

                                     Manual de Web Services 

Pagina 21 

String marca_desc; String tipo_desc; String modelo; String placa; String cia; String num_siniestro; String fecha_robo; String tipo_robo; String fecha_localizacion; String remarcado; String fecha_recuperacion; public class RespuestaDetalleAlertaPt { String ttrans_desc; String marca_desc; String tipo_desc; String modelo; String placa; String cia; String num_siniestro; String fecha_siniestro; String porcentaje_perdida; String tipo_dano; String uso; String monto_pago; String tipo_pago; String fecha_pago; String estatus_veh_pago; String fecha_finiquito; String tipo_venta; String importe_venta; String fecha_venta; String fecha_factura; String estatus_veh_vta; public class RespuestaDetalleAlertaSipac { String ttrans_desc; String marca_desc; String tipo_desc; String modelo; String placa; String cia_dudora; String siniestro_deudor; String fecha_siniestro; String responsabilidad; String tipo_orden; String cia_acreedora; String fecha_exp; String fecha_estatus; public class RespuestaDetalleAlertaCii { String cia; String num_siniestro; String num_poliza; String fecha_siniestro; String tipo_siniestro; String tipo_atencion; String fecha_deteccion; String tipo_hecho; String importe; public class RespuestaDetalleAlertaScd { String ttrans_desc; String marca_desc; String tipo_desc; String annio_modelo; String placas; String ave_previa; String siniestro; String deposito; String fecha_ingreso; String fecha_egreso; String compania; String num_economico; public class RespuestaDetalleAlertaCesvi { private String estatus; private String mensajeEstatus; private String tipoVehiculo; private String marca; private String submarca; private String linea; private String motor; private String anio;

                                     Manual de Web Services 

Pagina 22 

private String complemento; private String vin; private int idMensaje; private String mensaje;

El WSDL es el siguiente (accesible en http://200.94.66.67:8080/sap/services/consulta?wsdl) <?xml version='1.0' encoding='UTF-8'?><wsdl:definitions name="Alerta" targetNamespace="http://ws.sap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.sap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://ws.sap/" xmlns:tns="http://ws.sap/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="respuestaDetalleAlerta"> <xs:sequence> <xs:element minOccurs="0" name="cesvi" type="tns:respuestaDetalleAlertaCesvi"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="cii" nillable="true" type="tns:respuestaDetalleAlertaCii"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="emision" nillable="true" type="tns:respuestaDetalleAlertaEmision"/> <xs:element minOccurs="0" name="error" type="xs:string"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="ocra" nillable="true" type="tns:respuestaDetalleAlertaOcra"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="pt" nillable="true" type="tns:respuestaDetalleAlertaPt"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="scd" nillable="true" type="tns:respuestaDetalleAlertaScd"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="siniestro" nillable="true" type="tns:respuestaDetalleAlertaSiniestro"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="sipac" nillable="true" type="tns:respuestaDetalleAlertaSipac"/> </xs:sequence> </xs:complexType> <xs:complexType name="respuestaDetalleAlertaCesvi"> <xs:sequence> <xs:element minOccurs="0" name="anio" type="xs:string"/> <xs:element minOccurs="0" name="complemento" type="xs:string"/> <xs:element minOccurs="0" name="estatus" type="xs:string"/> <xs:element name="idMensaje" type="xs:int"/> <xs:element minOccurs="0" name="linea" type="xs:string"/> <xs:element minOccurs="0" name="marca" type="xs:string"/> <xs:element minOccurs="0" name="mensaje" type="xs:string"/> <xs:element minOccurs="0" name="mensajeEstatus" type="xs:string"/> <xs:element minOccurs="0" name="motor" type="xs:string"/> <xs:element minOccurs="0" name="submarca" type="xs:string"/> <xs:element minOccurs="0" name="tipoVehiculo" type="xs:string"/> <xs:element minOccurs="0" name="vin" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="respuestaDetalleAlertaCii"> <xs:sequence> <xs:element minOccurs="0" name="cia" type="xs:string"/> <xs:element minOccurs="0" name="fecha_deteccion" type="xs:string"/> <xs:element minOccurs="0" name="fecha_siniestro" type="xs:string"/> <xs:element minOccurs="0" name="importe" type="xs:string"/> <xs:element minOccurs="0" name="num_poliza" type="xs:string"/> <xs:element minOccurs="0" name="num_siniestro" type="xs:string"/> <xs:element minOccurs="0" name="tipo_atencion" type="xs:string"/> <xs:element minOccurs="0" name="tipo_hecho" type="xs:string"/> <xs:element minOccurs="0" name="tipo_siniestro" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="respuestaDetalleAlertaEmision"> <xs:sequence> <xs:element minOccurs="0" name="agente" type="xs:string"/> <xs:element minOccurs="0" name="canal_venta" type="xs:string"/> <xs:element minOccurs="0" name="cia" type="xs:string"/> <xs:element minOccurs="0" name="cliente1_materno" type="xs:string"/> <xs:element minOccurs="0" name="cliente1_nombre" type="xs:string"/> <xs:element minOccurs="0" name="cliente1_paterno" type="xs:string"/> <xs:element minOccurs="0" name="fin_vigencia" type="xs:string"/> <xs:element minOccurs="0" name="inciso" type="xs:string"/> <xs:element minOccurs="0" name="inicio_vigencia" type="xs:string"/> <xs:element minOccurs="0" name="marca_desc" type="xs:string"/> <xs:element minOccurs="0" name="modelo" type="xs:string"/> <xs:element minOccurs="0" name="persona_c1" type="xs:string"/> <xs:element minOccurs="0" name="poliza" type="xs:string"/>

                                     Manual de Web Services 

Pagina 23 

<xs:element minOccurs="0" name="tipo_desc" type="xs:string"/> <xs:element minOccurs="0" name="tipo_servicio" type="xs:string"/> <xs:element minOccurs="0" name="ttrans_desc" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="respuestaDetalleAlertaOcra"> <xs:sequence> <xs:element minOccurs="0" name="cia" type="xs:string"/> <xs:element minOccurs="0" name="estatus" type="xs:string"/> <xs:element minOccurs="0" name="fecha_localizacion" type="xs:string"/> <xs:element minOccurs="0" name="fecha_recuperacion" type="xs:string"/> <xs:element minOccurs="0" name="fecha_robo" type="xs:string"/> <xs:element minOccurs="0" name="marca_desc" type="xs:string"/> <xs:element minOccurs="0" name="modelo" type="xs:string"/> <xs:element minOccurs="0" name="num_siniestro" type="xs:string"/> <xs:element minOccurs="0" name="placa" type="xs:string"/> <xs:element minOccurs="0" name="remarcado" type="xs:string"/> <xs:element minOccurs="0" name="tipo_desc" type="xs:string"/> <xs:element minOccurs="0" name="tipo_robo" type="xs:string"/> <xs:element minOccurs="0" name="ttrans_desc" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="respuestaDetalleAlertaPt"> <xs:sequence> <xs:element minOccurs="0" name="cia" type="xs:string"/> <xs:element minOccurs="0" name="estatus_veh_pago" type="xs:string"/> <xs:element minOccurs="0" name="estatus_veh_vta" type="xs:string"/> <xs:element minOccurs="0" name="fecha_factura" type="xs:string"/> <xs:element minOccurs="0" name="fecha_finiquito" type="xs:string"/> <xs:element minOccurs="0" name="fecha_pago" type="xs:string"/> <xs:element minOccurs="0" name="fecha_siniestro" type="xs:string"/> <xs:element minOccurs="0" name="fecha_venta" type="xs:string"/> <xs:element minOccurs="0" name="importe_venta" type="xs:string"/> <xs:element minOccurs="0" name="marca_desc" type="xs:string"/> <xs:element minOccurs="0" name="modelo" type="xs:string"/> <xs:element minOccurs="0" name="monto_pago" type="xs:string"/> <xs:element minOccurs="0" name="num_siniestro" type="xs:string"/> <xs:element minOccurs="0" name="placa" type="xs:string"/> <xs:element minOccurs="0" name="porcentaje_perdida" type="xs:string"/> <xs:element minOccurs="0" name="tipo_dano" type="xs:string"/> <xs:element minOccurs="0" name="tipo_desc" type="xs:string"/> <xs:element minOccurs="0" name="tipo_pago" type="xs:string"/> <xs:element minOccurs="0" name="tipo_venta" type="xs:string"/> <xs:element minOccurs="0" name="ttrans_desc" type="xs:string"/> <xs:element minOccurs="0" name="uso" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="respuestaDetalleAlertaScd"> <xs:sequence> <xs:element minOccurs="0" name="annio_modelo" type="xs:string"/> <xs:element minOccurs="0" name="ave_previa" type="xs:string"/> <xs:element minOccurs="0" name="compania" type="xs:string"/> <xs:element minOccurs="0" name="deposito" type="xs:string"/> <xs:element minOccurs="0" name="fecha_egreso" type="xs:string"/> <xs:element minOccurs="0" name="fecha_ingreso" type="xs:string"/> <xs:element minOccurs="0" name="marca_desc" type="xs:string"/> <xs:element minOccurs="0" name="num_economico" type="xs:string"/> <xs:element minOccurs="0" name="placas" type="xs:string"/> <xs:element minOccurs="0" name="siniestro" type="xs:string"/> <xs:element minOccurs="0" name="tipo_desc" type="xs:string"/> <xs:element minOccurs="0" name="ttrans_desc" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="respuestaDetalleAlertaSiniestro"> <xs:sequence> <xs:element minOccurs="0" name="causa_siniestro" type="xs:string"/> <xs:element minOccurs="0" name="cia" type="xs:string"/> <xs:element minOccurs="0" name="estatus" type="xs:string"/> <xs:element minOccurs="0" name="fecha_siniestro" type="xs:string"/> <xs:element minOccurs="0" name="inciso" type="xs:string"/> <xs:element minOccurs="0" name="monto_siniestro" type="xs:string"/> <xs:element minOccurs="0" name="num_siniestro" type="xs:string"/> <xs:element minOccurs="0" name="poliza" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="respuestaDetalleAlertaSipac"> <xs:sequence> <xs:element minOccurs="0" name="cia_acreedora" type="xs:string"/> <xs:element minOccurs="0" name="cia_dudora" type="xs:string"/> <xs:element minOccurs="0" name="fecha_estatus" type="xs:string"/> <xs:element minOccurs="0" name="fecha_exp" type="xs:string"/> <xs:element minOccurs="0" name="fecha_siniestro" type="xs:string"/> <xs:element minOccurs="0" name="marca_desc" type="xs:string"/> <xs:element minOccurs="0" name="modelo" type="xs:string"/> <xs:element minOccurs="0" name="placa" type="xs:string"/>

                                     Manual de Web Services 

Pagina 24 

<xs:element minOccurs="0" name="responsabilidad" type="xs:string"/> <xs:element minOccurs="0" name="siniestro_deudor" type="xs:string"/> <xs:element minOccurs="0" name="tipo_desc" type="xs:string"/> <xs:element minOccurs="0" name="tipo_orden" type="xs:string"/> <xs:element minOccurs="0" name="ttrans_desc" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="respuestaAlerta"> <xs:sequence> <xs:element minOccurs="0" name="descripcion" type="xs:string"/> <xs:element minOccurs="0" name="error" type="xs:string"/> <xs:element minOccurs="0" name="sistema" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="detalleAlerta" type="tns:detalleAlerta"/> <xs:complexType name="detalleAlerta"> <xs:sequence> <xs:element minOccurs="0" name="arg0" type="xs:string"/> <xs:element minOccurs="0" name="arg1" type="xs:string"/> <xs:element minOccurs="0" name="arg2" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="detalleAlertaResponse" type="tns:detalleAlertaResponse"/> <xs:complexType name="detalleAlertaResponse"> <xs:sequence> <xs:element minOccurs="0" name="return" type="tns:respuestaDetalleAlerta"/> </xs:sequence> </xs:complexType> <xs:element name="consultaAlerta" type="tns:consultaAlerta"/> <xs:complexType name="consultaAlerta"> <xs:sequence> <xs:element minOccurs="0" name="arg0" type="xs:string"/> <xs:element minOccurs="0" name="arg1" type="xs:string"/> <xs:element minOccurs="0" name="arg2" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="consultaAlertaResponse" type="tns:consultaAlertaResponse"/> <xs:complexType name="consultaAlertaResponse"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="tns:respuestaAlerta"/> </xs:sequence> </xs:complexType> </xs:schema> </wsdl:types> <wsdl:message name="detalleAlerta"> <wsdl:part element="tns:detalleAlerta" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="consultaAlerta"> <wsdl:part element="tns:consultaAlerta" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="detalleAlertaResponse"> <wsdl:part element="tns:detalleAlertaResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="consultaAlertaResponse"> <wsdl:part element="tns:consultaAlertaResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:portType name="AlertaPortType"> <wsdl:operation name="detalleAlerta"> <wsdl:input message="tns:detalleAlerta" name="detalleAlerta"> </wsdl:input> <wsdl:output message="tns:detalleAlertaResponse" name="detalleAlertaResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="consultaAlerta"> <wsdl:input message="tns:consultaAlerta" name="consultaAlerta"> </wsdl:input> <wsdl:output message="tns:consultaAlertaResponse" name="consultaAlertaResponse"> </wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="AlertaSoapBinding" type="tns:AlertaPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="consultaAlerta"> <soap:operation soapAction="" style="document"/> <wsdl:input name="consultaAlerta"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="consultaAlertaResponse"> <soap:body use="literal"/> </wsdl:output>

                                     Manual de Web Services 

Pagina 25 

</wsdl:operation> <wsdl:operation name="detalleAlerta"> <soap:operation soapAction="" style="document"/> <wsdl:input name="detalleAlerta"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="detalleAlertaResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="Alerta"> <wsdl:port binding="tns:AlertaSoapBinding" name="AlertaPort"> <soap:address location="http://localhost:8888/sap/services/alerta"/> </wsdl:port> </wsdl:service> </wsdl:definitions>