Assembling a Web services-enabled client JAR file into an EAR file

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, we need to assemble these artifacts to create an EAR file that is used in the Web services application.

 

Before you begin

We can assemble Web Services for J2EE modules with assembly tools provided with WebSphere Application Server.

You must configure the assembly tool before 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.

 

Overview

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

  1. 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 J2EE V1.2, 1.3 or 1.4 compliant deployment descriptors.

  2. Click File > Import to import the enterprise bean JAR file, AppClient JAR file, or the web archive (WAR) file into the assembly tool.

  3. Open the J2EE perspective by clicking Windows >Open Perspective > Other >J2EE.

  4. Switch to the Navigator pane by clicking the Navigator tab.

  5. Locate the project for the file that you just imported in the Navigator pane.

  6. 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.

  7. Right-click the META-INF directory and click New > Folder. Create a subfolder named wsdl, in the META-INF directory.

    1. 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.

    2. 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.

    3. (Optional) Place the ibm-webservicesclient-ext.xmi file and the ibm-webservicesclient-bnd.xmi file in the META-INF subdirectory, if used.

  8. Assemble the JAR file into an EAR file using typical assembly techniques if the client runs in a container.

  9. Right-click the META-INF directory and click New > Folder. Create a subfolder named wsdl in the META-INF directory.

    1. 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.

    2. 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.

    3. (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, we need to configure the bindings so that the client can communicate with a Web service that is deployed on a server.


 

See Also


Web services

 

Related Tasks


Testing Web services-enabled clients
Configuring the Web services client bindings in the ibm-webservicesclient-bnd.xmi deployment descriptor
Implementing Web services applications
Developing Web services clients

 

See Also


Artifacts used to develop Web services