Thursday, July 7, 2011

JBoss AS 7 webservices features

JBoss Application Server 7 is highly configurable and allows for running different profiles, including one or more subsystems. The optional webservices subsystem is based on JBossWS-CXF 4.x.

JBoss AS7 users can turn on full webservices capabilities by enabling the org.jboss.as.webservices module extension and the webservices subsystem in their standalone.xml / domain.xml descriptors:


<server name="foo" xmlns="urn:jboss:domain:1.0">
    <extensions>
        [...]
        <extension module="org.jboss.as.webservices"/>
        [...]
    </extensions>
    [...]
    <profile>
        [...]
        <subsystem xmlns="urn:jboss:domain:webservices:1.0" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:jaxwsconfig="urn:jboss:jbossws-jaxws-config:4.0">
            <wsdl-host>localhost</wsdl-host>
            <modify-wsdl-address>true</modify-wsdl-address>
        </subsystem>
        [...]
    </profile>
    [...]
</server>

On JBoss AS 7 Final, the webservices extension / subsystem is already enabled and available in a separate domain configuration, domain-preview.xml / standalone-preview.xml. Users can run a given server configuration as follows:

./bin/standalone.sh -server-config standalone-preview.xml


Once the webservices capabilities are enabled, basic JAXWS features as well as advanced WS-* functionalities are available.
The JBossWS 4.x documentation covers all the details, including full JAXWS user guide , JAXWS tooling and quick start sections.

Moreover, examples are also provided on advanced topics:

6 comments:

Marek Dominiak said...

It would be nice to add information that webservice related jars (and module configuration files) are not bundled with Jboss7 (web profile). So in order to get webservices to work on jboss7-web-profile I had to copy couple of jars and theirs module configuration from Jboss-7 -(everything). I will not say which ones - this is fairly easy to figure out by restarting jboss-7-web-profile couple of times and reading error messages.

Marek Dominiak said...

It would be helpful to add info that withour copying web service related jars and their config from jboss-7-everything to jboss-7-web-profile you will see error messages when starting server. Error messages tells us exactly which jars should be copied -> so couple of restarts and I was able to run webservices in jbos-7-web-profile

Alessio Soldano said...

Actually, users willing to use webservices should be downloading and starting the everything/preview version of the app server, so no manual copying of libraries is required.

Michael said...

The web services artifacts are missing in modules\org\jboss\as\webservices in jboss-as-web-7.0.1.Final.zip for Windows. Could you tell why ?

Alessio Soldano said...

@Michael,
you need to download the everything/preview archive. The "web" version does not include ws.

Michael said...

Thank you Alessio!