B2B Contracts: Price Rules and Catalog Filters

b2b contracts

Contract Overview Contracts allow an organization or customer group to purchase specific products from a store and a specific price for a specific time. They allow catalog filtering and price rules to be applied to products that change the items available for purchase along with the price of those items. This contract can then be assigned to a customer group or organization in the B2B model. Creating a Price Rule Log into Management Center and select the Catalog Filter and Pricing option. You can make any kind of price rule you need for the contract. A simple example is to […]


Adding a New Finder to an Existing Access Bean

add new finder to existing access bean

In the WebSphereCommerceServerExtensionsData project using the Java EE perspective, double click the deployment descriptor. Click on the Details button next to the Enterprise Java Bean section or go directly to the bean tab. Select your bean from the list of beans on the left. Then, on the right, scroll down to finders and select Add. For the name, use the findByX naming convention. Name it according to the parameters that are being used. For the parameters, add as many as needed, entering the name of the variables along with the variable type. For return type, it should be the bean […]


Specifying the SSL Version to Fix ‘Received Fatal Alert: Protocol_Version’

wcs ssl version

Changing the SSL version that is used for making outbound requests is becoming more common as versions are being deprecated. If using one of the older versions, you will get the Received Fatal Alert: Protocol_Version error. Changing the version with JVM parameters is possible, but the easy way to change it is through the WAS administration console. SSL certificate and key management > SSL configurations > NodeDefaultSSLSettings > Quality of protection (QoP) settings Select TLSv1.1 for the Protocol.


Adding/Changing JVM Parameters with WebSphere Commerce

wcs jvm parameters

A lot of parameters that can be set by JVM arguments are available in the WebSphere Admin Console, but sometimes, you just want to set parameters with JVM arguments. You have two options. First, you can use the admin console to set the parameters, and second, you could just update the server.xml file directly. Changing the JVM through the admin console can be done by going to: Servers > Server Types > WebSphere application servers > server1. Followed by Java and process management on the right side navigation menu and then Process definition Finally, under the Additional Properties menu, choose […]


Imported EJB Project Isn’t Acting as an EJB Project

rad import ejb project

Continuing troubleshooting a payment plugin, the plugin configuration was found, but then a new error was being thrown: Error:Failed to initialize the payment plug-in ThePluginName. The reported exception is: javax.naming.NameNotFoundException: Context: localhost/nodes/localhost/servers/server1, name: ejb/com/company/payment/plugin/ThePluginNameHome: First component in name payment/plugin/ThePluginNameHome not found. [Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]. The payment plugin project was there. It was imported and could be found at the path specified. A quick prepare for deployment and publish should fix the issue. However, the imported project into Rational Application Developer was not being treated as an EJB project. Therefore, prepare for deployment wasn’t an option. RAD, as well […]


Failed to get the Plug-in Implementation

FoundationApplicationException

Failed to get the plug-in implementation, check the plug-in configuration for payment system name ThePluginName and payment configuration ID default. This FoundationApplicationException will be thrown when you add a new payment plugin in, but have an issue with the PluginDeployment.xml file. First, check you have a folder for the plugin: WC/xml/config/payments/ppc/plugins/ThePluginNamePlugin Second, verify there is a PluginDeployment.xml file located in that folder. Third, the most likely issue, verify the PluginInformation line. The jndi and home attributes need to be set according to your payment plugin. If you have the source, you can verify the correct values in the ibm-ejb-jar-bnd.xml file […]


Basic Authentication Header When Using Webservices Over HTTP

webservice over http basic authentication wcs

When working with a web service that was failing, tcpmon showed an error page being returned. The page was an HTML 401 Unauthorized error. Despite the web service having a username and password set, and set correctly, the error continued to happened. The reason for the error was because the HTTP Basic Authentication header is a part of the HTTP spec, and not the web service itself. The HTTP header needed to include the basic authentication token in order to make it past the web server to, in my case, SAP which create the service. While in the WCS Admin […]


Debugging SOAP Requests with Logging and TCP/IP Monitor

set up tcpmon for wcs

While working on a project, a SOAP request kept failing. The page wouldn’t load, and I was getting the following lines in the logs: J2CA0206W: A connection error occurred. To help determine the problem, enable the Diagnose Connection Usage option on the Connection Factory or Data Source. This is the multithreaded access detection option. Alternatively check that the Database or MessageProvider is available. J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adapter for resource eis/JCAHTTP-WS. The exception is: java.io.IOException: javax.xml.soap.SOAPException: org.xml.sax.SAXParseException: White space is required between “SYSTEM” and the system identifier. Message being parsed: Trace Strings […]


SSL_ERROR_NO_CYPHER_OVERLAP

SSL ERROR NO CYPHER OVERLAP

If you published a new store and go to https://localhost/webapp/wcs/stores/servlet/en/newstore, you just might end up with the Firefox error: SSL_ERROR_NO_CYPHER_OVERLAP To get around that error, type about:config into the Firefox address bar. Using the search box, enter in security.tls_.version.max Double click on the preference name and change the value to 1 After that, you should be all set to refresh the localhost page, and the error will be gone and your new store will load.


Fixing the SolrServerException: IOException Occurred When Talking to Sever

di-buildindex ioexception occured while talking to solr server

From a recent post, you may need to restore your local RAD DB2 database, and it may or may not be a backup from another toolkit. When the database is restored, all the data you need is there, but Solr is still not returning the expected products. So you open a command prompt, and cd into┬ác:\IBM\WCDE80\bin. Run the preprocessor for your master catalog or your catalog asset store, which we will pretend is 12345: Everything works fine, and then you go to di-buildindex since that’s mainly what you wanted: And you end up with a terrible stack trace like so: […]