Configuración del ámbito del puerto de servicio web mediante scripts wsadmin

Cuando se despliega una aplicación de servicio web en WebSphere Application Server, se crea una instancia para cada aplicación o módulo. La instancia contiene información de despliegue para el módulo web o módulo EJB (Enterprise JavaBeans), incluida la información del ámbito de implementación, de los enlaces de clientes y del descriptor de despliegue. Se pueden establecer tres niveles de ámbito: aplicación, sesión y solicitud.

Antes de empezar

Si todavía no ha desplegado el archivo EAR (Enterprise Archive), es necesario tenerlo preparado o ya desplegado en el servidor de aplicaciones.

Acerca de esta tarea

El principal objetivo de esta tarea es habilitar la configuración del ámbito del puerto del servicio web. El ámbito especificado originalmente cuando el objeto JavaBeans está habilitado como servicio web durante el proceso de desarrollo puede cambiarse con el mandato WebServicesServerBindPort. El atributo de ámbito no se aplica a los servicios web que utilizan el transporte JMS (Java Message Service) o a enterprise beans.

La especificación de servicios web para J2EE (Java 2 Platform Enterprise Edition) indica que las implementaciones de servicios web deben ser sin estado. Por lo tanto, para mantener el cumplimiento de la especificación, el ámbito puede permanecer a nivel de aplicación porque se supone que no se mantiene en la implementación el estado relativo en el nivel de sesiones o en el nivel de solicitudes individual. Si desea apartarse de la especificación y desea acceder a una instancia de JavaBeans distinta, porque busca información localizada en otro JavaBeans, es necesario cambiar los valores de ámbito.

El valor que se configura para el ámbito determina la frecuencia con la que se crea una instancia nueva de una implementación de servicio para los puertos del servicio web de un módulo. El ámbito de aplicación hace que se utilice la misma instancia de la implementación para todas las solicitudes de la aplicación. El ámbito de sesión hace que se utilice la misma instancia para todas las solicitudes de cada sesión. El ámbito de solicitud hace que se utilice una instancia nueva en cada solicitud. Por ejemplo, con el ámbito establecido en aplicación, cada mensaje que llega al servidor accede a la misma instancia de Java bean.

Para cambiar el valor de ámbito a través de la herramienta wsadmin:

Procedimiento

  1. Inicie un mandato de script. Para obtener más información, consulte cómo iniciar el cliente de scripts wsadmin.
  2. Configure el ámbito del puerto de servicio web.

    Para utilizar el puerto de escucha existente en lugar de utilizar o crear una nueva especificación de activación, determine si la versión JAR de EJB es anterior a la 2.1. El sistema crea y utiliza automáticamente una especificación de activación si especifica la opción -usedefaultbindings para desplegar una aplicación. Si existe una especificación de activación, el sistema ignora el puerto de escucha y, en su lugar, utiliza la especificación de activación. Para desplegar una aplicación con una versión JAR de EJB mayor o igual a 2.1 con los puertos de escucha definidos en lugar de una nueva especificación de activación, establezca la propiedad del sistema com.ibm.websphere.management.application.dfltbndng.mdb.preferexisting en true en el archivo wsadmin.properties del directorio de propiedades del perfil de interés.

    Utilice las opciones de instalación, installInteractive, edición o editInteractive para configurar el ámbito del puerto de servicio web, como se muestra en la sintaxis siguiente:

    $AdminApp install nombre_aplic {-usedefaultbindings -deployejb 
    -WebServicesServerBindPort {{<nombre_módulo> <servicio_Web> <puerto><valor_ámbito>}...}
    En el ejemplo anterior se indica que se puede cambiar el ámbito de varios puertos mediante un mandato WebServicesServerBindPort, donde:
    • nombre_aplic es la nombre de aplicación, por ejemplo, WebServicesSample.ear
    • nombre_módulo es el nombre del módulo, por ejemplo AddressBookW2JE.jar
    • servicio_Web es el nombre del servicio web, por ejemplo AddressBookW2JE service/WSLoggerService2
    • puerto es el nombre del puerto, por ejemplo AddressBook
    • valor_ámbito es el nivel del valor de ámbito, por ejemplo Session

Resultados

Se ha configurado el ámbito de un puerto de servicio web.

Ejemplo

El siguiente ejemplo muestra la aplicación, el módulo, el servicio web, el puerto y el ámbito tal como se escribe en la línea de mandatos:
$AdminApp install WebServicesSamples.ear {-usedefaultbindings -deployejb -deployws 
-WebServicesServerBindPort {{AddressBookJ2WB.war AddressBookService AddressBook request} 
{AddressBookW2JB.war AddressBookService AddressBook application}}}

Qué hacer a continuación

Ahora puede terminar todas las demás configuraciones, iniciar o reiniciar la aplicación y verificar el comportamiento esperado del servicio web.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_scopewsadmin
File name: txml_scopewsadmin.html