Hi All,
I have attached the Actual SOAP.xml(Expected Soap file) and the PresentQSOAP.xml(my output file).
The namespaces are different, i tried it using anonymizer bean but i am not getting the correct namepaces
Please let me know how to do it, any help will be appreciated.
Regards,
Sreenivas
Hi seenu,
Are you putting two singles quotes in acceptNamespaces? (http://scn.sap.com/people/stefan.grube/blog/2007/02/02/remove-namespace-prefix-or-change-xml-encoding-with-the-xmlanonymizerbean)
Regards,
Hi,
Just wanted to ask, are you using a SOAP adapter on sender side. If yes, anonymizer bean will not work as Sender SOAP adapter does not support any adapter modules. I have an XSLT mapping as below, which I tried to modified as per your requirement but you may need to refine it further:
<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/*">
<ns0:QSOAP_Final xmlns:ns0="http://www.quadrem.com/soap/">
<xsl:copy-of select="//HEADER" />
<xsl:copy-of select="//BODY" />
</ns0:QSOAP_Final>
</xsl:template>
</xsl:stylesheet>
Seenu,
Please note the following points:
H Seenvu,
You can mark the option Do not use SOAP envelope in the communication channel and later to remove all the namespaces in the operation mapping with this xsl:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no"/>
<xsl:template match="/|comment()|processing-instruction()">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
Regards.
Add a comment