Manual de instalación del cliente JAVA-WS



Documentos relacionados
Administración Local Soluciones

Tarea 1 Programación José Luis Comesaña

Solución de firma de pdf (Servidor) PDF_SIGN Versión 1.4

Gestió n de Certificadó Digital

Administración Local Soluciones

Administración Local Soluciones

MANUAL DE ACTUALIZACIÓN DE AGREGA V3.0.5

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

FRAMEWORK 2 Creación de Servicios Web

D.T.Informática S.L. [Sistema hada] hilo Administrador Desarrollo Activo

Manual Instalación de certificados digitales en Outlook 2000

Introducción a la Firma Electrónica en MIDAS

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

CREACIÓN DE WEBSERVICES

Certificados Digitales Tributarios. Guía de Instalación En Estaciones de Trabajo Microsoft Internet Explorer Versión 1.3s

Guía de Instalación. Glpi

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

Analiza y elabora un manual de uso con ejemplos de la herramienta OpenSSL.

AGESIC Gerencia de Proyectos

Para poder instalar el producto, tendremos que obtener el instalador apropiado para nuestro entorno hardware y software.

Firma digital y control de fraude

AGESIC Área de tecnología

Guía de utilización del demostrador cliente de los servicios web de la Plataforma de Contratación del Estado

PRESENTACIÓN TELEMÁTICA DE CUENTAS ANUALES

CA Nimsoft Monitor Snap

WEBSERVICES CON FIRMA DIGITAL Versión 1.2

Manual de Instalación del Certificado ACA en Windows 8.1

Manual de NetBeans y XAMPP

MANUAL PARA LA INSTALACIÓN Y MIGRACIÓN WINSUITE 32 SISTEMA RED. Marzo 2004 MINISTERIO DE TRABAJO Y ASUNTOS SOCIALES

Se ha confeccionado una aplicación sencilla para poder probar el interfaz de gestión explotación de MEGA, Modelo Estandarizado de Gestión de Agua.

egarante Configuración de una cuenta de correo del servicio eginbox en una cuenta existende de Gmail

Servicios Web para el control de publicación de anuncios de notificación en el Tablón Edictal Único

SERVIDOR WEB. Servidores web IIS (Windows) / Apache (Windows y Linux)

Pruebas Técnicas Grabación casos de prueba JMeter. Unidad de Calidad

Registro de Animales destinados a la investigación. (HAMELIN) Manual de Usuario: Centro de Investigación

Instalación del Admin CFDI

Manual de Versión 4.0

Instalación de Tomcat7 en Ubuntu

Guía rápida de la factura electrónica para entidades locales

Conseguir las llaves, certificados y archivo de configuración del servidor VPN.

Guía de Obtención de Certificados para la Facturación Electrónica en Adquira Marketplace.

Instalación de la aplicación de COAS Visado Digital

INSTALACIÓN DE LAS IMPRESORAS DEL CRAI

Gestiona Movil App (versión Android) Manual de Usuario

MANUAL DE ACTUALIZACIÓN DE AGREGA V3.0.4

Ayuda Aplicación SIGI

Ayuda Aplicación Oposición de Inspectores

CFDi Client Manual de Usuario

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

Configuración factura electrónica. construsyc instasyc

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Manual de Usuario de la Herramienta SICRES-Tester. SIR Sistema de Interconexión de Registros. Tipo de documento. Fecha de entrega 08/04/2014

GUIA DE USO - FIRMA DIGITAL DE DOCUMENTOS

Tutorial como conectarse a una VPN utilizando OpenVPN

MANUAL DE INSTALACIÓN Y CONFIGURACIÓN SISTEMA CAJA DE AHORRO COMUNITARIO SCAC

Especificación WebService para:

Copias de Seguridad con SQL Server Realizar una copia de seguridad de Bases de Datos

INSTALACIÓN Y REGISTRO

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

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

El Área de Clientes de la web de Gaia permite descargar la Versión General publicada de su aplicación Gaia.

REGISTRO ELECTRÓNICO DE FACTURAS

Login y Password. Elección de directorios confidenciales

MANUAL DE USUARIO. Versión: 3.5

RESOLUCIÓN DE INCIDENCIAS PROCURADORES

NOTAS TÉCNICAS SOBRE EL SIT: Comunicados (II)

MANUAL DE INSTALACIÓN DEL COMPONENTE WEBSIGNER ACTIVEX. Versión 4.0

Manual de instalación del opencast: Matterhorn

