Created On:  22 October 2012

Problem:

By default, Xcentrisity BIS uses the lowercase form of the COBOL names from the --Method-Parameters data group in WORKING-STORAGE in order to generate the external SOAP web service method and parameter names.  However, it is possible to change the default, external, method and parameter without changing the COBOL WORKING-STORAGE names.

Resolution:

In order to define alternate names for web service's methods and parameters you will need to use an XSLT stylesheet, along with an XML conversion dictionary, that convert the original names to the new ones that you wish to implement.  The spelling dictionary is a simple XML document that can be edited by hand.  It contains entries that define the "cobName", internal COBOL data name, and the "publicName", the external SOAP element ,or method, name.

Attached to this Knowledge Base Article is a zip archive containing modified XBIS SOAP stylesheets that enable the use of a dictionary, along with a sample dictionary and a modified webappsample4 program that implements the dictionary through the use of XSLT parameters. The zip archive should be extracted into your Xcentrisity BIS "Samples" virtual directory.

**Be sure to make a backup of the BIS "Samples\Common" directory if you wish to retain the original stylesheets distributed with Xcentrisity BIS.
 
The zip archive contains sytlesheets that need to be located in the BIS "Samples\Common" directory.  The dictionary itself, "testDict.xml", is also included in the "Common" archive directory as it needs to be located in the same directory as the XBIS SOAP transform stylesheets(or you can use the full path to the dictionary in your parameter).  The modified version of webappsample4 that uses the dictionary is located in a directory named, "DictionarySample4".
 
In order to enable the use of the XML dictionary, you need to add the XML dictionary's name as a parameter to your transform.  In the modified webappsample4 source, there is an example of setting the "spellingDictionary" XSLT parameter to define the dictionary document.  For example:
 
           XML SET XSL-PARAMETERS
               "Method_Namespace"     L-Method-Namespace-URI  *> all
               "spellingDictionary"   "testDict.xml".
           If Not XML-OK Go To Z End-If.
    
 

Please contact Micro Focus Customer Care if you have any questions, or, encounter any issues implementing an XML dictionary for your XBIS web service.