Hi Carlton,
The error you are getting is because of after the xml you have soap envelope tags and the namespace of envelope tags are different from your namespace that is why the XML after XSLT is not matching expected input XML of message mapping and target side the field occurrence is 1..1 that means it is mandatory element not optional that is why you are getting above error.
<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="enablon"> <xsl:output encoding="utf-8"/> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="SOAP-ENV:*"> <xsl:apply-templates select="@* | node()"/> </xsl:template> <xsl:template match="ns0:*"> <xsl:element name="ns0:{local-name()}" namespace="http://isbdcapp86/Enablon7.8Train/rpc_literal.wsdl"> <xsl:apply-templates select="@*|node()"/> </xsl:element> </xsl:template> <xsl:template match="*"> <xsl:copy> <xsl:apply-templates select="*"/> <xsl:value-of select="substring-after(text(),'?>')" disable-output-escaping="yes"/> </xsl:copy> </xsl:template></xsl:stylesheet>
This XSLT will do below:
- Remove CDATA
- Remove UTF-16
- Change the namespace from xmlns:ns0="enablon" to xmlns:ns0="http://isbdcapp86/Enablon7.8Train/rpc_literal.wsdl"
- Remove soap envelope tags
Regards,
Praveen.