on 04-12-2014 5:57 PM
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.
Hi Sreenivas,
You can try JAVA mapping to meet your requirement.
Follow the below link to create a java mapping from scratch.
Java Mapping in SAP PI 7.11 - LukCAD
If you don not want to use namespace in mapping, you can follow below link
How to remove namespaces in Mapping - XI | SCN
Thanks,
Krupa
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sreenivas,
you can use the second option with enhance receiver determination. Please refer the below wiki for enhance receiver determination
regards,
Harish
User | Count |
---|---|
86 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.