The endptEnabler command is used to enable a set of web services within an enterprise archive (EAR) file. The endptEnabler command must run on EAR files containing Enterprise JavaBeans (EJB) modules that are enabled for web services.
Each router module provides a web service endpoint for a particular transport. For example, you can add a HTTP router module so that the web service can receive requests over the HTTP transport. Or, you can add a Java Message Service (JMS) router module so that the web service can receive requests from a JMS queue or topic.
In its interactive mode, the endptEnabler command guides you through the required steps to enable one or more services within an application. The endptEnabler command makes a backup copy of your original EAR file in the event that you need to remove or add services at a later time. If your EAR file contains an enterprise bean Java archive (JAR) file that is enabled for web services, you must run the endptEnabler command before the EAR file is deployed. Otherwise, you do not need to run the command.
endptEnabler
[-verbose|-v]
[-quiet|-q]
[-help|-h|-?]
[-properties|-p properties-filename]
[-transport|-t default-transports]
[-enableHttpRouterSecurity]
[-enableClientCertSecurity]
[ear-filename]
[-classpath|-cp]
-transport http (the default)
-transport jms
-t http,jms
<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>
If the ear-filename parameter is not entered on the command line, the interactive mode is used. In the interactive mode, you are prompted for the EAR file name, the router module names and other important values as the processing occurs. The following dialog is an example of the endptEnabler interactive mode.
In this dialog, the user input is in fixed width font and the endptEnabler output is in bold.
endptEnabler<enter>
WSWS2004I: IBM WebSphere Application Server Release 5
WSWS2005I: Web Services Enterprise Archive Endpoint Enabler Tool.
WSWS2007I: (C) COPYRIGHT International Business Machines Corp. 1997, 2003
WSWS2006I: Please enter the name of your EAR file: AddressBook.ear<enter>
WSWS2003I: Backing up EAR file to: AddressBook.ear~
WSWS2016I: Loading EAR file: AddressBook.ear
WSWS2017I: Found EJB Module: AddressBookEJB.jar
WSWS2029I: Enter http router name for EJB Module AddressBookEJB
[AddressBookEJB_HTTPRouter.war]:<enter>
WSWS2030I: Enter http context root for EJB Module AddressBookEJB
[/AddressBookEJB]:<enter>
WSWS2024I: Adding http router for EJB Module AddressBookEJB.jar.
WSWS2036I: Saving EAR file AddressBook.ear...
WSWS2037I: Finished saving the EAR file.
WSWS2018I: Finished processing EAR file AddressBook.ear.
If the ear-filename parameter is entered on the command-line, the non-interactive mode is used. In the non-interactive mode, the router module names and other important values are determined from the user-specified properties or default values.
endptEnabler -classpath C:\MyWork\Utility.jar;D:\SharedFiles\Hello.zip;HelloWorld.jar
When you do not specify this parameter, you might encounter an error that is similar to the following message:
WSWS2021I: Skipping the enterprise bean module module_name
because it contains no web services.
With the endptEnabler command you can control its runtime behavior by specifying a set of properties with the -properties command-line option. These properties are organized in one of two ways: global and per-module. Global properties affect the overall behavior of the tool as it processes multiple enterprise bean JAR modules within the EAR file. Per-module properties affect the processing of a particular enterprise bean JAR module.
Property name | Description | Default value |
---|---|---|
verbose | Displays detailed progress messages. | False |
quiet | Displays only brief progress messages. | False |
http.enableRouterSecurity | Enables you to add a security policy for all authenticated users to protect the HTTP router module if all the EJB modules are secured in the enterprise bean JAR file. | False |
http.enableClientCertSecurity | Enables you to add the following login-config
stanza to the web.xml file for certificate authentication,
instead of basic-auth or form-login:
|
False |
http.routerModuleNameSuffix | Specifies the suffix used to construct default HTTP router module names. The .war extension is added by the endptEnabler command. | _HTTPRouter |
jms.routerModuleNameSuffix | Specifies the suffix used to construct default JMS router module names. The .jar extension is added by the endptEnabler command. | _JMSRouter |
jms.defaultDestinationType | Specifies the default destination type to use for all JMS router modules that are added to the EAR file. This type is either queue or topic. | queue |
defaultTransports | Specifies the default list of transports for which router modules are created. The list can contain the values http and jms. Multiple values are separated by a comma. Examples are: http, jms and http,jms. | http |
The following table describes the per-module properties supported by the endptEnabler command. The ejbJarName variable refers to the name of an enterprise bean JAR module within the EAR file, without the .jar extension.
Property name | Description | Default value |
---|---|---|
|
Lists the transports for which router modules are created for a particular enterprise bean JAR file. The list can contain the values http and jms. Multiple values are separated by a comma. Examples are: http, jms and http,jms. | http |
|
Specifies the flag which bypasses the addition of an HTTP router module, even if it otherwise is added based on other properties. Valid values are true and false. | false |
|
Specifies the name of the HTTP router module for a particular enterprise bean JAR file. | ejbJarName_HTTPRouter |
|
Specifies the context root associated with the HTTP router module for a particular enterprise bean JAR file. | /ejbJarName |
|
Specifies the flag that bypasses the addition of an JMS router module even if it otherwise is added based on other properties. Valid values are true and false. | false |
|
Specifies the name of the JMS router module for a particular enterprise bean JAR file. | ejbJarName_JMSRouter |
|
Specifies the Java Naming and Directory Interface (JNDI) name of the activation specification that is configured for the Message Driven Bean (MDB) within the JMS router module. | null |
|
Specifies the name of the listener port to configure for the MDB within the JMS router module. The listener port is configured only if an activationSpecJndiName property is not specified. | null |
|
Specifies the JMS destination type associated with the MDB within the JMS router. Valid values are queue and topic. | queue |
|
Specifies the URL pattern for ports. If you have EJB module with the indicated name that has a port with the indicated local name, you can specify the HTTP URL pattern with this property. This property only applies to HTTP router modules. It has no affect on JMS router modules. | null |
StockQuoteEJB.transports=http,jms
StockQuoteEJB.http.routerModuleName=StockQuoteEJB_HTTP
StockQuoteEJB.http.contextRoot=/StockQuote
StockQuoteEJB.jms.routerModuleName=StockQuoteEJB_JMS
StockQuoteEJB.jms.destinationType=queue
endptEnabler MyApp.ear
endptEnabler -t jms,http MyApp.ear
endptEnabler -v -properties MyApp.props MyApp.ear
endptEnabler -q -t jms MyApp.ear
endptEnabler -v -t http,jms