Portal Del Emisor MANUAL DEL USUARIO. Plataforma de Facturación Electrónica

Instalación de Apache y sus módulos

CONDICIONES PARA EL BUEN FUNCIONAMIENTO DE LOS SERVICIOS ELECTRÓNICO

Soporte: visite mysupport.mcafee.com para encontrar soporte, avisos y documentación de productos.

MANUAL DEL PROVEEDOR

Uso de Firma Digital en la Oficina Virtual del Consejo de Seguridad Nuclear

Software Criptográfico FNMT-RCM

PR Plataforma JasperServer Manual de instalación para JasperServer 3.5

SIEWEB. La intranet corporativa de SIE

PortaldelProveedor. portalproveedores.cartagena.es. Presentatu. facturaelectrónica. Ayuntamiento decartagena. enel

Problemas comunes en la integración del módulo V.me by Visa en Prestashop

- MANUAL INSTALACIÓN LINUX -

Certificados digitales

MANUAL DE INSTALACIÓN DEL LECTOR DE TARJETAS

FOROS. Manual de Usuario

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Instalación de una entidad emisora de certificados

Administración Local Soluciones

Redes II Universidad Nacional de Jujuy Facultad de Ingeniería Carrera: APU 2008

MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA

MANUAL DE AYUDA MANEJO DE SHAREPOINT CON GOTELGEST.NET

Programa de Ayuda EMCS Instalación Versión SQL Server Versión Marzo 2010

Descarga, instalación y uso de herramientas:

GUÍA DE COPIAS DE SEGURIDAD

Generación de Certificados SSL

1. INTRODUCCIÓN MANUAL...6

Autenticación Centralizada

Transcripción:

Manual de instalación del cliente JAVA-WS 1

CONTROL DE CAMBIOS Versión Cambios realizados 1.0 Versión inicial 2

TABLA DE CONTENIDOS 1. Introducción... 4 2. Documentación relacionada... 4 3. Requisitos... 4 4. Instalación del cliente... 5 4.1 Creación del almacén de certificados... 5 4.2 Descomprimir el fichero ClienteTEU.zip... 6 4.3 Configurar el cliente... 7 4.3.1 Fichero cliente.properties... 7 4.3.2 Fichero security_config.xml... 8 4.4 Ejecutar el cliente... 9 5. Guía de resolución de problemas... 10 3

1. Introducción El objetivo del presente documento es ofrecer una guía para la instalación de un cliente básico de ejemplo para probar las diferentes operaciones del servicio web de gestión de anuncios del TEU. Se ofrecen los siguientes ejemplos: 1. Ejemplo de envío de un anuncio Se proporciona un ejemplo de un fichero XML con los datos necesarios para realizar un envío de un anuncio, se realiza el envío del XML y se recibe la respuesta por parte del servidor. 2. Ejemplo de consulta de un envío Una vez procesado el envío, se obtiene el identificador del envío, se realiza una llamada al servidor para consultar un envío con dicho identificador y se recibe la respuesta del servidor. 3. Ejemplo de consulta de un anuncio Una vez procesado el envío, se obtiene el identificador del anuncio, se realiza una llamada al servidor para consultar una anuncio con dicho identificador y se recibe la respuesta del servidor. 2. Documentación relacionada Para facilitar la instalación y desarrollo de clientes SOAP que permitan la comunicación con el servidor de la AEBOE para la gestión de notificaciones, se recomienda la consulta de estos documentos. Documentación del servicio web de gestión de anuncios http://boe.es/tablon_edictal_unico/administraciones_publicas/documentos/desc ripcion_servicios_web_servicio_notificaciones_v_1_8.pdf Documentación de JAX-WS https://docs.oracle.com/javaee/6/tutorial/doc/bnayl.html https://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html Documentación de XWS-Security http://docs.oracle.com/cd/e17802_01/webservices/webservices/docs/1.5/tutoria l/doc/xws-security3.html Documentación del almacén de certificados de java http://docs.oracle.com/javase/7/docs/technotes/tools/windows/keytool.html Documentación de Apache-ant http://ant.apache.org/ 3. Requisitos El cliente java ha sido desarrollado utilizando la siguiente infraestructura: 1. JDK Java Development Kit versión 1.7 2. JAX-WS API de java para permitir la invocación de servicios web. Incluida con el JDK 4

