Create the service command
The service command is the entry point on the component facade where the Business Object Document (BOD) begins to be processed by the business logic.
About this task
To create a service command:
Procedure
- Create a WebSphere Commerce service module. This generates the shell of a command class for you.
- Go to the MyServiceModule-Server project.
- Open the com.mycompany.commerce. myservicemodule.server.commands.VerbNounCmdImpl.java class.
- Complete this shell command by implementing the business logic by following either the design pattern for Get service implementation or the design pattern for Process, Change and Sync service implementation. This is the simplest approach to implementing a component facade -- use the shell command to execute any existing WebSphere Commerce or custom commands containing business logic you wish to reuse.
- Optional: Alternatively, we can use the Message mapper to flatten the XML messages into name-value pairs appropriate to the WebSphere Commerce commands. If you do so, you will use the command registry table to select the correct command implementation, based on the inbound XPath expression in the BOD. For an example of how the member subsystem maps XML messages to command name-value pairs, see the Member component message mapper.
- Register your new command. When you do so, if we are using the message mapper, you need to associate the XPath search expression key with your new custom fetch command implementation with an SQL statement. For example:
insert into cmdreg (STOREENT_ID, INTERFACENAME, CLASSNAME,TARGET) VALUES (0,'com.ibm.commerce.catalog.facade.server.commands.FetchCatalogEntryCmd+/CatalogEntry[Price[StandardPrice[Price[(Price<= and Price[@currency=]) and (Price>= and Price[@currency=])]]]]', 'com.mycompany.commerce.customization.catalog.FetchCatalogEntryByPriceRangeTaskCmdImpl', 'Local');Notes:
- The interface name contains the name of the command concatenated with the XPath.
- For implementations that do not use the Message mapper, including WebSphere Commerce member subsystem customization, you need to update the CMDREG entry for the existing default fetch command. Also, no XPath details are included in the SQL update.
Related concepts
WebSphere Commerce service commands
Design patterns
Related tasks
Creating the component facade
Creating a new search expression
Extending a noun