3.2.4. Web-Dienste Änderungen

3.2.4.1. Web-Dienste Änderungen

JBoss EAP 6 beinhaltet Support für das Deployment der JAX-WS Webdienst Endpunkte. Dieser Support wird durch JBossWS bereitgestellt. Weitere Informationen zu Webdiensten finden Sie im Kapitel mit dem Titel JAX-WS Webdienste im Entwicklungshandbuch für die JBoss EAP 6 unter https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.
JBossWS 4 beinhaltet folgende Änderungen, die Ihre Migration beeinflussen können.
JBossWS API Änderungen
SPI und Common Komponenten wurden in JBossWS 4 refakturiert. Die folgende Tabelle listet API und Verpackungsänderungen, die die Migration Ihrer Applikation beeinflussen können.

Tabelle 3.8. JBossWS API Änderungen

Altes JAR Altes Paket Neues JAR Neues Paket
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
JBossWS Framework org.jboss.wsf.framework.invocation.RecordingServerHandler JBossWS Common org.jboss.ws.common.invocation.RecordingServerHandler
@WebContext Annotation
In JBossWS 3.4.x war diese Annotation als org.jboss.wsf.spi.annotation.WebContext in JBossWS SPI JAR verpackt. In JBossWS 4.0 wurde diese Annotation zum org.jboss.ws.api.annotation.WebContext im JBossWS API JAR verschoben. Wenn Ihre Applikation veraltete Abhängigkeiten beinhaltet, müssen Sie die Importe und Abhängigkeiten in Ihrem Applikations-Sourcecode ersetzen und das neue JBossWS API JAR kompilieren.
Es gibt auch eine Änderung an einem Attribut, das nicht rückwärts kompatibel ist. Das String[] virtualHosts-Attribut wurde zu String virtualHost geändert. In JBoss EAP 6 können Sie nur einen virtuellen Host pro Deployment festlegen. Falls mehrere Webdienste die @WebContext-Annotation verwenden, so muss der virtualHost-Wert für alle im Deployment-Archiv definierten Endpunkte identisch sein.
Endpunkt-Konfiguration
JBossWS 4.0 bietet Integration des JBoss Web Services Stacks mit den meisten Apache CXF Modulen. Die Integrationsebene ermöglicht die Nutzung von standardmäßigen Webdienst APIs, einschließlich JAX-WS. Sie ermöglicht Ihnen außerdem ohne komplexe Konfiguration oder Setup die Nutzung von Apache CFX erweiterten Features zusätzlich zu JBoss EAP 6 Container.
Das webservice-Untersystem in der Domain-Konfiguration der JBoss EAP 6 beinhaltet vordefinierte Endpunkt-Konfigurationen. Sie können auch Ihre eigenen, zusätzlichen Endpunkt-Konfigurationen definieren. Die @org.jboss.ws.api.annotation.EndpointConfig-Annotation wird zur Referenzierung einer gegebenen Endpoint-Konfiguration verwendet.
Weitere Informationen zur Konfiguration von Webdienst Endpunkten im JBoss Server finden Sie im Kapitel JAX-WS Webdienste im Entwicklungshandbuch für die JBoss EAP 6 unter https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.
jboss-webservices.xml Deployment-Deskriptor
JBossWS 4.0 führt einen neuen Deployment Deskriptor zur Konfiguration von Webdiensten ein. Die jboss-webservices.xml-Datei liefert zusätzliche Informationen zu dem gegebenen Deployment und ersetzt zum Teil die veraltete jboss.xml-Datei.
Für EJB Webdienst-Deployments ist der erwartete Speicherort für die jboss-webservices.xml-Deskriptordatei im META-INF/-Verzeichnis. Für in der WAR-Datei gebündelte POJO- und EJB-Wedienst Endpunkte ist der erwartete Speicherort der jboss-webservices.xml-Datei im WEB-INF/-Verzeichnis.
Nachfolgend sehen Sie ein Beispiel für eine jboss-webservices.xml-Deskriptordatei und eine Tabelle, die die Elemente beschreibt.
<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>

Tabelle 3.9. jboss-webservice.xml Datei Element Beschreibung

Element Name Beschreibung
context-root
Zur Verwenundung zur Anpassung des Kontext Root des Webdienst Deployments.
config-name
config-file
Wird zur Assoziierung eines Endpunkt-Deployments mit einer gegebenen Endpoint-Konfiguration verwendet. Endpunkt-Konfigurationen werden in der referenzierten Konfigurationsdatei oder im webservices-Untersystem der Domain Konfiguration festgelegt.
property
Wird zur Einstellung eines einfachen Property Name Wertepaars zur Konfiguration des Webdienst Stack Verhaltens verwendet.
port-component
Wird zur Anpassung der EJB Endpunkt Ziel URI oder Kunfiguration sicherheitsbezogener Properties verwendet.
webservice-description
Wird zur Anpassung oder Außerkraftsetzung des Webdienst WSDL publizierten Speicherorts verwendet.