Transforming iXML 1.0 requests

Web applications deployed with Info e-Commerce Development Studio require request documents to arrive from the MEC in the iXML 2.0 format. However, merchants upgrading from a previous version of an Infor e-Commerce application may already have customers that have configured their systems to exchange XML documents using iXML 1.0.

The e-Commerce Extension for MEC is prepared to handle iXML 1.0 documents and transform them into iXML 2.0 requests. However, because the business objects in Infor e-Commerce are very different from those in previous versions, the transformation requires more than a simple stylesheet application.

For merchants that are not upgrading from a previous version of Infor e-Commerce, iXML conversion is probably not an issue. All business partners should be instructed to work with iXML 2.0 from the beginning.

In previous version of Infor e-Commerce Development Studio, business objects were quite different. Among other things, these older business objects contained less logic, leaving some settings, such as bindings, to be set up by the calling components. Starting with the latest version, much more logic has been built into the business object methods, thereby leaving much less logic in the components.

Data-access components now simply name a business object and method, submit any required input parameters and leave all logic to the methods themselves. For example, iXML 1.0 request documents were required to include a full list of attributes to return; iXML 2.0 documents simply name a method, which then returns all of the attributes it is programmed to return. As a result of this fundamental change, business objects now typically have many more methods than they used to and much less input is expected from the components or XML request documents.

To enable iXML 1.0 requests to be transformed into iXML 2.0 requests, the e-Commerce Extension for MEC must be configured with mapping between the old business object methods and the new ones. Also, key-field names must be mapped because they were not identified in the iXML 1.0 format. The conversion settings are stored in a text file, which is read by the e-Commerce Extension for MEC whenever it needs to transform an iXML 1.0 request to iXML 2.0. This file is initially prepared to transform all requests as required for a default Infor e-Commerce installation. However, you may need to fine-tune the transformation for some customized presentations.

In a typical installation, you will find the conversion settings in the following file:

<MEC root dir>\<configuration name>\converter.properties

To work with this file, open it in a text editor. At the top of the file is a series of business object conversion settings, each using the following format:

#BusinessObjectName
Object.OldMethod1=NewMethod1
Object.OldMethod2=NewMethod2
.
.
.

where:

  • BusinessObjectName: is the name of the business object being configured. The business object name must be the same in both the new and old versions of Infor e-Commerce Development Studio. All method transformations for a given business object must appear under that object’s heading.

  • Object.OldMethod: identifies the name of the business object method (pipeline) called in the previous version of your Infor e-Commerce application. Object is the old business object name. OldMethod is the old pipeline name.

  • NewMethod: identifies the name of the business object method that should be called in the new version of your Infor e-Commerce application.

The only valid values for OldMethod are:– search, update, insert, commit, delete, and subdelete. Using this conversion strategy, it is only possible to convert one search for each object, for example. An alternative configuration notation makes it possible to configure several old methods for a business object. This notation is:

Object.OldMethod=NewMethod,type

OldMethod should have a value other than search, update, insert, commit, delete, or subdelete. However, type should be given one of these values. An example for Infor e-Commerce is as follows:

#Catalog
Catalog.CatalogDownloadCM=CatalogDownloadCM,search

Compare this with the old notation:

#Catalog
Catalog.search=CatalogDownloadCM

At the end of the conversion-settings document is a heading called #Request. Below this heading is a series of key-field assignments, which identify the name of the key field for each business object or business object subset.

#Request
keyfield.BusinessObject1=KeyFieldName1
keyfield.BusinessObject2=KeyFiedName2
.
.
.

where:

  • BusinessObject is the name of a business object or a business object (sub)subset. Subsets are written following the name convention BusinessObject/Subset(/Subset).

  • KeyFieldName is the name of the key field for that business object or business object (sub)subset.

Any number of key fields can be identified in this way.