Now that you have generated deployment descriptors, located the
Web Services Description Language (WSDL) file that was used to develop the
Web services client, and generated the necessary classes for the client module,
you need to assemble these artifacts to create an enterprise archive (EAR)
file that is used in the Web services application.
Before you begin
You can assemble Web Services for J2EE modules with assembly tools provided with WebSphere Application Server.
You
must configure the
assembly tool before you can use it.
You need the following artifacts
that are generated from the
WSDL2Java command 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 RPC (JAX-RPC) mapping deployment descriptor.
Why and when to perform 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:
Steps for this task
- Start an assembly tool.
The Eclipse assembly tools, Application Server Toolkit (AST) and Rational
Web Developer, provide a graphical interface for developing code artifacts,
assembling the code artifacts into various archives (modules) and configuring
related Java 2 Platform, Enterprise Edition (J2EE) Version 1.2, 1.3 or 1.4
compliant deployment descriptors.
- Click File > Import to import the enterprise bean
Java archive (JAR) file, AppClient JAR file, or the web archive (WAR) file
into the assembly tool.
- Open the J2EE perspective by clicking Windows >Open
Perspective > Other >J2EE.
- Switch to the Navigator pane by clicking the Navigator tab.
- Locate the project for the file that you just imported in the Navigator pane.
- Expand the ejbModule (for an enterprise bean JAR file)
or the appClientModule (for the application client JAR file) entry
so that the META-INF directory is displayed. Expand the META-INF directory.
- Right-click the META-INF directory and click New > Folder.
Create a subfolder named wsdl, in the META-INF directory.
- Copy the WSDL file to the META-INF\wsdl directory by
right-clicking the wsdl directory and click Import > File
system. Browse the WSDL file for this Web service and click Finish.
- Copy theejb-jar.xml deployment descriptor or the application-client.xml deployment
descriptor. If the deployment descriptor file already exists in
the JAR file, manually merge the <service-ref> elements in the existing ejb-jar.xml file
or the application-client.xml file with the original ejb-jar.xml file
or the application-client.xml file that you generated with the WSDL2Java
tool.
- (Optional) Place the ibm-webservicesclient-ext.xmi file
and the ibm-webservicesclient-bnd.xmi file in the META-INF subdirectory,
if used.
- Assemble the JAR file into an enterprise archive (EAR) file using
typical assembly techniques if the client runs in a container.
- Right-click the META-INF directory and click New > Folder.
Create a subfolder named wsdl in the META-INF directory.
- Copy the WSDL file to the META-INF\wsdl directory by
right-clicking on the wsdl directory and click Import > File
system. Browse the WSDL file for this Web service and click Finish.
- Copy the JAX-RPC mapping file in the META-INF subdirectory
in the same manner that you copied the WSDL file. The JAX-RPC mapping
file is indicated by the element in the ejb-jar.xml file or the application-client.xml file.
- (Optional) Place the ibm-webservicesclient-ext.xmi file
and the ibm-webservicesclient-bnd.xmi file in the META-INF subdirectory,
if used. If these files are already in the module, manually merge
the contents of the files that are generated by the WSDL2Java tool into the
existing files.
Result
You have the artifacts required to enable the client module to use
Web services are added to the module.
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
Configure the client
deployment descriptor . Now that you have assembled the client module,
you need to configure the bindings so that the client can communicate with
a Web service that is deployed on a server.