3. XWS-Security Framework para incluir la seguridad dentro de los mensajes SOAP. 4. Apache ant Si no se dispone de una herramienta integrada de desarrollo de aplicaciones java, el ejemplo se puede construir y ejecutar utilizando esta herramienta. Importante: La versión XWS-Security que se incluye en el ejemplo no es compatible con la versión 1.8 de java. 4. Instalación del cliente 4.1 Creación del almacén de certificados Las peticiones SOAP que se envíen al servidor deben ir firmadas con un certificado que previamente ha tenido que ser autorizado por la AEBOE para que puede realizar las operaciones de gestión de notificaciones. Para firmar las peticiones, java utiliza JKS (Java KeyStore) por lo que tendremos que importar dentro del almacén de certificados de java, el certificado con el que queremos realizar dicha firma. La plataforma JDK proporciona el comando keytool para el manejo de claves y certificados. (http://docs.oracle.com/javase/7/docs/technotes/tools/windows/keytool.html) Para que este comando pueda ejecutarse desde cualquier directorio, en la variable %PATH% del sistema debe incluirse la ruta al directorio %JAVA_HOME%/bin Crearemos un almacén de certificados Java en el que incluiremos el certificado. Para ello debemos ejecutar: D:\ca> keytool.exe -v -importkeystore -srckeystore certificado.p12 -srcstoretype PKCS12 -srcstorepass password -destkeystore almacen.jks -deststoretype JKS -deststorepass password La entrada del alias alias-certificado se ha importado correctamente. Comando de importacion completado: 1 entradas importadas correctamente, 0 entradas incorrectas o canceladas [Almacenando almacen.jks] Donde: -srckeystore certificado.p12 Mediante esta opción debemos proporcionar el fichero donde tenemos almacenado nuestro certificado software en formato PKCS12. -srcstorepass password Contraseña con la que está protegido el certificado. -destkeystore almacen.jks Nombre del fichero del nuevo almacén de claves. Este valor lo utilizaremos más tarde para configurar el cliente. 5

-deststorepass password Contraseña con la que protegeremos el nuevo almacén de claves. Este valor lo utilizaremos más tarde para configurar el cliente. Importante: Para evitar problemas, la contraseña del almacén de claves debe ser la misma que la contraseña del certificado Si la importación ha ido correctamente, el comando keytool nos informará del alias con el que el certificado ha sido importado dentro del almacén. Este nombre lo necesitaremos posteriormente en el cliente. Si queremos verificar que el certificado ha sido importado correctamente dentro del almacén, podemos ejecutar el siguiente comando: D:\ca> keytool.exe list keystore almacen.jks Introduzca la contraseña del almacén de claves: Tipo de Almacén de Claves: JKS Proveedor de Almacén de Claves: SUN Su almacén de claves contiene 1 entrada alias-certificado, 25-sep-2015, PrivateKeyEntry, Huella Digital de Certificado (SHA1): B:87:DB:69:0A:13:A7:7A:79:A2:0E:70:E2:28: 92:67:6A:50:9D:B6 Mediante este comando se listarán los certificados que están incluidos dentro del almacén de certificados que acabamos de crear. Cuando se nos pida la contraseña del almacén, debemos escribir la que hemos indicado en el apartado anterior. El almacén de claves contiene como entrada el certificado que acabamos de importar. El nombre que tiene el certificado dentro del almacén (alias-certificado) es un dato importante que utilizaremos más tarde en el cliente. 4.2 Descomprimir el fichero ClienteTEU.zip El cliente SOAP se suministra en el archivo ClienteTEU.zip. Lo primero que debemos hacer es descomprimir el fichero dentro de un directorio en nuestro sistema. Una vez descomprimido encontraremos los siguientes ficheros: # Directorio donde se encuentran fuentes y recursos ClienteTEU/src/ ClienteTEU/src/es/boe/teu/client/ ClienteTEU/src/es/boe/teu/config/ ClienteTEU/src/es/boe/teu/handler/ ClienteTEU/src/es/boe/teu/samples/ 6

ClienteTEU/src/es/boe/teu/soap/ # Librerias ClienteTEU/lib/ ClienteTEU/lib/xmlsec.jar ClienteTEU/lib/xws-security-3.0.uar # Script para construir el cliente ClienteTEU/build.xml El cliente java contiene los siguientes directorios es/boe/teu/client Clase principal donde se construyen las peticiones y se realizan las llamadas al servidor de gestión de notificaciones del TEU. es/boe/teu/config Ficheros de configuración para personalizar la instalación de cada cliente. Consultar el apartado 4.3 Configurar el cliente. es/boe/teu/handler Manejadores que reciben los mensajes SOAP generados y los manipulan para incluirle información adicional como por ejemplo la cabecera WSSE. es/boe/teu/samples Fichero de ejemplo de un XML-Envio que será procesado por el servidor de gestión de notificaciones. es/boe/teu/soap Clases del modelo de datos de comunicación SOAP con el servidor. Estas clases son generadas a partir del WSDL del servicio mediante el comando wsimport incluido en el JDK. (https://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html) build.xml Fichero para que el cliente pueda construirse y ejecutarse con el comando ant. 4.3 Configurar el cliente 4.3.1 Fichero cliente.properties El fichero de configuración de la aplicación permitirá confeccionar los valores concretos para el funcionamiento correcto del cliente SOAP en un entorno específico. Este fichero puede localizarse dentro del directorio src. /ClienteTEU/src/es/boe/teu/config/cliente.properties En este fichero debe configurarse las siguientes variables: La variable server.url indicará la localización del wsdl del servicio web de gestión de notificaciones # URL donde se encuentra el WSDL del servicio web de gestión de notificaciones server.url = https://extrademo.boe.es/notificaciones/ws/index.php?wsdl La variable soap.trace permitirá hacer un volcado de los mensajes que se envían y reciben. Por defecto será false. # Habilitar trazas de la comunicacion SOAP soap.trace = false 7

La variables keystore.* son necesarias para proporcionar al cliente los datos relativos al almacén de claves que hemos creado en el apartado anterior. # Fichero donde se encuentra instalado el almacen de claves keystore.url = c:/ca/keystore.jks # Tipo de almacen keystore.type = JKS # Contraseña para acceder al almacén de claves y a la clave privada keystore.password = changeit La variable envio.file se utilizará para indicar la ubicación del fichero xml del envio que tiene que procesarse. Este XML debe cumplir con la estructura XML-Envio que se explica en el documento de especificación del servicio web de gestión de notificaciones. Si no se especifica, por defecto se tomará el fichero de ejemplo que aparece dentro de la distribución del cliente: /ClienteTEU/src/es/boe/teu/samples/envio.xml # Fichero xml con el anuncio(s) que queremos enviar al servidor envio.file = D:/ejemplos/envio.xml 4.3.2 Fichero security_config.xml En este fichero se configura la estructura de la cabecera SOAP de las peticiones que se enviarán al servidor para que cumplan con las especificaciones del protocolo SOAP-WSS y se incluya la firma del mensaje. De esta forma se garantiza la confidencialidad y la integridad de la información. Este fichero puede localizarse en el directorio: /ClienteTEU/src/es/boe/teu/config/security_config.xml Puede encontrar información del xws-security y de su configuración en el documento: http://docs.oracle.com/cd/e17802_01/webservices/webservices/docs/1.5/tutorial/d oc/xws-security3.html En este fichero debe configurarse el nombre del certificado con el que se firmará la petición y que se incluirá dentro de la cabecera del mensaje SOAP. Dentro del elemento <xwss_x509token> debe completarse el atributo certificatealias con en alias que tiene el certificado que hemos guardado en el almacén de claves. <xwss:securityconfiguration dumpmessages="false" xmlns:xwss="http://java.sun.com/xml/ns/xwss/config" > <xwss:sign includetimestamp = "false"> <xwss:x509token certificatealias="alias-certificado"/> <xwss:canonicalizationmethod algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <xwss:signaturemethod algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <xwss:signaturetarget type="qname" value="{http://schemas.xmlsoap.org/soap/envelope/}body"> <xwss:digestmethod algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <xwss:transform algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </xwss:signaturetarget> </xwss:sign> </xwss:securityconfiguration> 8

4.4 Ejecutar el cliente Una vez configurado el cliente, ya podemos compilarlo para que pueda ser ejecutado. Junto con la distribución se proporciona un script para poder construir el proyecto y ejecutar el cliente. Para ello, será necesario tener instalada la herramienta de apache ant (http://ant.apache.org/). Para que esta herramienta funcione correctamente, el entorno tiene que tener definida la variable %JAVA_HOME% apuntado al directorio donde está instalado el JDK. Para que este comando pueda ejecutarse desde cualquier directorio, en la variable %PATH% del sistema debe incluirse la ruta al directorio %ANT_HOME%/bin. Una vez, instalada simplemente debemos situarnos en el directorio base donde hemos descomprimido el cliente y ejecutar el comando ant. D:\ClienteTEU>ant Buildfile: D:\ClienteTEU\build.xml clean: [echo] Limpieza de directorios [delete] Deleting directory D:\ ClienteTEU\bin [delete] Deleting directory D:\ ClienteTEU\dist init: [mkdir] Created dir: D:\ClienteTEU\bin compile: [echo] Compilando ficheros.java [javac] Compiling 17 source files to D:\ ClienteTEU\bin resources: [echo] Copiando recursos [copy] Copying 2 files to D:\ClienteTEU\bin\es\boe\teu\config [copy] Copying 1 file to D:\ClienteTEU\bin\es\boe\teu\samples dist: [echo] Construyendo fichero ClienteTEU.jar [mkdir] Created dir: D:\ClienteTEU\dist [jar] Building jar: D:\ClienteTEU\dist\ClienteTEU.jar run: [java] Leyendo xml de ejemplo [java] Conectando a servidor en URL: https://extradesa.boe.es/notificaciones/ws/index.php?wsdl [java] Procesando envio... [java] envioanuncios(). OK [java] ID. ENVIO: E12015092980003845 [java] ID. ANUNCIO: N1520003897 [java] ----------------------------------------------------------- [java] consultaenvio(). OK [java] ID. ENVIO: E12015092980003845 [java] ID. ANUNCIO: N1520003897 [java] ESTADO ANUNCIO: ACEPTADO [java] ----------------------------------------------------------- [java] consultaanuncio(). OK [java] ID. ENVIO: E12015092980003845 [java] ID. ANUNCIO: N1520003897 [java] ESTADO ANUNCIO: ACEPTADO 9

BUILD SUCCESSFUL Total time: 8 seconds 5. Guía de resolución de problemas A continuación se detallan alguno de los errores que pueden presentarse durante la ejecución del cliente y las acciones que deben llevarse a cabo para su solución. javax.xml.ws.webserviceexception: javax.io.ioexception: D:\ca\store.jks (El sistema no puede encontrar el archivo especificado). SOLUCIÓN: La aplicación no puede localizar el almacén de certificados. Siga los pasos indicados en el apartado 4.1 Creación del almacén de certificados para crear el almacén y complete la propiedad keystore.url del fichero de configuración cliente.properties con la ruta completa del fichero creado. javax.xml.ws.webserviceexception: javax.io.ioexception: Keystore was tampered with or password was incorrect. SOLUCIÓN: La aplicación no puede acceder al almacén de certificados posiblemente porque la contraseña para acceder a él no es válida. Siga los pasos indicados en el apartado 4.1 Creación del almacén de certificados para crear el almacén y complete la propiedad keystore.password del fichero de configuración cliente.properties con la contraseña del almacén. javax.xml.ws.webserviceexception: com.sun.xml.wss.xwssecurityexception: com.sun.xml.wss.xwssecurityexception: com.sun.xml.wss.xwssecurityexception: No X509Certificate was providedjavax.xml.ws.webserviceexception: SOLUCIÓN: La aplicación no puede construir correctamente la petición SOAP ya que no localiza el certificado para firmarla. Revise el fichero de configuración security-config.xml y complete el valor certificatealias del elemento <xwss.x509token> con el valor del alias que tiene el certificado dentro del almacén de claves. Se ha recibido una SOAP FAULT: El certificado no puede ser autenticado o autorizado SOLUCIÓN: La petición se ha enviado correctamente, pero el certificado con el que se está firmando la petición no está autorizado. Revise la propiedad server.url del fichero cliente.properties para ver a qué entorno se está conectando el cliente y compruebe que su certificado ha sido dado de alta en dicho entorno por un administrador de la AEBOE. envioanuncios (). ERROR Error: ERROR_ANUNCIOS - Se ha producido un error en alguno(s) de los anuncio(s) del envio Error: ERROR_EMISOR - El usuario no tiene permisos para publicar anuncios con nodo emisor [E04761301] 10

SOLUCIÓN: La petición se ha enviado correctamente, pero el usuario no tiene permisos para publicar en el nodo emisor. Revise la propiedad server.url del fichero cliente.properties para ver a qué entorno se está conectando el cliente. Revise el fichero XML con el anuncio que está enviando (propiedad envio.file dentro del fichero cliente.properties) y compruebe que el valor del elemento <nodoemisor> de mayor nivel, se corresponde con el ámbito para el que ha sido autorizado por el administrador de la AEBOE en dicho entorno. 11