Enabling Apache SOAP Web services in an enterprise application
The Simple Object Access Protocol (SOAP) EAR enabler tool is a Java application that enables a set of SOAP services within an enterprise archive file.
The SoapEAREnabler (SEE)tool guides you through the required steps to enable one or more services within an application. The tool makes a backup copy of your original EAR file in the event you need to remove or add services at a later time.
Before invoking the SEE tool, create an SOAP deployment descriptor for each service to be enabled.
Follow these steps to enable a Web service:
- Invoke the SEE tool from was_install/bin directory using one of the following commands:
- Use the command SoapEarEnabler on the Windows platform
- Use the command SoapEarEnabler.sh on UNIX platforms.
- Start with an existing EAR file, either one created with the Application Assembly Tool (AAT), or a previously-created, valid, J2EE-compliant EAR file.
The SEE tool will not accept a SOAP-enabled EAR file as input.
- After you enable Web services, install the EAR file in WebSphere Application Server.
- You will be prompted as to whether you wish to add the administration client to the EAR. This is a Web-based client that will allow you to list all active services for a specific context from a browser window. With this interface, you can stop and start existing services. You might choose to not add this interface for security reasons, or you might want to secure the interface before making a service available.
What to do next
You have invoked the SEE from the WebSphere Application Server bin directory and now know how the tool operates and its prompts and commands.
The tool operates in two modes:
- Interactive
- Silent
Specify all required command line arguments to use the tool in silent mode.
In interactive mode, the SEE tool prompts all required information. The following dialog is an example of using the tool in interactive mode.
Note: In this dialog, user input is in italics, and tool output is in bold.
SoapEarEnabler (On Windows NT) SoapEarEnabler.sh (On UNIX platforms) Please enter the name of your ear file: ..\work\stockquote.ear How many services would you like your application to contain (1...n)? 1 Now prompting for info for service #1: Please enter the file name of the SOAP deployment descriptor xml file: ..\work\StockQuoteDD.xml Is this service an EJB (y=yes / n=no)? n If there are additional jar files that need to be added to the classpath, specify the number to add (answer 0 for none) (0...n)? 1 Classpath addition 1: Here are all the archive files found, please choose one to add to the classpath: ([1] samples.jar, [2] stockquote.war): 1 Should this service be secured ("y/n" versus "y= yes, n= no)? n Please enter a context root for your non-secured services (e.g. /soap): /soapsamples Do you wish to install the administration client? Warning! You should not install this client in a production ear unless you intend to secure the URI to it. Install the administration client ("y/n" versus "y= yes, n= no)? y
In Silent mode, supply the arguments in the same order as for the interactive prompts.
Note: In silent mode, the SOAP administrative GUI will not install. Also, you will not be prompted for the SOAP administrative GUI.
The following example describes how to to use the tool in silent mode:
soapearenabler [args] where the arguments must be specified in the following order: <ear-file-name> <number-of-services> The following block is repeated based on the number of services specified. <deployment-descriptor-file-name> <service-is-an-ejb-(y/n)> The following argument should be supplied only if service-is-an-ejb-(y/n) is y. <ejb-jar-file-uri-(already-in-ear)> <number-of-additional-jar-files (0, 1, 2...)> The following argument is repeated number-of-additional-jar-files times. <classpath-entry-uri-(already-in-ear)> <secure-this-service-(y/n)> This following argument is supplied only if secure-this-service-(y/n) is n for any service. <context-root-for-non-secured-services, ex: /soap> This following argument is supplied only if secure-this-service-(y/n) is y for any service. <context-root-for-secured-services, ex: /soapsec>
Examples
Silent mode example
The following is an example of deploying one enterprise bean as a non-secured service:
soapearenabler soap.ear 1 d:\xml-soap\java\samples\ejbadder\deploymentdescriptor.xml y adderservice-ejb.jar 1 samples.jar n /soap
The following is an example of deploying one enterprise bean as a non-secured service, and one Java class as a secured service:
soapearenabler soap.ear 2 d:\xml-soap\java\samples\ejbadder\deploymentdescriptor.xml y adderservice-ejb.jar 1 samples.jar n d:\xml-soap\java\samples\stockquote\deploymentdescriptor.xml n 1 samples.jar y /soap /soap-sec
Deploying two Java classes as non-secured services example
soapearenabler soap.ear 2 d:\xml-soap\java\samples\stockquote\deploymentdescriptor.xml n 1 samples.jar n d:\xml-soap\java\samples\addressbook\deploymentdescriptor.xml n 1 samples.jar n /soap
The line breaks in the above examples have been modified for this documentation. Typically, commands are issued on a single line.
Deploying Apache SOAP Web services applications
Assembling Apache SOAP Web services
WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.