JAX-WS RI 2.1.5 | Users Guide | Tools | JAX-WS RI Extensions | Samples | JAX-WS Community |
This document explains the samples that are bundled along with JAX-WS RI 2.1.7.
The samples included with JAX-WS RI that is distributed on Java.net documents how to use
JAX-WS RI in a non-Java EE 5 servlet container using a
proprietary deployment descriptor
sun-jaxws.xml
and servlet
com.sun.xml.ws.transport.http.servlet.WSServlet
.
This means that you can these JAX-WS RI applications in any servlet container that has been
enabled with JAX-WS RI. Applications that use the proprietary DD and servlet
will run in a JAX-WS RI enabled Java EE 5 servlet container, but
they will be non-portable. If you
wish to use these JAX-WS RI samples in a Java EE container in a Java EE portable manner you need to
modify them to use the
standard Java EE 5 deployment descriptor; please refer to the
Java EE 5 or
Glassfish
documentation/samples.
All these samples are tested to run on Glassfish v2 UR2 build and on Apache Tomcat 5.x.
This section explains the directory structure of the
samples
directory in the bundle:
docs |
index.html, this file |
fromjava-wsaddressing | Starting from Java endpoint how to develop W3C WS-Addressing endpoint |
fromwsdl-wsaddressing | Starting from WSDL how to develop a WS-Addressing endpoint |
fromjava |
Demonstrates how to build, deploy, and invoke a simple Web service starting from a Java service endpoint implementation using annotations. |
fromjavahandler |
Same as fromjava sample but with a simple logging handler on the client and server. |
fromwsdl |
Demonstrates how to build, deploy, and invoke a simple Web service starting from a WSDL using external customizations. |
fromwsdl_secure |
Same as fromwsdl sample but demonstrates how to build, deploy, and invoke an HTTPS Web service and client from a WSDL. |
fromwsdlhandler |
Same as fromwsdl sample but with a simple logging handler on the client and server. |
dispatch |
Demonstrates how to dynamically invoke web service endpoints. |
provider |
Demonstrates how to build, deploy, and invoke
javax.xml.ws.Provider
based Web service endpoint.
|
asyncprovider |
Demonstrates how to build, deploy, and invoke
|
annotations |
Same as fromjava but shows how to specify a different parameter name, operation name, targetNamespace, and other similar features. |
async |
Demonstrates how to generate async operations in a client SEI from a WSDL and invoke it from the client application. |
efficient-handler |
Demonstrates efficient handler using com.sun.xml.ws.api.handler.MessageHandler, which is an efficient protocol handler. |
external-customize |
Demonstrates how a client client application can customize a published WSDL using external binding file. |
inline-customize |
Demonstrates how a client application and server endpoint can be generated from a WSDL with embedded binding declarations. |
mtom |
Demonstrates how to enable MTOM and swaRef. |
mtom-large |
Demonstrates how to transfer large attachments in streaming fashion using MTOM. |
mtom-soap12 |
Same as mtom sample but shows how to specify SOAP 1.2 binding. |
fromjava-soap12 |
Same as fromjava sample but shows how to specify SOAP 1.2 binding. |
fromwsdl-soap12 |
Same as fromwsdl sample but shows how to specify SOAP 1.2 binding. |
supplychain |
Same as
fromjava sample but using JavaBeans as
parameter and return types.
|
mime |
Demonstrates how a MIME binding is defined in the WSDL to send wsdl:part as MIME attachments. This requires that the development model is 'starting from WSDL'. |
mime-large |
Demonstrates how to transfer large attachment in streaming fashion using wsi:swaref. |
wsimport_catalog |
Demonstrates a how a WSDL and schema URI's can be resolved using catalog mechanism using wsimport ant tasks' catalog attribute and also using ant's core type xmlcatalog. |
catalog |
Shows the catalog capability on the client side; Catalog is used every time the implementation tries to access a resource identified by URI that is believed to contain either a WSDL document or any other document on which it depends . |
restful |
Shows an example of a REST Web Service implemented as a JAX-WS 2.0 Provider and accessed via a JAX-WS Dispatch client. The Request uses an HTTP GET Request Method and uses the JAX-WS MessageContext properties PATH_INFO and QUERY_STRING. |
stateful | This sample shows the JAX-WS RI's stateful webservice support feature. |
schema_validation | This sample demonstrates JAX-WS RI's validation feature that validates the incoming/outgoing messages are as per schema. |
dual-binding | This sample demonstrates the JAX-WS RI's featuer to expose the same service class under SOAP/HTTP and XML/HTTP binding. |
large_upload | This sample demonstrates uploading a large file to the server. |
type_substitution | This sample demonstrates type substitution and sending java types that are not directly referenced by the WSDL. |
xmlbind_datasource | This sample demonstrates a REST based webservices using XML/HTTP binding along with Provider/Dispatch. |
Here is the list of prerequisites that needs to be met before any of the samples can be invoked:
JAVA_HOME
to the J2SE 5.0 installation directory.
JAXWS_HOME
to the JAX-WS installation directory.
AS_HOME
to
point to the Application Server installation directory.
Each sample has a readme.txt in its directory that details the instructions specific to the sample. Each sample can be built, deployed and invoked using the
ANT_HOME/bin/ant
and
build.xml
ant script
in the root directory of the sample. Each ant script supports the
following set of targets:
server |
Builds and deploy the service endpoint WAR on Glassfish v2 installation referenced by $AS_HOME |
server -Dtomcat=true |
Builds and deploy the service endpoint WAR on Tomcat installation referenced by $CATALINA_HOME |
client |
Builds the client |
run |
Runs the client |
Some samples(e.g. fromjava, supplychain) can be built, deployed using
javax.xml.ws.Endpoint API. These samples support extra targets:
server-j2se |
Builds and deploys the Endpoint API based service
endpoint(doesn't terminate until server-j2se-stop is called)
|
server-j2se-stop
|
Stops the Endpoint API based
service endpoint(need to run from a different window)
|
It is essential for the service endpoint to be deployed on
Application Server before clients can be built because clients use
the WSDL exposed from the service endpoint deployed in the
Application Server. So please make sure that your Application Server
is either running before the
server
target is invoked or
run it after the
server
target is invoked. You will have
to wait a few minutes for the Application Server to deploy the
service endpoint correctly before building the client.
We appreciate your feedback, please send it to users@jax-ws.dev.java.net.