To finish configuring your integration, update configuration files and components to
enable optional features. Then, deploy your changes to production.
Procedure
-
Update the order component configuration file to contain the required side-by-side integration
values.
-
Open HCL Commerce Developer and switch to the Enterprise Explorer
view.
-
Create a folder for your customized order component configuration file.
workspace_dir\WC\xml\config\com.ibm.commerce.order-ext
If this folder exists and contains a customized version of the
wc-admin-component.xml file, or if a customized version exists elsewhere, open
the customized version and skip to the next step. If the folder does not exist or contain a
customized version, complete these substeps:
- Copy the file
workspace_dir\WC\xml\config\com.ibm.commerce.order\wc-admin-component.xml
to
workspace_dir\WC\xml\config\com.ibm.commerce.order-ext\.
- Open the copied wc-admin-component.xml in an editor. This copy becomes the
customized version of the wc-admin-component.xml file.
-
Change properties.
To change properties that are not currently in the customized file, copy those properties into
your customized file from the default order component configuration file.
- Update the
copyFrom
, copyTo
, and loggingDir
properties to specify the directories that you created in the first
task:
<!--
copyFrom: all of the new CSV files are under this directory
copyTo: after the CSV files picked up by scheduler job, they will be copied to copyTo directory
loggingDir: the logging files are created under this directory
-->
<_config:configgrouping name="DOMInventoryAutoLoad">
<_config:property name="copyFrom" value="/data/SCWC/CSV_DIR/copyFrom"/>
<_config:property name="copyTo" value="/data/SCWC/CSV_DIR/copied"/>
<_config:property name="loggingDir" value="/data/SCWC/CSV_DIR/logs"/>
</_config:configgrouping>
- Update the
SideBySideIntegration
and enableP2P
values as shown
in the following code snippet to enable the
features:
<_config:configgrouping name="SideBySideIntegration">
<_config:property name="enable" value="Y"/>
</_config:configgrouping>
<_config:configgrouping name="P2PIntegration">
<_config:property name="enableP2P" value="true"/>
</_config:configgrouping>
- Update any other values in the wc-admin-component.xml file for any other
features that you require:
- OMSHeartbeatInterval
- Default = 5 minutes
Sets the time interval for HCL Commerce to check for an OMS outage.
- OrderPendingOnTransferExpirationTime
- Sets the expiration time for orders in F status. The default is one day,
or 86,400 seconds. An order that remains in F status for a period longer than
its expiration value is retransferred by the order retransfer scheduler.
- IsSystemOutageTolerable
- Default =Yes
Enables the OMS outage feature.
- IsRespectFallbackForInsuffQuant
- Default =Yes
Controls how inventory status is handled and reported. You can configure the
inventory messages to show status messages such as out of stock
to the customer when the
inventory is not sufficient.
A value of N means that the item has inventory, but not enough to
fulfill the request, so the item inventory status is out of stock.
A value of Y means that, in
case of insufficient inventory, the system uses the fallback inventory status as the order item
inventory status.
- InventoryStatusForZeroQuantityInCache
- Default = Available
This property is used for product display. It indicates the inventory
status you want to recognize when the inventory is zero. When the value = Available, it means that
inventory is treated as available if the inventory is zero.
- AllowPartialReservation
- Default = No
Indicates whether support for partial reservation is allowed. A value of N means
not supported, and Y means supported.
- accessProfile
- Default = IBM_TransferOrder
This access profile is used during order transfer to Sterling Order Management.
- accessProfile
- Default = IBM_Summary
This access profile is used during a change order.
- enableP2P
- Default = False
If this property is set to True, it enables a Direct or "point-to-point"
Integration.
For more information, see Changing properties in the order component configuration file (wc-admin-component.xml).
-
Remove any properties that are not set differently from the default order component
configuration file. The customized file must contain only the differences.
-
Save and close the customized file.
-
Optional: To enable payment integration:
To tokenize account numbers, you must configure the IBM_TransferOrder access profile to call the
TokenizeAccountNumberCmd. This task command is called by the ComposeTransferOrderCmdImpl, an
implementation of the ComposeOrderCmd task for the transfer order integration flow. This tokenizes
the PAN when composing the payment-related information of an Order noun for the purpose of order
transfer. HCL Commerce supports a dummy implementation called TokenizeAccountNumberCmdImpl by
default. You can customize this flow to suit your business needs.
-
Implement the class and patch it to the
WebSphereCommerceServerExtensionsLogic.jar
file and then deploy the patched file.
For example:
WebSphereCommerceServerExtensionsLogic.jar\com\ibm\commerce\sample\order\facade\server\commands\SampleTokenizeAccountNumberCmdImpl.class
-
Add an entry into the
CMDREG
table. For example, if the name of the
implemented class is
com.ibm.commerce.sample.order.facade.server.commands.SampleTokenizeAccountNumberCmdImpl
,
you might use a SQL statement similar to the following:
INSERT INTO CMDREG(STOREENT_ID, INTERFACENAME, CLASSNAME, TARGET) VALUES (
0,'com.ibm.commerce.order.facade.server.commands.TokenizeAccountNumberCmd', '
com.ibm.commerce.sample.order.facade.server.commands.SampleTokenizeAccountNumberCmdImpl','Local');
-
Enable asynchronous actions for orders.
-
Edit wc-component-client.xml files and deploy
WC_eardir/xml/config/com.ibm.commerce.order.external/wc-component-client.xml.
-
Copy the wc-component-client.xml to a temporary folder, edit and set the
asynchronous to "true," as shown in the following code sample:
<_config:action
name="ProcessOrder" asynchronous="true">
</_config:action>
-
Add the following content under
<_config:Invocationservice>
below
<_config:action name="ProcessOrder" asynchronous="true"></_config:action>
to
bind the action for the GetOrder message: <_config:action name="GetOrder"
asynchronous="false" scope="action">
</_config:action>
-
Copy JAR files.
-
Copy the following Sterling JAR file to your HCL Commerce server, then deploy the copied JARs to
WC_eardir/lib:
<INSTALL_DIR>/xapiclient/xapiclient.jar.
-
Optional: Configue WebSphere Application Server for use with IBM MQ.
You can configure WebSphere Application Server for use with IBM MQ by determining the maximum
number of ManagedConnections for the JCA-JMS connector, creating a IBM MQ messaging provider queue
connection factory, creating IBM MQ messaging provider queue destinations, and configuring advanced
properties for JMSQueueConnectionFactory and JMSOutboundQueue.
-
Optional: Create IBM MQ messaging.
Perform these steps to create the JMS queues required for the HCL Commerce listener for IBM MQ.
The JMS queues map to the IBM MQ message queues you identified or created in
Configuring IBM MQ for use with HCL Commerce. Table 1 shows
how the JMS queues map to the IBM MQ message queues.
Table 1. JMS Queues and IBM MQ Message Queues
JMS Queues |
IBM MQ Message Queues |
JMSSerialInboundQueue |
inbounds |
JMSParallelInboundQueue |
inboundp |
JMSInboundQueue |
inbound |
JMSOutboundQueue |
outbound |
JMSErrorQueue |
error |
A JMS queue is created by creating a IBM MQ messaging provider queue destination in WebSphere Application Server.
The JMS queue names that are provided in the table are the default names that are used by HCL Commerce. If you modified the JMS queue names, the JMS queue names must be
changed to match the new queue names.
If you used customized JMS queue names or JMS queue connection factory names by editing the HCL Commerce configuration file, the JMS queue names must be added here to match
the new queue names of IBM MQ.
Note: The number of queues to define depends on the application with which HCL Commerce is integrated. These five queues are the minimum number of queues that
are required for integration. The queue names are case-sensitive. Ensure that you use the correct
case for the queue names.
-
Deploy all your file changes to production. For more information, see Packaging customized code for deployment.