Showing posts with label webservices. Show all posts
Showing posts with label webservices. Show all posts

12 August 2014

WS02 ESB - Orquestación de servicios

En este documento hay un ejemplo de como orquestar llamadas a múltiples WS desde una única interfaz Proxy.



- FIN -

27 September 2011

Como instalar FuseIDE

Descargar Eclipse Helios SR2 (Importante que sea Eclipse IDE for Java Developers - 64 bits)
O
Descargar Eclipse Helios SR2 (Importante que sea Eclipse IDE for Java Developers - 32 bits)




Help->Install New Software -> Add -> http://repo.fusesource.com/ide/


Help->Install New Software -> Helios - http://download.eclipse.org/releases/helios
  • Actualizar "Modeling" y reiniciar.
  • Actualizar "SOA Development" (Desactivar Java Workflow Tooling) y reiniciar.
  • Actualizar "Web, XML, and Java EE Development" y reiniciar


Enlaces relacionados:

http://fusesource.com/products/fuse-ide/


- FIN -

23 March 2011

Consumir WebServices sobre HTTPS con ADF

A grandes rasgos, lo primero, para poder hacer esto, es obtener e instalar el certificado del servidor del cual se consumiran los servicios, luego hay que registrar dicho certificado en el keystore de la JVM que esta usando JDeveloper y en  el keystore del servidor weblogic de desarrollo que viene con JDeveloper.



Para saber la ubicación de la JVM que usa JDev lo podemos ver en el fichero de configuración jdev.conf:

/usr/Oracle/Middleware/jdeveloper/jdev/bin$ gedit jdev.conf

Es la linea => SetJavaHome /usr/java/jrockit-jdk1.6.0_20-R28.1.0-4.0.1



Sabiendo ahora la ubicación de la JDK, en su keystore hay que instalar el certificado del servidor https al cual nos conectaremos ("svn.servidor.es.cert" sera el nombre del fichero físico con el certificado, la contraseña por defecto es "changeit")

emmerson@emmerson-laptop:/usr/java/jrockit-jdk1.6.0_20-R28.1.0-4.0.1/jre/lib/security$ sudo keytool -importcert -file svn.servidor.es.cert -alias myAliasRoot -keystore cacerts -trustcacerts



Ahora solo queda instalar el certificado en el keystore del servidor weblogic; la ubicación del keystore se puede obtener desde la consola de administración del mismo (en el caso del servidor integrado de JDev http://localhosto:7101/console) DefaultDomain >Resumen de Servidores >DefaultServer -> Almacén de claves

emmerson@emmerson-laptop:/usr/java/jrockit-jdk1.6.0_20-R28.1.0-4.0.1/jre/lib/security$ sudo keytool -importcert -file svn.servidor.es.cert -alias myAliasRoot -keystore /usr/Oracle/Middleware/wlserver_10.3/server/lib/DemoTrust.jks -trustcacerts

La contraseña por defecto para esta keystore es "DemoTrustKeyStorePassPhrase".

Ahora ya se pueden generar y probar los stubs del ws que queremos utilizar.

- FIN -

11 October 2009

Dynamic SOAP-WS LoadTest with SOAPUI & Groovy

La idea de este post es mostrar como realizar test de carga con datos dinámicos sobre Web Services SOAP, utilizando SoapUI y Groovy. Para este ejemplo se ha utilizado la aplicación de ejemplo "calculator" que trae consigo Netbeans.

Diagrama EPC - Líneas de proceso gestionadas por eventos

En la imagen superior se puede observar todo el proceso (vista global) a seguir ... pero previamente:
  1. Se ha de crear un proyecto en SOAPUI
  2. Se ga de registrar el WSDL del WS Calculator dentro del proyecto
  3. Se ha de crear una juego de pruebas(TestSuite) para el WSDL antes registrado
  4. Dentro del método add se ha de crear la siguiente estructura de pasos:
    1. Un elemento propiedades
    2. 3 scripts de groovy
    3. 1 request al método del ws (se crea por defecto)

Bien ahora solo nos queda modificar la request creada por defecto a fin de que pueda utilizar distintos datos en cada llamada y poner cuerpo a los scripts de Groovy.

Modificación de la request (petición SOAP)





Cargar datos iniciales
log.info( "SCRIPT CargaDatosIniciales" )
/////////////////////////////////////////////

def propiedades = testRunner.testCase.getTestStepByName( "Propiedades" );
def propIndex = propiedades.getProperty( "index" )
def propValores = propiedades.getProperty( "values" )

//se guarda como una cadena de texto, con los valores separados por un espacio en blanco
//se hace para luego poder hacer un split de la propiedad
def list = ""
for( i in 1..7 ){
list +=  i + " "
}
log.info( "Numero de elementos a consultar " + list.size() + "." )
log.info( list  )

propIndex.value = 0
propValores.value = list


Actualizar registro actual
log.info( "SCRIPT ActualizarRegistroActual" )
/////////////////////////////////////////////

def propiedades = testRunner.testCase.getTestStepByName( "Propiedades" );
def propIndex = propiedades.getProperty( "index" )
def propValores = propiedades.getProperty( "values" )
def propActual = propiedades.getProperty( "valorActual" )

def values = propValores.value.split()
def index = Integer.parseInt(propIndex.value)

log.info("valores : " + values)
log.info("Indice : " + index)
log.info("Valor : " + values[index] )

propActual.value = values[index];


Mover registro y comprobar
log.info( "SCRIPT MoverRegistroYcomprobar" )
/////////////////////////////////////////////

def propiedades = testRunner.testCase.getTestStepByName( "Propiedades" );
def propIndex = propiedades.getProperty( "index" )
def propValores = propiedades.getProperty( "values" )

def index = Integer.parseInt(propIndex.value) + 1
propIndex.value = index;

if(index < propValores.value.split().size()){
testRunner.gotoStepByName( "ActualizarRegistroActual" ) 
}

Finalmente nos queda probar en conjunto todo aquello que se ha creado.





- FIN -

02 June 2009

Detección de usuarios en JAX-WS

La clase del tipo WebServiceContext nos permite acceder a la información del contexto de ejecución de un ws.

Dentro de este se encuentra la información del Principal (usuario autentificado), disponible mediante el método getUserPrincipal.

Naturalmente esto se logra con anotaciones e inyección de dependencias (esta última hecha por el contenedor de forma transparente).

Aquí va un pequeño snippet.

@WebService()
public class PersonaAutentificada {

@Resource
private WebServiceContext wsContext;
....

public String getUsuario(){
Principal p = wsContext.getUserPrincipal();
return p.getName();
}

}


- FIN -

25 April 2009

Web Services Are Taking Over The World

Espero que las noticias de la tele nunca lleguen a estos extremos :-)








- FIN -

27 January 2009

Seminarios Web sobre Jersey, JAX-RS y REST

Desde "The Acuarium" la gente de Sun, nos han publicado una serie de seminarios web sobre Jersey; una de las implementaciones de REST mas populares, tal vez por que viene por defecto dentro del NB6 ;-))



Enlaces Relacionados:
http://wikis.sun.com/display/TheAquarium/Jersey%2C+JAX-RS+and+REST

- FIN -