Buscando artículos sobre "axis"
14-febrero-2015
admin

Consumir webservices bajo Https con Java

Si queremos consumir un WS que corre bajo https podemos realizar lo siguiente:

Paso 1/ Descargar los certificados del servicio

El Keysotre o JKS (Java Key Store) es un repositorio de certificados de seguridad, certificados de autorización o certificados de clave pública, utilizados por ejemplo en el cifrado SSL. Usualmente el JDK contiene un almacén de claves de certificados de autorización (CA) en la ruta jre/lib/security/cacerts. Así mismo el JDK provee una herramienta llamada keytool para manipular el keystore.
Para importar un certificado a nuestro keystore, lo primero que debemos hacer es descargar dicho certificado desde la dirección url del wsdl. Para ello ponemos esa url en un navegador. Al cargar la página podremos comprobar que junto a la barra de direccion saldrá un candado o algo similar (depende del navegador). Al hace click sobre él se nos abrirá un formulario donde se puede ver toda la información referente a los certificados que se usan. Dese esa pantalla se deben exportar (dependiendo del navegador será más o menos complejo encontrar el botón de exportar/copiar en archivo/…).
Se debe exportar en formato X.509 codificado base 64 (.CER)

Paso 2/ Importar el certificado digital a nuestro keystore

Se deben importar los certificados descargados a nuestro almacen de claves. Hay herramientas desde las que se puede hacer de forma bastante cómodo como es Keystore Explorer. Pero sino siempre puedes usar keytool:

keytool -import -keystore "C:\Archivos de programa\Java\jre1.6.0_05\lib\security\cacerts" 
                  -file c:\certificadodescargado.cer -storepass changeit

Paso 3/ Utilización

Ahora al ejecutar nuestra aplicación java al intentar conectar con ese ws localizará los certificados y dejará realizar la conexión. Se le puede indicar donde esta nuestro almacen de certificados así:

System.setProperty("javax.net.ssl.keyStore", "C:\Program Files (x86)\Java\jdk1.6.0_23\jre\lib\security\cacerts");
System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
System.setProperty("javax.net.ssl.trustStore", "C:\Program Files (x86)\Java\jdk1.6.0_23\jre\lib\security\cacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

Más info sobre esto

8-febrero-2012
admin

TCPMON

TCPMON es un sniffer que permite visualizar los paquetes enviados por la red de una forma muy sencilla. Sobretodo, es muy útil cuando se quieren detectar problemas con Servicios Web.


En esta página hay un tutorial bastante completo sobre ello.


Sólo añadir que el tcpmon se encuentra incluido en axis. Por lo tanto, se puede lanzar simplemente ejecutando desde la consola:
java -cp axis.jar org.apache.axis.utils.tcpmon
(Nota: axis.jar está en AXIS_HOME/lib)

Categorias

Linkedin