endptEnabler command
The endptEnabler command is used to enable a set of Web services within an EAR file. The endptEnabler command must run on EAR files containing EJB modules that are enabled for Web services.
Each router module provides a Web service endpoint for a particular transport. For example, we can add a HTTP router module so that the Web service can receive requests over the HTTP transport. Or, we can add a 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 the original EAR file in the event that we need to remove or add services at a later time. If the EAR file contains an enterprise bean JAR file that is enabled for Web services, run the endptEnabler command before the EAR file is deployed. Otherwise, you do not need to run the command.
endptEnabler usage syntax
Invoke the endptEnabler command from the WAS bin directory. The command syntax is presented in the following example:
endptEnabler [-verbose|-v] [-quiet|-q] [-help|-h|-?] [-properties|-p properties-filename] [-transport|-t default-transports] [-enableHttpRouterSecurity] [ear-filename]All parameters are optional and described in the following list:
- -verbose, -v
This parameter details and displays progress messages as the endptEnabler tool processes the EAR file. This command-line option is mapped to the verbose global property.
- -quiet, -q
This parameter makes sure that there are no displays of per-module progress messages as the endptEnabler tool processes the EAR file. This command-line option is mapped to the quiet global property.
- -help, -h, -?
This parameter displays a brief help message that explains the various options.
- -properties, -p <properties-filename>
This parameter reads properties from the properties-filename properties and controls the behavior of the endptEnabler tool.
- -transport, -t <default-transports>This parameter specifies the default list of transports for which router modules are created for each enterprise bean JAR file contained in the EAR file. This command-line option is mapped to the defaultTransports global property.
The following are examples of this parameter:
-transport http (the default) -transport jms -t http,jms- -enableHttpRouterSecurity
This parameter 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. This command-line option is mapped to the http.enableRouterSecurity global property.
- <ear-filename>
This parameter specifies the name of the EAR file to be processed.
If the ear-filename parameter is not entered on the command line, the interactive mode is used.
In the interactive mode, we 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>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.WSWS2004I: IBM WAS 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 the 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.
endptEnabler properties
With the endptEnabler command we can control its run-time 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.
Global properties
Table 1. Global properties for the endptEnabler command
Property name Description Default value verbose Displays detailed progress messages. False quiet Displays only brief progress messages. False http.enableRouter Security 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.router ModuleNameSuffix Suffix used to construct default HTTP router module names. The .war extension is added by the endptEnabler command. _HTTPRouter jms.routerModule NameSuffix Suffix used to construct default JMS router module names. The .jar extension is added by the endptEnabler command. _JMSRouter jms.default DestinationType 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 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
Per-module properties
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.
Table 2. Per-module properties for the endptEnabler command
Property name Description Default value <ejbJarName> .transportsLists the transports for which router modules are created for a particular enterprise bean JAR file. The list can contain the values http andjms. Multiple values are separated by a comma. Examples are: http, jms and http,jms. http <ejbJarName>.http.skipFlag 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 <ejbJarName> .http.routerModuleNameName of the HTTP router module for a particular enterprise bean JAR file. ejbJarName_HTTPRouter <ejbJarName> .http.contextRootContext root associated with the HTTP router module for a particular enterprise bean JAR file. /ejbJarName <ejbJarName>.jms.skipFlag 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 <ejbJarName>.jms. routerModuleNameName of the JMS router module for a particular enterprise bean JAR file. ejbJarName_JMSRouter <ejbJarName>.jms. activationSpecJndiNameJNDI name of the activation specification configured for the Message Driven Bean (MDB) within the JMS router module. null <ejbJarName>.jms. listenerInputPortNameName 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 <ejbJarName>.jms.destinationTypeJMS destination type associated with the MDB within the JMS router. Valid values are queue and topic. queue <ejbJarName>.<port_local_name> .http.urlPattern= <url_pattern_name>Specifies the URL pattern for ports. If we have EJB module with the indicated name that has a port with the indicated local name, we 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
Properties example
Suppose an EAR file contains an enterprise bean JAR file named, StockQuoteEJB.jar that contains Web services.
The following set of properties can be used to control the endptEnabler command run-time behavior as it processes the EAR file:
StockQuoteEJB.transports=http,jmsStockQuoteEJB.http.routerModuleName=StockQuoteEJB_HTTP
StockQuoteEJB.http.contextRoot=/StockQuote
StockQuoteEJB.jms.routerModuleName=StockQuoteEJB_JMS
StockQuoteEJB.jms.destinationType=queue
endptEnabler examples
The following commands are examples of how the endptEnabler command can be used:
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
Related tasks
Enable an EAR file for EJB modules that contain Web services
Assembling Web services applications