Sample projects using JAX-WS technologies.
The build files use the Gradle Cargo plugin for auto-deployment to Glassfish 4.
For the available Gradle tasks see the documentation.
Please see the cargo documentation for the default configuration of the used application server.
The plugin will download and install the server automatically for each project. The admin interface can be found at http://admin:adminadmin@localhost:4848
. If not used in conjunction with gradle cargoRunLocal
, make sure all deployment artifacts were created before starting the server.
When Gradle is installed on your system all tasks can be run directly from the sub-project's root folder, e.g. gradle war
. Otherwise you can use the Gradle wrapper from the root and use an absolute path like gradlew java-first:minimal:war
.
Use gradlew eclipse
to generate Eclipse project files for all of the modules.
This also works for IntelliJ IDEA with gradlew idea
.
- Java-first Web Services
- Deployment Styles
- WSDL-first Web Services & Client Generation
- Data Type Mapping
- Method Overloading
- Exceptions
- WSDL Styles
Simple bottom-up JAX-WS example. The Web service returns German chancellors that reigned in a given period of time.
Minimal example for exposing a Web service with JAX-WS annotations.
The project can also be run as standalone service via gradlew java-first:minimal:run
.
The Web service should be available at http://localhost:8080/minimal/HistoryService
.
In this example more annotations are used to override default conventions of JAX-WS, e.g. the naming of parameters or return types.
The project can also be run as standalone service via gradlew java-first:custom:run
.
The Web service should be available at http://localhost:8080/custom/HistoryService
.
Demonstrates several JAX-WS deployments on JSR 109-compatible application servers (e.g. Glassfish), Tomcat and as a standalone application.
To deploy the sample to Glassfish just run gradle cargoRunLocal
.
The Web service should be available at http://localhost:8080/jsr109/GreetingsService
.
Tomcat needs additional deployment descriptors and the JAX-WS implementation in order to run JAX-WS Web services.
Build with gradle war
and manually deploy to a Tomcat instance.
The standalone project uses javax.xml.ws.Endpoint
to run a server instance. It is the simplest way to expose an experimental JAX-WS Web service.
Run the project via gradlew deployment-styles:standalone:run
.
The Web service should be available at http://localhost:8080/standalone/GreetingsService
.
Demonstrates the usage of the wsimport tool to generate Web Services interfaces and clients using a top-down approach. First run the java-first:custom project in order to be able to access the service with the wsimport client. Use gradle run
to run the web services test client.
Demonstrates the creation of a Web service client without additional code generation.
See this blog for an explanation.
Demonstrates type mappings from Java to WSDL/XSD and vice versa.
The mapped WSDL should be available at http://localhost:8080/java2wsdl/Java2WsdlService?wsdl
.
The Java artifacts can be generated via gradle wsimport
.
Demonstrates the mapping of overloaded Java methods via custom mappings.
The Web service should be available at http://localhost:8080/method-overloading/VolumeService
.
Demonstrates the mapping of standard Java exceptions and soap-style exceptions with JAX-WS. Each Exception type has a corresponding client project to demonstrate the WSDL mapping to Java stubs.
Demonstrates the problem of mapping a standard-like Java Exception to SOAP faults.
If the Exception does not follow this style, JAX-WS will generate a wrapper class and the Exception will be put in the FaultBean class.
The Web service should be available at http://localhost:8080/java-exception/FaultService
.
The Java artifacts can be generated via gradle wsimport
.
Demonstrates a custom Java Exception implementation that maps the SOAP fault structure.
The Web service should be available at http://localhost:8080/custom-fault/FaultService
.
The Java artifacts can be generated via gradle wsimport
.
Uses the SOAPFaultException
implementation. More information about SOAP faults can be found here.
Demonstrates the several WSDL styles rpc-encoded, rpc-literal, document-literal and document-literal wrapped. See this blog for a detailed explanation.
The Web service should be available at http://localhost:8080/document-literal/GreetingsService
.
The Web service should be available at http://localhost:8080/document-literal-wrapped/GreetingsService
.
No longer supported by JAX-WS 2.
The Web service should be available at http://localhost:8080/rpc-literal/GreetingsService
.