[8.5.5.4 o posterior]

Adición de manejadores globales de servicios web

Los componentes que deben registrar manejadores de servicios web para todos los puntos finales de servicios web deben implementar la interfaz de manejador y registrar esa implementación en el registro de servicio.

Antes de empezar

El servicio de manejador global lo proporciona jaxws-2.2, jaxrs-1.1, Repositorio de Liberty[8.5.5.6 o posterior]jaxrs-2.0 o jaxrs-2.0 client, por lo que debe especificar la siguiente característica o combinación de características en el archivo server.xml:
  • jaxws-2.2
  • jaxrs-1.1
  • Repositorio de Liberty[8.5.5.6 o posterior]jaxrs-2.0
  • Repositorio de Liberty[8.5.5.6 o posterior]jaxrs-2.0 client
  • jaxws-2.2 y jaxrs-1.1
  • Repositorio de Liberty[8.5.5.6 o posterior]jaxws-2.2 y jaxrs-2.0
  • Repositorio de Liberty[8.5.5.6 o posterior]jaxws-2.2 y jaxrs-2.0 client

Acerca de esta tarea

El SPI de manejador proporciona propiedades diferentes para especificar ENGINE_TYPE, FLOW_TYPE y el lado del cliente (IS_CLIENT_SIDE) o el lado del servidor (IS_SERVER_SIDE) donde se aplican los manejadores.

Debe implementar la interfaz de manejador y registrar la clase de implementación en el registro de servicio.

La documentación de la API Java para cada SPI de perfiles Liberty está disponible en un archivo comprimido independiente, en uno de los subdirectorios Javadoc del directorio ${wlp.install.dir}/dev.

Despliegue del paquete de manejador

Puede desplegar el paquete de manejador utilizando WebSphere Application Server Developer Tools for Eclipse.

Procedimiento

  1. Pulse Archivo > Nuevo > Otros y, a continuación, expanda OSGi.
  2. Pulse Proyecto de paquete OSGi y pulse Siguiente. Se abre la ventana Nuevo proyecto de paquete OSGi.
  3. Escriba MyHandler como nombre del proyecto. En la lista Tiempo de ejecución de destino, seleccione Perfil Liberty de WebSphere Application Server. Si no existe ningún tiempo de ejecución, pulse Nuevo tiempo de ejecución para crear un tiempo de ejecución de perfil Liberty de WebSphere(r) Application Server.
  4. Desmarque el botón de selección Añadir paquete a la aplicación.
  5. Pulse Siguiente dos veces y vaya a la página Paquete OSGi.
  6. En la página Paquete OSGi, seleccione Generar un activador, una clase Java que controle el ciclo de vida del paquete. Deje el Nombre de activador como myhandler.Activator y pulse Finalizar.
  7. Pulse Ventana > Preferencias > Desarrollo de plug-ins > Plataforma de destino y seleccione Perfil Liberty de WebSphere Application Server con SPI.
    Nota: Asegúrese de añadir el tiempo de ejecución de perfil Liberty de WebSphere Application Server en 3.
  8. Pulse Aplicar y Aceptar.
  9. Expanda MyHandler > BundleContent > META-INF y abra el archivo MANIFEST.MF utilizando el Editor de manifiestos de plug-in.
  10. Cree las clases MyHander y MyActivitor:
    ...
    import com.ibm.wsspi.webservices.handler.Handler;
    ...
    
    public class MyHandler implements Handler {
        ...
        public void handleFault(GlobalHandlerMessageContext arg0) {
            ...
        }
        public void handleMessage(GlobalHandlerMessageContext msgctxt) throws Exception {
    
            if (msgctxt.getFlowType().equalsIgnoreCase(HandlerConstants.FLOW_TYPE_OUT)) {
                }
            ...
         }
         ....
    }
    public class MyActivator implements BundleActivator {
        ...
        public void start(BundleContext context) throws Exception {
    
              final Hashtable<String, Object> handlerProps = new Hashtable<String, Object>();
               handlerProps.put(HandlerConstants.ENGINE_TYPE, HandlerConstants.ENGINE_TYPE_JAXWS);
               handlerProps.put(HandlerConstants.FLOW_TYPE, HandlerConstants.FLOW_TYPE_IN);
               handlerProps.put(HandlerConstants.IS_CLIENT_SIDE, true);
               handlerProps.put(HandlerConstants.IS_SERVER_SIDE, true);
               handlerProps.put(org.osgi.framework.Constants.SERVICE_RANKING, 3);
               MyHandler myHandler = new MyHandler();
               context.registerService(Handler.class, myHandler, handlerProps);
               ...
            }
            ...
       }
  11. Pulse Archivo > Nuevo > Otros y, a continuación, expanda OSGi.
  12. Pulse Proyecto de características de Liberty y, a continuación, pulse Siguiente. Se abre la ventana Proyecto de características de Liberty.
  13. Especifique MyHandlerFeature como nombre del proyecto.
  14. En la lista Tiempo de ejecución de destino, seleccione Perfil Liberty de WebSphere Application Server y pulse Siguiente. Se abre la página Selección de paquetes OSGi.
  15. En la página Selección de paquetes OSGi, seleccione MyHandler 1.0.0 como Paquetes contenidos y pulse Finalizar.
  16. Modifique Manifest:MyHandler en el proyecto MyHandler. Pulse la pestaña MANIFEST.MF y añada com.ibm.wsspi.webservices.handler al elemento Import-package.
  17. Pulse con el botón derecho el proyecto MyHandlerFeature y pulse Instalar característica para instalar la característica en el tiempo de ejecución de Liberty.
  18. Edite el archivo server.xml para habilitar MyHandlerFeature:
    <featureManager> ......
    		<feature>jsp-2.2</feature>
    <feature>jaxws-2.2</feature> // también puede utilizar una de las siguientes características o combinaciones de características: jaxrs-1.1, jaxrs-2.0, jaxrsClient-2.0,
    jaxws-2.2 and jaxrs-1.1, jaxws-2.2 y jaxrs-2.0, jaxws-2.2 and jaxrsClient-2.0
    <feature>usr:MyHandlerFeature</feature> ......
    </featureManager>

Icono que indica el tipo de tema Tema de tarea

Términos y condiciones para centros de información | Comentarios


Icono de indicación de fecha y hora Última actualización: 15 de junio de 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_web_services_global_handlers
Nombre de archivo:twlp_web_services_global_handlers.html