Building and Deploying the Web Service
Once configured, you can build and deploy a WSIT-enabled web service in the same manner as you would build and deploy a standard JAX-WS web service.
The following topics describe how to perform this task:
Building and Deploying a Web Service Created From Java
To build and deploy the web service, open a terminal window, go to the
<INSTALL>
/wsit-enabled-fromjava/
directory and type the following:This command calls the
server
target inbuild.xml
, which builds and packages the application into a WAR file,wsit-enabled-fromjava.war
, and places it in thewsit-enabled-fromjava/build/war
directory. Theant server
command also deploys the WAR file to the web container.The
ant
command calls multiple tools to build and deploy the web service. The JAX-WS annotation processing tool (apt
) processes the annotated source code and invokes the compiler itself, resulting in the class files for each of the Java source files. In thewsit-enabled-fromjava
example, theant
targetbuild-server-java
inbuild.xml
handles this portion of the process. Next, the individual class files are bundled together along with the web service's supporting configuration files into the application's WAR file. It is this file that is deployed to the web container by thedeploy
target.During execution of the
server
target, you will see a warning message. The message refers to "Annotation types without processors". The warning is expected and does not indicate an abnormal situation. The text is included here for reference:build-server-java: [apt] warning: Annotation types without processors: [javax.xml.bind.annotation.XmlRootElement, javax.xml.bind.annotation.XmlAccessorType, javax.xml.bind.annotation.XmlType, javax.xml.bind.annotation.XmlElement] [apt] 1 warningBuilding and Deploying a Web Service Created From WSDL
To build and deploy the web service, open a terminal window, go to the
<INSTALL>
/wsit-enabled-fromjava/
directory, and type the following:This command calls
wsimport
, which takes the WSDL description and generates a corresponding Java interface and other supporting classes. Then the Java compiler is called to compile both the user's code and the generated code. Finally, the class files are bundled together into the WAR file. To see the details of how this is done, see thebuild-server-wsdl
andcreate-war
targets in thewsit-enabled-fromwsdl/build.xml
file.Deploying the Web Service to a Web Container
As a convenience, invoking the
ant server
command builds the web service's WAR file and immediately deploys it to the web container. However, in some situations, such as after undeploying a web service, it may be useful to deploy the web service without rebuilding it.For both scenarios,
wsit-enabled-fromjava
andfromwsdl
, the resulting application is deployed in the same manner.The following sections describe how to deploy on the different web containers:
Deploying to GlassFish
For development purposes, the easiest way to deploy is to use the
autodeploy
facility of the GlassFish application server. To do so, you simply copy your application's WAR file to the/autodeploy
directory for the domain to which you want to deploy. If you are using the default domain,domain1
, which is set up by the GlassFish installation process, the appropriate directory path would be<
AS_HOME
>/domains/domain1/autodeploy
.The
build.xml
file which accompanies this example has adeploy
target for GlassFish. To invoke that target, run the following command in the top-level directory of the respective examples, eitherwsit-enabled-fromjava
orwsit-enabled-fromwsdl
, as follows.Deploying to Apache Tomcat
Apache Tomcat also has an
autoDeploy
feature that is enabled by Tomcat's out-of-the-box configuration settings. If you are not sure whether theautoDeploy
is enabled, check<
TOMCAT_HOME
>/conf/server.xml
for the value ofautoDeploy
. AssumingautoDeploy
is enabled, you simply copy your application's WAR file to the<
TOMCAT_HOME
>/webapps
directoryThe
build.xml
file which accompanies this example has adeploy
target for Tomcat. To invoke that target, run the following command in the top-level directory of the respective examples, eitherwsit-enabled-fromjava
orwsit-enabled-fromwsdl
, as follows. You need to use the-Duse.tomcat=true
switch to make sure that the application is deployed to Tomcat, and not to the default server, which is GlassFish.Verifying Deployment
A basic test to verify that the application has deployed properly is to use a web browser to retrieve the application's WSDL from its hosting web container. The following URLs retrieve the WSDL from each of the two example services. If you are running your web browser and web container on different machines, you need to replace
localhost
with the name of the machine hosting your web service.
Note: Before testing, make sure your web container is running.
If the browser displays a page of XML tags, the web service has been deployed and is working. If not, check the web container log for any error messages related to the sample WAR you have just deployed. For GlassFish, the log can be found at
<
AS_HOME
>/domains/domain1/logs/server.log
. For Apache Tomcat, the appropriate log file can be found at<
TOMCAT_HOME
>/logs/catalina.out
.