Hi King,
You can use below java mapping.
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import com.sap.aii.mapping.api.AbstractTransformation;
import com.sap.aii.mapping.api.StreamTransformationException;
import com.sap.aii.mapping.api.TransformationInput;
import com.sap.aii.mapping.api.TransformationOutput;
public class XMLToStringJavaMap extends AbstractTransformation { @Override public void transform(TransformationInput transformationInput, TransformationOutput transformationOutput) throws StreamTransformationException { try { InputStream inputStream = transformationInput.getInputPayload().getInputStream(); byte[] buf = new byte[inputStream.available()]; inputStream.read(buf); String inputPayloadString = new String(buf, "utf-8"); inputPayloadString = inputPayloadString.replaceAll("\\<\\?xml(.+?)\\?\\>", "").trim(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setIgnoringElementContentWhitespace(true); DocumentBuilder builder = factory.newDocumentBuilder(); Document outputDoc = builder.newDocument(); Element outMsgType = outputDoc.createElement("MT_XMLToString"); outMsgType.setAttribute("ns0", "urn:pi:javamapping:prototype"); outputDoc.appendChild(outMsgType); Element fileNameElement = outputDoc.createElement("message"); fileNameElement.setTextContent(inputPayloadString); outMsgType.appendChild(fileNameElement); Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty("indent", "yes"); transformer.transform(new DOMSource(outputDoc), new StreamResult(transformationOutput.getOutputPayload() .getOutputStream())); } catch (Exception e) { getTrace().addDebugMessage(e.getMessage()); throw new StreamTransformationException(e.getMessage()); } }
}Regards,
Praveen.