Recently, I have seen many questions related to handling namespaces in PI. I believe that few of the questions are related to incorrect usage of modules. This blog is written to highlight the factors that affect the behavior of a module and in particular the XMLAnonymizerBean module during module chain processing. The following are the important factors that affect proper handling of namespaces:
- The mode of communication – Synchronous / Asynchronous
- The direction of communication – Sender / Receiver
In the case of asynchronous communication, you always place the XMLAnonymizerBean module before the adapter call as shown in the below picture
In the case of synchronous communication, you always place the XMLAnonymizerBean module before or after the adapter module based on whether you are dealing with request message or response message. For request message, place the modules before the adapter module. For response message, place the module after the adapter module call.
If you are dealing with JMS or Business Connector adapter that have multiple standard modules, please refer additional documentation from SAP at http://help.sap.com/saphelp_nw73/helpdata/en/a4/f13341771b4c0de10000000a1550b0/frameset.htm for the exact position of the XMLAnonymizerBean module.
In addition to the above points, the following points are already clearly mentioned in many blogs and SAP help.
Processing Sequence information:
Module name – AF_Modules/XMLAnonymizerBean
Module Type – Local Enterprise Bean
Module key – can be any value
Number – Auto value
Module configuration information:
Module key – Value specified in processing sequence
Parameter name – anonymizer.acceptNamespaces, Parameter value – Space delimited name value pairs.
- Name is the namespace
- Value is the prefix
- If you do not want to use any prefix, use ”(two single quotation marks).
- Any namespaces that are not specified are removed.
- If this parameter is not specified, all namespaces are removed.
Optional Parameter name – anonymizer.quote, Parameter value – Character to be used to enclose the attribute values
Optional Parameter name – anonymizer.encoding, Parameter value – encoding other than UTF-8. Default value is UTF-8
Example configuration for illustration:
The below configuration removes all the namespaces except http://test.com/service/cryptography/2007/11/15. Also, note that the prefix ns0 is used.
Additional references on SCN:
Useful SAP links: