Sterling Integrator is calling PI webservice ( SOAP Sender ) but it has all kinds of namespaces and is not recognizable in PI as message has to go thru mapping. I tried several options Like XSLT and XMLAnonymizerBean without success.
Option 1: Using XMLAnonymizerbean option
Source Message:
<MT_Superior_invoice xmlns='urn:abc.com:10'
xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<Invoice_recs>
<Invoice_header>
<comp_code>8000</comp_code>
.............
SOAP Sender: (sequence)
1. AF_Modules/XMLAnonymizerBean LEB Anonymizer
2. CallSapAdapter
Module Config
Anonymizer anonymizer.acceptNamespaces urn:abc.com:10 ns0
Result:
With this option ns0 is being added to MT_Superior_invoice as well as Child nodes as follows
<?xml version='1.0' encoding='utf-8'?>
<ns0:MT_Superior_invoice xmlns:ns0='urn:abc.com:10'>
<ns0:Invoice_recs>
<ns0:Invoice_header>
<ns0:comp_code>8000</ns0:comp_code>
...........
Due to ns0 at child notes Mapping wouldn't be successful.
I tried XSLT Option as well with no success.
Appreciate any help on using XMLAnonymizerBean and useful answer will be rewarded.
Thanks.