Now that you have generated your application artifacts,
you need to assemble these artifacts to create an enterprise archive
(EAR) file that is used in the web services application.
Before you begin
For Java API for XML-Based Web Services
(JAX-WS) web service applications, you need the portable artifacts
that are generated by the
wsimport command-line
tool when starting from a WSDL file to complete this task. The
wsimport tool
processes a WSDL file as input and generates the following portable
artifacts:
- Service Endpoint Interface (SEI)
- Service class
- Exception classes that are mapped from the wsdl:fault class
(if any)
- Java Architecture for XML Binding (JAXB) generated
type values which are Java classes
mapped from XML schema types
- An assembled client module that contains the implementation, all
of the classes generated by the wsimport command-line
tool and the ejb-jar.xml deployment descriptor
or the application-client.xml deployment descriptor.
This module can be:
- An application client module that contains the META-INF/application-client.xml file.
- An Enterprise JavaBeans (EJB) module that
contains the META-INF/ejb-jar.xml file.
For Java API for XML-based RPC (JAX-RPC)
web service applications, you need the following artifacts that are
generated from the
WSDL2Java command-line tool
to complete this task:
- An assembled client module that contains the implementation, all
of the classes generated by the WSDL2Java command-line
tool and the ejb-jar.xml deployment descriptor
or the application-client.xml deployment descriptor.
This module can be:
- An application client module that contains the META-INF/application-client.xml file.
- An Enterprise JavaBeans (EJB) module that
contains the META-INF/ejb-jar.xml file.
- The WSDL file that you used to develop the client.
- The templates for the ibm-webservicesclient-ext.xmi and ibm-webservicesclient-bnd.xmi deployment
descriptor, if used.
- A generated Java API for XML-based remote procedure
call (JAX-RPC) mapping deployment descriptor.
Restriction: Do not include a pound sign
(#) in the name of files that are packaged within an application archive.
Due to internal processing, the application server fails to correctly
deploy the application when a pound sign is included in a file name
within the application archive. When this failure occurs, an exception
might occur when the application is being processed. Also, parts of
the application might be missing after the application is deployed.
To address this issue, rename any file names within the application
archive so that they do not contain a pound sign.
About this task
You can use assembly tools included with WebSphere® Application
Server to assemble web services-enabled client applications.
Assemble
the client code and artifacts that enable the application client to
access a web service with steps provided:
Procedure
- Start an assembly tool. Read about starting
the assembly tool in the Rational® Application Developer documentation.
- If you have not done so already, configure the assembly
tool so that it works on Java EE
modules. You need to make sure that the Java EE and Web categories
are enabled. Read about configuring the assembly tool
in the Rational Application Developer documentation.
- Import the client implementation and the artifacts generated
by the command-line tooling into the assembly tool.
- Migrate JAR files created with the Rational Application Developer assembly tool. To migrate
files, import your JAR files to the assembly tool. Read about migrating
code artifacts to an assembly tool in the Rational Application Developer documentation.
- Assemble the JAR file into an enterprise archive (EAR)
file using typical assembly techniques if the client runs in a container.
Results
You have assembled the artifacts required to enable the client
application for web services into an EAR file.
Example
This example of the assembly process uses the
AddressBookClient.jar JAR
file the
AddressBookClient.ear EAR file:
META-INF/MANIFEST.MF
META-INF/application-client.xml
META-INF/wsdl/AddressBook.wsdl
META-INF/AddressBook_mapping.xml
com/ibm/websphere/samples/webservices/addr/Address.class
com/ibm/websphere/samples/webservices/addr/AddressBook.class
com/ibm/websphere/samples/webservices/addr/AddressBookClient.class
com/ibm/websphere/samples/webservices/addr/AddressBookService.class
...other generated classes...
After assembling
the
AddressBookClient.jar file into the
AddressBookClient.ear file,
the
AddressBookClient.ear file contains the following
files:
META-INF/MANIFEST.MF
AddressBookClient.jar
META-INF/application.xml
What to do next
For Java API for XML-Based Web Services
(JAX-WS) applications, you are ready to deploy the web services client
application.
For Java API
for XML-based RPC (JAX-RPC) applications, you need to configure the
client deployment descriptor bindings with an assembly tool so that
the client can communicate with a web service that is deployed on
a server.