3.2.4. Cambios de los servicios web
3.2.4.1. Cambios de los servicios web
JBoss EAP 6 incluye soporte para implementar puntos finales de servicio web JAX-WS. Este soporte lo brinda JBossWS. Para mayor información sobre los servicios web, consulte el capítulo titulado JAX-WS Web Services en la Development Guide para JBoss EAP 6 en https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.
JBossWS 4 incluye los siguientes cambios que pueden tener impacto en su migración.
- Cambios del proyecto API JBossWS
- SPI y los componentes comunes fueron refactorizados en JBossWS 4. La siguiente tabla lista los cambios de empaque y API que pueden afectar la migración de su aplicación.
Tabla 3.7. Propiedades del controlador de registro de tamaño
JAR antigua Paquete antiguo Nueva JAR Nuevo paquete JBossWS SPI org.jboss.wsf.spi.annotation.* JBossWS API org.jboss.ws.api.annotation.* JBossWS SPI org.jboss.wsf.spi.binding.* JBossWS API org.jboss.ws.api.binding.* JBossWS SPI org.jboss.wsf.spi.management.recording.* JBossWS API org.jboss.ws.api.monitoring.* JBossWS SPI org.jboss.wsf.spi.tools.* JBossWS API org.jboss.ws.api.tools.* JBossWS SPI org.jboss.wsf.spi.tools.ant.* JBossWS API org.jboss.ws.tools.ant.* JBossWS SPI org.jboss.wsf.spi.tools.cmd.* JBossWS API org.jboss.ws.tools.cmd.* JBossWS SPI org.jboss.wsf.spi.util.ServiceLoader JBossWS API org.jboss.ws.api.util.ServiceLoader JBossWS Common org.jboss.wsf.common.* JBossWS API org.jboss.ws.common.* JBossWS Common org.jboss.wsf.common.handler.* JBossWS API org.jboss.ws.api.handler.* JBossWS Common org.jboss.wsf.common.addressing.* JBossWS API org.jboss.ws.api.addressing.* JBossWS Common org.jboss.wsf.common.DOMUtils JBossWS API org.jboss.ws.api.util.DOMUtils JBossWS Native org.jboss.ws.annotation.EndpointConfig JBossWS API org.jboss.ws.api.annotation.EndpointConfig - Anotación @WebContext
- En JBossWS 3.4.x, esta anotación se empacó como
org.jboss.wsf.spi.annotation.WebContext
en el proyecto JBossWS SPI. En JBossWS 4.0, esta anotación se movió aorg.jboss.ws.api.annotation.WebContext
en el proyecto JBossWS API. Si su aplicación incluye la dependencia obsoleta entonces tiene que reemplazar las importaciones y las dependencias en su código fuente de la aplicación y compilarlo frente a la nueva JAR JBossWS API.También hay un cambio en un atributo que no es retroactivo. El atributoString[] virtualHosts
se cambió aString virtualHost
. En JBoss EAP 6 se puede especificar solo un host virtual por implementación. Si múltiples webservices usan la anotación@WebContext
entonces el valor virtualHost debe ser idéntico para todos los puntos finales definidos en el archivador de implementación. - Configuración del punto final
- JBossWS 4.0 proporciona integración de la pila de servicios web JBoss con la mayoría de los módulos del proyecto Apache CXF. La capa de integración permite el uso de APIs de servicios web estándares, incluyendo JAX-WS. También permite el uso de funcionalidades avanzadas de Apache CFX por encima del contenedor JBoss EAP 6 sin requirir una configuración compleja.El subsistema
webservice
en la configuración de dominio de JBoss EAP 6 incluye configuraciones del punto final predefinidas. También puede definir sus propias configuraciones de punto final predefinidas. La anotación@org.jboss.ws.api.annotation.EndpointConfig
se utiliza para hacer referencia a una configuración de punto final dada.Para obtener mayor información sobre cómo configurar puntos finales de servicios web en el servidor JBoss, consulte el capítulo titulado JAX-WS Web Services en la Guía de desarrollo para JBoss EAP 6 en https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/. - Descriptor de implementación jboss-webservices.xml
- JBossWS 4.0 introduce un nuevo descriptor de implementación para configurar servicios web. El archivo
jboss-webservices.xml
proporciona información adicional para la implementación dada y reemplaza parcialmente el archivo obsoletojboss.xml
.Para las implementaciones de servicios web EJB, la ubicación esperada del archivo descriptorjboss-webservices.xml
es en el directorioMETA-INF/
. Para los puntos finales del servicio web EJB y POJO agrupados en un archivo WAR, la ubicación esperada del archivojboss-webservices.xml
es en el directorioWEB-INF/
.El siguiente es un ejemplo de un archivo descriptorjboss-webservices.xml
y una tabla describiendo los elementos.<webservices> <context-root>foo<context-root> <config-name>Standard WSSecurity Endpoint</config-name> <config-file>META-INF/custom.xml</config-file> <property> <name>prop.name</name> <value>prop.value</value> </property> <port-component> <ejb-name>TestService</ejb-name> <port-component-name>TestServicePort</port-component-name> <port-component-uri>/*</port-component-uri> <auth-method>BASIC</auth-method> <transport-guarantee>NONE</transport-guarantee> <secure-wsdl-access>true</secure-wsdl-access> </port-component> <webservice-description> <webservice-description-name>TestService</webservice-description-name> <wsdl-publish-location>file:///bar/foo.wsdl</wsdl-publish-location> </webservice-description> </webservices>
Tabla 3.8. Descripción del elemento del archivo jboss-webservice.xml
Nombre del elemento Descripción context-rootUtilizado para personalizar la raíz contexto de la implementación de los servicios web.config-nameconfig-fileUtilizado para asociar la implementación de un punto final con la configuración del punto final dado. Las configuraciones del punto final se especifican en el archivo de configuración referenciado o en el subsistemawebservices
de la configuración del dominio.propiedadUtilizado para configurar parejas de valores de nombres de propiedades simples para configurar el comportamiento de la pila de los servicios web.port-componentUtilizado para personalizar la URI de destino del punto final EJB o para configurar las propiedades relacionadas con la seguridad.webservice-descriptionUtilizado para personalizar o sobreescribir la ubicación publicada WSDL del servicio web.