Titel-Logo
Projektstudien
TraceLogger
Basics of Cryptography
Custom JBossAS Login
SOAP Webservice
The Idea
Technologies
Project Structure
Service Definition
XML Signature
Installation and Test
Downloads
Role Based Access Control
Project Structure

This study is divided into two main projects, namely the HttpMonitor project and the SecurityPriceService project. The latter one contains the actual web service (and test client) whereas the former one provides support to monitor and to debug web services if necessary. The SecurityPriceService project is further divided into three sub-projects. The SecurityPriceService-jar sub-project contains the WSDL interface definition of the service as well as the Java endpoint interface and the JAXB value classes resulting from it. The two other sub-projects SecurityPriceService-server and SecurityPriceService-client are representing the server or rather the client side of the web service and are dependent on the SecurityPriceService-jar.

The most interesting build definition out of the POMs of these (sub-)projects is probably the pom.xml of SecurityPriceService-jar. Since we are applying a contract-first approach we need not to code the endpoint interface and the value classes by ourselves, but we are using a tool which generates the required artifacts for us. The maven-jaxws-tools-plugin from RedHat provides the goal wsconsume which binds to the generate-sources phase within the build lifecycle. This goal consumes our WSDL interface definition and produces the required endpoint interface and value classes. The maven-jaxws-tools-plugin depends on the jbossws-cxf-client which for its part depends on some artifacts which haven't been published to the Central Repository yet. Hence we need to reference the JBoss Repository within the build definition. See JAX-WS Tools of the WildFly documentation for further usage information.

Note, however, that I have provided an alternative pom.xml for SecurityPriceService-jar which uses the JAX-WS Maven Plugin provided by the JAX-WS commons project which aims to collect useful utilities around the JAX-WS reference implementation. Both POMs can be used interchangeably and produce equivalent code which can deployed on both WildFly 10.1.0 and GlassFish 4.1 since we are applying only standard JAX-WS constructs.

Valid XHTML 1.0 Strict