CDATA issue in RFC XML conversion

Hi all,
I am trying to consume a webservice from ABAP. One of the webservice method responds with a data holding an xml fragment under the tags CDATA, like,
<!CDATA[[<?xml version="1.0" encoding=.....]]>
But the program throws exception during RFC XML conversion.
However i could find the correct response payload in the error log in ST11 transaction.
Pls advice.

Hi,
as this is not a proper CDATA
try:
<![CDATA[ cdata text ]]>
you can test it easily by opening with IExplorer
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Similar Messages

  • Issue in Excel to XML Conversion

    Hi Gurus,
    I am creating a custom java module in sap nwds 7.3 for Excel to XML Conversion. But I am getting following error
    Classpath dependency validator message.
    Classpath entry  will not be exported or published. Runtime ClassNotFoundExceptions may result.
    I imported the Jars from a different PI system and i am using NWDS in local PC with creating a separate folder with all JARs and also imported them using build path option.
    This issue is occuring for all the jars imported.
    I am using following code.
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.AbstractTrace;
    import java.util.HashMap;
    import jxl.Cell;
    import jxl.Workbook;
    public class JavaMappingExcelToXML implements StreamTransformation{
    private Map map = null;
    private AbstractTrace trace = null;
    public void setParameter(Map arg0) {
    map = arg0; // Store reference to the mapping parameters
    if (map == null) {
    this.map = new HashMap();
    public static void main(String args[]) { //FOR EXTERNAL STANDALONE TESTING
    try {
    FileInputStream fin = new FileInputStream ("c:/ashu.xls"); //INPUT FILE (PAYLOAD)
    FileOutputStream fout = new FileOutputStream ("C:/Users/ashutosh.a.upadhyay/My Documents/ashuXML2.xml"); //OUTPUT FILE (PAYLOAD)
    JavaMappingXLStoXML mapping = new JavaMappingXLStoXML ();
    mapping.execute(fin, fout);
    catch (Exception e1) {
    e1.printStackTrace();
    public void execute(InputStream inputstream, OutputStream outputstream) {
    String msgType = "Message Type name will come here";
    String nameSpace = "Namespace Name will come here";
    String xmldata = "";
    try {
    Workbook wb = Workbook.getWorkbook(inputstream);
    xmldata ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+ "<ns0:"+msgType+" "+"xmlns:ns0=\""+nameSpace+"\n">";
    Cell[] cells ;
    Cell[] cellNames ;
    cellNames = wb.getSheet(0).getRow(0);
    for(int j=1;j<wb.getSheet(0).getRows();j++){
    xmldata = xmldata+"\n<Record>\n";
    cells = wb.getSheet(0).getRow(j);
    for(int i=0;i<wb.getSheet(0).getColumns();i++){
    xmldata = xmldata+"\t<"+cellNames[i].getContents()+">"+cells[i].getContents()+"</"+cellNames[i].getContents()+">\n";
    xmldata = xmldata+"</Record>";
    xmldata = xmldata+"\n</ns0:"+msgType+">";
    System.out.print(xmldata);
    xmldata.getBytes();
    wb.close();
    byte by[] = xmldata.getBytes();
    outputstream.write(by);
    inputstream.close();
    outputstream.close();
    System.out.println("\n"+"File processed");
    catch (Exception e) {
    e.printStackTrace();
    Request you to guide how to resolve this issue.
    Thanks  in advance

    Thanks Anand,
    PDF shared by you was extremely helpful. Now I have successfully developed and deployed the adapter. But while using it in Communication Channel I am getting following error.
    Error: com.sap.engine.services.jndi.persistent.exceptions.NamingException: Exception during lookup operation of object with name localejbs/ExcelToXML, cannot resolve object reference. [Root exception is javax.naming.NamingException: Error occurs while the EJB Object Factory trying to resolve JNDI reference Reference Class Name: Type: clientAppName Content: sap.com/SAP_Exel_To_XMLEAR Type: interfaceType Content: local Type: ejb-link Content: Excel_To_XML Type: jndi-name Content: ExcelToXML Type: local-home Content: sap.com.excelToXML.Excel_To_XMLLocalHome Type: local Content: sap.com.excelToXML.Excel_To_XMLLocal com.sap.engine.services.ejb3.runtime.impl.refmatcher.EJBResolvingException: Cannot start applicationsap.com/SAP_Exel_To_XMLEAR; nested exception is: java.rmi.RemoteException: [ERROR CODE DPL.DS.6125] Error occurred while starting application locally and wait.; nested exception is: com.sap.engine.services.deploy.exceptions.ServerDeploymentException: [ERROR CODE DPL.DS.5029] Exception in operation [startApp] with application [sap.com/SAP_Exel_To_XMLEAR]. at com.sap.engine.services.ejb3.runtime.impl.DefaultContainerRepository.startApp(DefaultContainerRepository.java:398) at com.sap.engine.services.ejb3.runtime.impl.DefaultContainerRepository.getEnterpriseBeanContainer(DefaultContainerRepository.java:182) at com.sap.engine.services.ejb3.runtime.impl.DefaultRemoteObjectFactory.resolveReference(DefaultRemoteObjectFactory.java:55) at com.sap.engine.services.ejb3.runtime.impl.EJBObjectFactory.getObjectInstance(EJBObjectFactory.java:144) at com.sap.engine.services.ejb3.runtime.impl.EJBObjectFactory.getObjectInstance(EJBObjectFactory.java:63) at com.sap.engine.system.naming.provider.ObjectFactoryBuilderImpl._getObjectInstance(ObjectFactoryBuilderImpl.java:76) at com.sap.engine.system.naming.provider.ObjectFactoryBuilderImpl.access$100(ObjectFactoryBuilderImpl.java:33) at com.sap.engine.system.naming.provider.ObjectFactoryBuilderImpl$DispatchObjectFactory.getObjectInstance(ObjectFactoryBuilderImpl.java:226) at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:283) at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:434) at com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:223) at com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:242) at javax.naming.InitialContext.lookup(InitialContext.java:351) at javax.naming.InitialContext.lookup(InitialContext.java:351) at com.sap.aii.af.lib.util.ejb.FastEjbFactory.createEjbInstance(FastEjbFactory.java:69) at com.sap.aii.af.lib.util.ejb.FastEjbFactory.createEjbInstance(FastEjbFactory.java:50) at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.getModuleLocal(ModuleProcessorBean.java:419) at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:287) at sun.reflect.GeneratedMethodAccessor946.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:74) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:23) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at com.sun.proxy.$Proxy3299.process(Unknown Source) at com.sap.aii.adapter.file.File2XI.send(File2XI.java:3605) at com.sap.aii.adapter.file.File2XI.processFileList(File2XI.java:1374) at com.sap.aii.adapter.file.File2XI.invoke(File2XI.java:669) at com.sap.aii.af.lib.scheduler.JobBroker$Worker.run(JobBroker.java:534) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:182) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:280) ]
    pl
    please help

  • RFC to XML-RFC Parsing issue in RFC Adapter as Sender

    Hi all,
    I tried to use RFC adapter as a sender. The scenario I am trying to achieve is R3 -> RFC Adapter Sender --> BPM --> RFC Adapter Receiver --> SAP Auto-ID system.
    The reason to use two RFC adapter and BPM is to log the request message if the RFC call fails. Everything works as expected, except the RFC Adapter Sender.
    The RFC I am calling has an input table. The input data I use works fine if I call it via SE37 or remotely from another SAP system. However, if I call it via RFC adapter, when XI parses the data into RFC-XML format, the input data is all messed up.
    DATA: BEGIN OF ID_STR,
            ID_VERSION(8)       TYPE C,
            ID(96)              TYPE C,
            ELEMENT_NAME(50)    TYPE C,
            ELEMENT_VALUE(128)  TYPE C,
          END OF ID_STR.
    DATA: it_id LIKE TABLE OF ID_STR,
          ls_id LIKE ID_STR.
    ls_id-ID_VERSION = 'EPC_1.30'.
    ls_id-ID = '30340242206DC3C00000000A'.
    ls_id-element_name = 'BATCH_ID'.
    ls_id-element_value = 'BATCH001'.
    APPEND ls_id TO it_id.
    CALL FUNCTION '/AIN/UI_MOBILE_MSG_SEND'
      IN BACKGROUND TASK
      DESTINATION  'RFC_UPDATEAII'
      EXPORTING
        IV_BUSINESS_PROCESS       = '09'
        IV_COMMAND                = 'DO'
        IV_ACTION_TYPE            = 'APL2'
        IV_PRT_ID                 = '31140242200000000F000000'
        IV_DEVGRP_EXTID           = 'MOBILE'
      TABLES
        IT_ID                     = it_id
      commit work.
    And the parsed RFC-XML message is:
    <?xml version="1.0" encoding="UTF-8" ?>
    <rfc:_-AIN_-UI_MOBILE_MSG_SEND
    xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
    <IV_ACTION_TYPE>APL2</IV_ACTION_TYPE>
    <IV_BTD_EXTID />
    <IV_BTD_TYPE />
    <IV_BUSINESS_PROCESS>09</IV_BUSINESS_PROCESS>
    <IV_COMMAND>DO</IV_COMMAND>
    <IV_DEVGRP_EXTID>MOBILE</IV_DEVGRP_EXTID>
    <IV_LOC_EXTID />
    <IV_LOC_TYPE />
    <IV_PRT_ID>31140242200000000F000000</IV_PRT_ID>
    <IV_PRT_ID_VERSION />
    <IV_REASON_CODE />
    <IV_UNAME/>
    <ET_RETURN />
    <IT_ID>
    <item>
    <ID_VERSION>EPC_1.30</ID_VERSION>
    <ID>206DC3C00000000A BATCH_ID</ID>
    <ELEMENT_NAME />
    <ELEMENT_VALUE />
    </item>
    </IT_ID>
    </rfc:_-AIN_-UI_MOBILE_MSG_SEND>
    You can see the data in the table is all wrong, it should be:
    <IT_ID>
    <item>
    <ID_VERSION>EPC_1.30</ID_VERSION>
    <ID>30340242206DC3C00000000A</ID>
    <ELEMENT_NAME>BATCH_ID</ELEMENT_NAME>
    <ELEMENT_VALUE>BATCH001</ELEMENT_VALUE>
    </item>
    </IT_ID>
    The calling system is a 4.6C non-unicode system, and the destination system is a unicode system (this does not matter since the first part of the integration is between R3 and XI). There is no config found on R3 side to specify non-unicode because it is a rather old system. In XI RFC Adapter config, I checked non-unicode checkbox (I also tested it with this unchecked, but still the same issue).
    Have any of you seen this problem and how you resolve it?
    Thanks a lot for your help!
    Regards,
    Hart

    Hi Hart
    long time no seen - hope you remember me
    >The reason to use two RFC adapter and BPM is to log the request message if the RFC call fails
    there is an easy way (guess max 3-4 hours) to solve all of your issues
    and get rid of a BPM
    use IDOC - XI - ABAP Proxy
    then you will have IDOC and ABAP Proxy that always log the message on both ends (and you can restart ABAP proxies easily in AII - and every AII supports ABAP proxies) + you get rid of a BPM as it's not necessary as far as I understand (as it's asyn communication right?)
    maybe you can go this way and IDOCs always work...
    good luck,
    Regards,
    Michal Krawczyk
    http://mypigenie.com XI/PI FAQ

  • JAVA Mapping for XML conversion during runtime

    Dear SAP JAVA experts,
    For quite I have been struggling to keep the JAVA code in place for JSON to XML conversion being a newbie.
    Following is the code snippet.
    import java.io.InputStream;
    import net.sf.json.JSON;
    import net.sf.json.JSONSerializer;
    import net.sf.json.xml.XMLSerializer;
    import org.apache.commons.io.IOUtils;
    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;
    import com.sap.aii.utilxi.core.io.IOUtil;
    public class RuntimeJSONtoXML extends AbstractTransformation {
      public void transform(TransformationInput input, TransformationOutput output)
      throws StreamTransformationException {
      try
    //InputStream is = JSONtoXML.class.getResourceAsStream("JSON.txt");
       String strJSON = "";
       InputStream inputStream = input.getInputPayload().getInputStream();
       inputStream.close();
       String jsonData = IOUtils.toString(strJSON);
               XMLSerializer serializer = new XMLSerializer();
               JSON json = JSONSerializer.toJSON( jsonData );
               String xml = serializer.write( json );
               //System.out.println(xml);
               output.getOutputPayload().getOutputStream().write(strJSON.getBytes());
      catch(Exception ie) { }
    Caught unaware of 2 queries.
    1.I have added the com.sap.aii.utilxi.core.io.IOUtil jar files from the PI server even though its displays error "The com.sap.aii.utilxi can not be resolved". Also I added the XPI libraries in NWDS but nothing moving to solve the issue.
    2. I have commented the line of code where I have placed a test file in the path to test it i.e. JSON.text. But when it is deployed as Archived files, then this code has to be replaced.
    The Method toString(InputStream) in the type IOUtils is not applicable for the arguments (String)
    Regards
    Rebecca..

    1.I have added the com.sap.aii.utilxi.core.io.IOUtil jar files from the PI server even though its displays error "The com.sap.aii.utilxi can not be resolved". Also I added the XPI libraries in NWDS but nothing moving to solve the issue.
    Which jar file did you add?
    /usr/sap/<<SID>>/DVEBMGS<<SYSNO>>/j2ee/cluster/bin/ext/com.sap.xi.util.misc/lib
    jar file name : com.sap.aii.utilxi.core.jar
    2. I have commented the line of code where I have placed a test file in the path to test it i.e. JSON.text. But when it is deployed as Archived files, then this code has to be replaced.
    The Method toString(InputStream) in the type IOUtils is not applicable for the arguments (String)
    To read the input stream you should have
    InputStream inputstream = transformationInput.getInputPayload().getInputStream();
    Please refer to below blog just to get an idea on working with input stream and output stream.
    Dynamic file name for pass-through scenario - Process Integration - SCN Wiki

  • Creating a custom java module for excel to xml conversion.

    Hi Gurus,
    I am creating a custom java module in sap nwds 7.3 for Excel to XML Conversion. But I am getting following error
    Classpath dependency validator message.
    Classpath entry  will not be exported or published. Runtime ClassNotFoundExceptions may result. 
    I imported the Jars from a different PI system and i am using NWDS in local PC with creating a separate folder with all JARs and also imported them using build path option.
    This issue is occuring for all the jars imported.
    I am using following code.
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.AbstractTrace;
    import java.util.HashMap;
    import jxl.Cell;
    import jxl.Workbook;
    public class JavaMappingExcelToXML implements StreamTransformation{
    private Map map = null;
    private AbstractTrace trace = null;
    public void setParameter(Map arg0) {
    map = arg0; // Store reference to the mapping parameters
    if (map == null) {
    this.map = new HashMap();
    public static void main(String args[]) { //FOR EXTERNAL STANDALONE TESTING
    try {
    FileInputStream fin = new FileInputStream ("c:/ashu.xls"); //INPUT FILE (PAYLOAD)
    FileOutputStream fout = new FileOutputStream ("C:/Users/ashutosh.a.upadhyay/My Documents/ashuXML2.xml"); //OUTPUT FILE (PAYLOAD)
    JavaMappingXLStoXML mapping = new JavaMappingXLStoXML ();
    mapping.execute(fin, fout);
    catch (Exception e1) {
    e1.printStackTrace();
    public void execute(InputStream inputstream, OutputStream outputstream) {
    String msgType = "Message Type name will come here";
    String nameSpace = "Namespace Name will come here";
    String xmldata = "";
    try {
    Workbook wb = Workbook.getWorkbook(inputstream);
    xmldata ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+ "<ns0:"+msgType+" "+"xmlns:ns0=\""+nameSpace+"\n">";
    Cell[] cells ;
    Cell[] cellNames ;
    cellNames = wb.getSheet(0).getRow(0);
    for(int j=1;j<wb.getSheet(0).getRows();j++){
    xmldata = xmldata+"\n<Record>\n";
    cells = wb.getSheet(0).getRow(j);
    for(int i=0;i<wb.getSheet(0).getColumns();i++){
    xmldata = xmldata+"\t<"+cellNames[i].getContents()+">"+cells[i].getContents()+"</"+cellNames[i].getContents()+">\n";
    xmldata = xmldata+"</Record>";
    xmldata = xmldata+"\n</ns0:"+msgType+">";
    System.out.print(xmldata);
    xmldata.getBytes();
    wb.close();
    byte by[] = xmldata.getBytes();
    outputstream.write(by);
    inputstream.close();
    outputstream.close();
    System.out.println("\n"+"File processed");
    catch (Exception e) {
    e.printStackTrace();
    Request you to guide how to resolve this issue.
    Thanks  in advance

    Hi Gurus,
    I am creating a custom java module in sap nwds 7.3 for Excel to XML Conversion. But I am getting following error
    Classpath dependency validator message.
    Classpath entry  will not be exported or published. Runtime ClassNotFoundExceptions may result. 
    I imported the Jars from a different PI system and i am using NWDS in local PC with creating a separate folder with all JARs and also imported them using build path option.
    This issue is occuring for all the jars imported.
    I am using following code.
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.AbstractTrace;
    import java.util.HashMap;
    import jxl.Cell;
    import jxl.Workbook;
    public class JavaMappingExcelToXML implements StreamTransformation{
    private Map map = null;
    private AbstractTrace trace = null;
    public void setParameter(Map arg0) {
    map = arg0; // Store reference to the mapping parameters
    if (map == null) {
    this.map = new HashMap();
    public static void main(String args[]) { //FOR EXTERNAL STANDALONE TESTING
    try {
    FileInputStream fin = new FileInputStream ("c:/ashu.xls"); //INPUT FILE (PAYLOAD)
    FileOutputStream fout = new FileOutputStream ("C:/Users/ashutosh.a.upadhyay/My Documents/ashuXML2.xml"); //OUTPUT FILE (PAYLOAD)
    JavaMappingXLStoXML mapping = new JavaMappingXLStoXML ();
    mapping.execute(fin, fout);
    catch (Exception e1) {
    e1.printStackTrace();
    public void execute(InputStream inputstream, OutputStream outputstream) {
    String msgType = "Message Type name will come here";
    String nameSpace = "Namespace Name will come here";
    String xmldata = "";
    try {
    Workbook wb = Workbook.getWorkbook(inputstream);
    xmldata ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+ "<ns0:"+msgType+" "+"xmlns:ns0=\""+nameSpace+"\n">";
    Cell[] cells ;
    Cell[] cellNames ;
    cellNames = wb.getSheet(0).getRow(0);
    for(int j=1;j<wb.getSheet(0).getRows();j++){
    xmldata = xmldata+"\n<Record>\n";
    cells = wb.getSheet(0).getRow(j);
    for(int i=0;i<wb.getSheet(0).getColumns();i++){
    xmldata = xmldata+"\t<"+cellNames[i].getContents()+">"+cells[i].getContents()+"</"+cellNames[i].getContents()+">\n";
    xmldata = xmldata+"</Record>";
    xmldata = xmldata+"\n</ns0:"+msgType+">";
    System.out.print(xmldata);
    xmldata.getBytes();
    wb.close();
    byte by[] = xmldata.getBytes();
    outputstream.write(by);
    inputstream.close();
    outputstream.close();
    System.out.println("\n"+"File processed");
    catch (Exception e) {
    e.printStackTrace();
    Request you to guide how to resolve this issue.
    Thanks  in advance

  • How to export string in CDATA with the jaxb xml writer?

    How to export string in CDATA with the jaxb xml writer?
    It read CDATA no problem but it is lost on write.

    Found it:
    ### THIS WORKS WITH SUN JAXB REFERENCE IMPLEMENTATION. ###
    (Not tested with any other)
    In the xsd, you must create a type for your string-like element.
    Then associate a data type converter class to this new type, which will produce CDATA tags.
    Then you must set a custom characterEscapeHandler to avoid the default xml escaping in order to preserve the previously produced CDATA tag.
    Good luck.
    -----type converter-----
    import javax.xml.bind.DatatypeConverter;
    public class ExpressionConverter {
         * Convert an expression from an XML file into an internal representation. JAXB will
         * probably have already stripped off the CDATA encapsulation. As a result, this method
         * simply invokes the JAXB type conversion for strings but does not take any other action.
         * @param text an XML-compliant expression
         * @return a pure string expression
         public static String parse(String text) {
              String result = DatatypeConverter.parseString(text);
              return result;
         * Convert an expression from its internal representation to an XML-compliant version.
         * This method will simply surround the string in a CDATA block and return the result.
         * @param text a pure string expression
         * @return the expression encapsulated within a CDATA block
         public static String print(String text) {
              StringBuffer sb = new StringBuffer(text.length() + 20); //should add the length of the CDATA tags + 8 EOLs to be safe
              sb.append("<![CDATA[");
              sb.append(wrapLines(text, 80));
              sb.append("]]>");
              return DatatypeConverter.printString(sb.toString());
         * Provides line-wrapping for long text strings. EOL indicators are inserted at
         * word boundaries once a specified line-length has been exceeded.
         * @param text the string to be wrapped
         * @param lineLength the maximum number of characters that should be included in a single line
         * @return the new string with appropriate EOL insertions
         private static String wrapLines(String text, int lineLength) {
              //wrap logic, watchout for quoted strings!!!!
              return text;
    ------in caller----
    Marshaller writer = ......
    writer.setProperty("com.sun.xml.bind.characterEscapeHandler", new NoCharacterEscapeHandler());
    -----escaper-----
    import java.io.IOException;
    import java.io.Writer;
    import com.sun.xml.bind.marshaller.CharacterEscapeHandler;
    public class NoCharacterEscapeHandler implements CharacterEscapeHandler {
         * Escape characters inside the buffer and send the output to the writer.
         * @param buf buffer of characters to be encoded
         * @param start the index position of the first character that should be encoded
         * @param len the number of characters that should be encoded
         * @param isAttValue true, if the buffer represents an XML tag attribute
         * @param out the output stream
         * @throws IOException if the writing process fails
         public void escape(char[] buf, int start, int len, boolean isAttValue, Writer out) throws IOException {
              for (int i = start; i < start + len; i++) {
                   char ch = buf;
                   if (isAttValue) {
                        // isAttValue is set to true when the marshaller is processing
                        // attribute values. Inside attribute values, there are more
                        // things you need to escape, usually.
                        if (ch == '&') {
                             out.write("&");
                        } else if (ch == '>') {
                             out.write(">");
                        } else if (ch == '<') {
                             out.write("<");
                        } else if (ch == '"') {
                             out.write(""");
                        } else if (ch == '\'') {
                             out.write("&apos;");
                        } else if (ch > 0x7F) {
                             // escape everything above ASCII to &#xXXXX;
                             out.write("&#x");
                             out.write(Integer.toHexString(ch));
                             out.write(";");
                        } else {
                             out.write(ch);
                   } else {
                        out.write(ch);
              return;

  • SOAP Runtime: Exception message: Unallowed RFC-XML Tag (SOAP_EINVALDOC)

    Hi,
    Curretly I am trying to test a Webservice on ECC 5.0, Oracle, Windows.
    Below is the error that I am facing.
    SOAP Runtime: SOAP Runtime exception: 111 occurred in method XP_READ_TAG of class CL_SOAP_XP at position 1
    SOAP Runtime: Exception message: Unallowed RFC-XML Tag (SOAP_EINVALDOC)
    In dev_rfc0:
    ERROR 03:20:57: SOAP HTTP Binding CL_SOAP_HTTP_TPBND_ROOT->HANDLE
    STATUSCODE() Received return code 404 ( Not found )
    ERROR 03:20:57: SOAP Message CL_SOAP_MESSAGE->IF_SOAP_MESSAGE
    PART~INITFOR_DESERIALIZE() A SOAP Runtime Core Exception
    occurred in method XP_READ_TAG of class CL_SOAP_XP at position id
    1 with internal error id 111 and error text Unallowed RFC-XML Tag
    (SOAP_EINVALDOC) (fault location is 1 ).
    I have looked up on sdn, and also looked at note 919886.
    I have read several posts regarding creation of RFC Destination in sm59 of Type G, to get over this issue.
    But RFC Destination of type G is not available in ECC 5.0
    Is the error because of incorrect URL mentioned in logical port,
    I am unable to ping the host name mentioned in URL, looks like that machine is not in the network.
    does it mean the wsdl is not located at that particular host.
    Any suggestions would be greatly appreciated.
    Regards,
    Vishnu.

    Hi Anton,
    The complete error message in dev_rfc0:
    INFO 02:15:12: SOAP Transport Binding CL_SOAP_HTTP_TPBND_ROOT
    ->IF_SOAP_TRANSPORT_BINDING~SEND() Try to send message ( DEST =
    ,PATH = ,URL = http://hostname:portno/ ,SOAP Action =
    "ROI_R3_DF.roiSAPCreateOrder" )
    INFO 02:15:12: SOAP Transport Binding CL_SOAP_HTTP_TPBND_ROOT
    ->IF_SOAP_TRANSPORT_BINDING~SEND() Message sent
    INFO 02:15:12: SOAP Transport binding CL_SOAP_HTTP_TPBND_ROOT
    ->IF_SOAP_TRANSPORT_BINDING~RECEIVE() Try to receive message
    ERROR 02:15:12: SOAP HTTP Binding CL_SOAP_HTTP_TPBND_ROOT->HANDLE
    STATUSCODE() Received return code 404 ( Not found )
    ERROR 02:15:12: SOAP Message CL_SOAP_MESSAGE->IF_SOAP_MESSAGE
    PART~INITFOR_DESERIALIZE() A SOAP Runtime Core Exception
    occurred in method XP_READ_TAG of class CL_SOAP_XP at position id
    1 with internal error id 111 and error text Unallowed RFC-XML Tag
    (SOAP_EINVALDOC) (fault location is 1 ).
    After reading your post about the return code 404, I am in a dilemma whether, services in icman are unavailable or
    the services at the location of the wsdl in the other server.
    If you could clarify, it would be great.
    Thanks a lot.
    Vishnu.

  • Unallowed RFC-XML Tag (SOAP_EINVALDOC) - Web Service using ABAP Proxy

    Hi there
    I am trying to consume a Web Service using ABAP Proxies.  I have done the following in the system:
    I configured the HTTP and HTTPS Proxy settings. 
    I created a package with package interfaces SAI_TOOLS and SAPPINT included under the Use Access tab.
    I created the proxy classes by using the WSDL provided by the system I'm trying to interface with. 
    I created my HTTP destination RFC via SM59. 
    I configured a logical port for the proxy. 
    I developed the ABAP code for calling the proxy. 
    In the code the exception CX_AI_SYSTEM_FAULT gets raised with error message <b>"Unallowed RFC-XML Tag (SOAP_EINVALDOC)"</b> when I call the method for passing data to the destination system in the proxy class.
    I had a look at SM21 and the following message was written in the log:
    <b>"SOAP Runtime: SOAP Runtime exception: 111 occurred in method XP_READ_TAG of class CL_SOAP_XP at position 1
    SOAP Runtime: Exception message: Unallowed RFC-XML Tag (SOAP_EINVALDOC)"</b>.  I also looked at SAP Note 919886 which states that it can be dumps in the system, missing configuration or the path prefix of the RFC destination that is incorrect.  I cannot find any ST22 entries.  The trace file looks as follows:
    SAP System ID: DGH
    Client: 009
    User: COLESKG
    System time: 072910
    System date: 20070531
    SAP Release: 700
    Host: hd307c
    Operating system: AIX
    DB System: ORACLE
    Program: ZUK_IPA00003
    Processing State: 0
    Location: Client
    Transport Binding: http://schemas.xmlsoap.org/soap/http
    SOAP Application: urn:sap-com:soap:runtime:application:client
    SOAP Runtime Protocol: http://www.sap.com/webas/630/soap
    /runtime/protocol
    SOAP Protocols: <initial>
    Request Message: <initial>
    Response Message: <initial>
    Fault: <initial>
    Registry: <initial>
    SOAP Roles: <initial>
    Trace Level: 3
    Logging Level: 2
    Monitoring Level: 0
    Security Profile: <initial>
    WS Security Protocol: <initial>
    INFO 07:29:10: SOAP LP Registry CL_SRT_LP_MAINTENANCE->CREATE_CLIENT_APPL() Try to create client application for Proxyclass:
    ZES_CO_PROCESS_EMPLOYEE_BATCH LP name: DEFAULT
    INFO 07:29:10: SOAP LP Registry CL_SRT_LP_MAINTENANCE->CREATE_CLIENT_APPL() Client application created
    INFO 07:29:10: SOAP LP Registry CL_SRT_LP_MAINTENANCE->CREATE_CLIENT_APPL() Try to initialize client application
    INFO 07:29:10: SOAP Application CL_SOAP_APPLICATION_CLIENT->IF_SOAP_APPLICATION_CS~INIT() Try to initialize application
    urn:sap-com:soap:runtime:application:client
    INFO 07:29:10: SOAP Application CL_SOAP_APPLICATION_CLIENT->INTERNAL_CLIENT_INIT() Create new runtime CL_SOAP_RUNTIME_CLIENT
    INFO 07:29:10: SOAP Runtime CL_SOAP_RUNTIME_CLIENT->REGISTER_APPLICATION() Try to register application
    INFO 07:29:10: SOAP Runtime CL_SOAP_RUNTIME_CLIENT->REGISTER_APPLICATION() Application registered
    INFO 07:29:10: SOAP Application CL_SOAP_APPLICATION_CLIENT->INTERNAL_CLIENT_INIT() Read type of transport binding from
    configuration
    INFO 07:29:10: SOAP Application CL_SOAP_APPLICATION_CLIENT->INTERNAL_CLIENT_INIT() Create new transport binding type
    http://schemas.xmlsoap.org/soap/http
    INFO 07:29:10: SOAP Transport Binding CL_SOAP_TRANSPORT_BINDING_ROOT->IF_SOAP_TRANSPORT_BINDING~INIT() Try to initialize
    http://schemas.xmlsoap.org/soap/http
    INFO 07:29:10: SOAP Transport Binding CL_SOAP_TRANSPORT_BINDING_ROOT->IF_SOAP_TRANSPORT_BINDING~INIT() http://schemas.xmlsoap
    .org/soap/http initialized
    INFO 07:29:10: SOAP Transport Binding CL_SOAP_TRANSPORT_BINDING_ROOT->IF_SOAP_TRANSPORT_BINDING~REQUEST() Try to create request message
    INFO 07:29:10: SOAP Transport Binding CL_SOAP_TRANSPORT_BINDING_ROOT->IF_SOAP_TRANSPORT_BINDING~REQUEST() Request message created
    INFO 07:29:10: SOAP Transport Binding CL_SOAP_TRANSPORT_BINDING_ROOT->IF_SOAP_TRANSPORT_BINDING~RESPONSE() Try to create response message
    INFO 07:29:10: SOAP Transport Binding CL_SOAP_TRANSPORT_BINDING_ROOT->IF_SOAP_TRANSPORT_BINDING~RESPONSE() Response message
    created
    INFO 07:29:10: SOAP Runtime CL_SOAP_RUNTIME_CLIENT->INIT() Try to initialize
    INFO 07:29:10: SOAP Runtime CL_SOAP_RUNTIME_CLIENT->INIT() Check transport binding
    INFO 07:29:10: SOAP Runtime CL_SOAP_RUNTIME_CLIENT->INIT() Create runtime protocol
    INFO 07:29:10: SOAP Runtime Protocol CL_SOAP_RUNTIME_PROTOCOL->IF_SOAP_PROTOCOL~INIT() Try to initialize SOAP Runtime-intrinsic
    Protocol as SENDER with Priority 5
    INFO 07:29:10: SOAP Runtime Protocol CL_SOAP_RUNTIME_PROTOCOL->INIT_MODULES() Try to create trace header/part
    INFO 07:29:10: SOAP Runtime Protocol CL_SOAP_RUNTIME_PROTOCOL->INIT_MODULES() Trace header/part created
    INFO 07:29:10: SOAP Runtime Protocol CL_SOAP_RUNTIME_PROTOCOL->INIT_MODULES() Try to create logging header/part
    INFO 07:29:10: SOAP Runtime Protocol CL_SOAP_RUNTIME_PROTOCOL->INIT_MODULES() Logging header/part created
    INFO 07:29:10: SOAP Runtime Protocol CL_SOAP_RUNTIME_PROTOCOL->IF_SOAP_PROTOCOL~INIT() Protocol initialized
    INFO 07:29:10: SOAP Runtime CL_SOAP_RUNTIME_CLIENT->INIT()
    Initialized
    INFO 07:29:10: SOAP Protocol CL_SOAP_PROTOCOL_FACTORY->CREATE()
    Try to create instance for http://www.sap.com/webas/630/soap
    /runtime/session/protocol::http://www.sap.com/webas/630/soap
    /runtime/session/protocol/srt640_impl
    INFO 07:29:10: SOAP Protocol CL_SOAP_PROTOCOL_FACTORY->CREATE()
    Instance of CL_SOAP_SESSION_PROTOCOL created for http://www.sap.com/webas/630/soap/runtime/session/protocol::http://www.sap.com/webas/630/soap/runtime/session/protocol/srt640_impl
    INFO 07:29:10: SOAP SESSION Protocol CL_SOAP_SESSION_PROTOCOL->IF_SOAP_PROTOCOL~INIT() Try to initialize SOAP Session Protocol
    as SENDER with Priority 5
    INFO 07:29:10: SOAP SESSION Protocol CL_SOAP_SESSION_PROTOCOL->IF_SOAP_PROTOCOL~INIT() Protocol initialized
    INFO 07:29:10: SOAP Application CL_SOAP_APPLICATION_CLIENT_GEN->CONFIGURE_FEATURES() Try to configure features
    INFO 07:29:10: SOAP HTTP Binding CL_SOAP_HTTP_TPBND_ROOT->IF_SOAP_HTTP_TRANSPORT_BINDING~SET_CLIENT_BY_DESTINATION() Try to
    create ICF Client for DESTINATION = ALSB
    INFO 07:29:10: SOAP HTTP Binding CL_SOAP_HTTP_TPBND_ROOT->IF_SOAP_HTTP_TRANSPORT_BINDING~SET_CLIENT_BY_DESTINATION() ICF
    Client created by DESTINATION
    INFO 07:29:10: SOAP HTTP Binding CL_SOAP_HTTP_TPBND_ROOT->IF_SOAP_HTTP_TRANSPORT_BINDING~SET_DESTINATION_URL_PATH() Set
    DESTINATION PATH = /SapHRSmartIntegrationWeb/processes/ProcessEmployeeBatch.jpd
    INFO 07:29:10: SOAP Application CL_SOAP_APPLICATION_CLIENT_GEN->CONFIGURE_FEATURES() Features configured
    INFO 07:29:10: SOAP Application CL_SOAP_APPLICATION_CLIENT->IF_SOAP_APPLICATION_CS~INIT() Application urn:sap-com:soap
    :runtime:application:client initialized
    INFO 07:29:10: SOAP LP Registry CL_SRT_LP_MAINTENANCE->CREATE_CLIENT_APPL() Client application initialized
    Trace file opened at 20070531 073030 GMT SAP-REL 700,0,95
    Error in module XMLParserGetNextElement:773
    Id @(#) $Id: //bas/700_REL/src/krn/rfc/xrfcpars.c#2 $
    Unallowed RFC-XML Tag
    Error in module XMLConverterReadTag:3061
    Id @(#) $Id: //bas/700_REL/src/krn/rfc/xrfccnvrt.c#5 $
    Unallowed RFC-XML Tag(24)
    Error in module ab_soap:4392
    Id @(#) $Id: //bas/700_REL/src/krn/rfc/abxrfccal.c#2 $
    failed with return code 1
    It then must be something in the config.  Has anyone got any idea why this message is encountered?
    Kind Regards
    Gustav Coleske
    Message was edited by:
            Gustav Coleske

    Hi,
    I have the same problem as described.
    Can you give me a little more information about the error you have solved in the proxy.
    Thanks for help
    John

  • BPS retraction RFC destination conversion

    Hello everybody,
    I m surprised not having met a discussion about RFC destination conversion between systems for BPS retraction?
    What is the common recommendation for BPS retraction to have your customizing adapted and to retract to your QUAL R/3 from your QUAL BPS system without having to replicate your customizing with hard coded RFC destination to allow every BPS system to retract to any R/3 system !! Why this does not read the RFC conversion table from BW, probably too easy ?
    If you have feed back on this point I would really appreciate , many thanks .
    Laurent Allais

    Hello Laurent,
    I agree, it would be nice if the system would convert the RFC destinations. The functionality is just not there. You can use a single RFC destination for all systems and just have a different server that it is pointing to in SM59.
    Or you just make a change in BPS0 after the transport.  It's quite common for plan administrators to have access to BPS0.
    Regards
    Marc
    SAP NetWeaver RIG

  • Date format in XML conversion

    Hello,
    I am using oracle8i. The date format is not giving the proper date values in XML conversion..
    create table test(dt date);
    insert into test values(sysdate);
    insert into test values(sysdate);
    insert into test values(sysdate);
    TEST.WORLD> select * from test;
    DT
    28-NOV-04
    28-NOV-04
    28-NOV-04
    set autoprint on
    set long 100000
    set linesize 100000
    set longchunksize 100000
    var g_clob clob
    declare
    l_ctx dbms_xmlquery.ctxType;
    l_clob clob;
    begin
    l_ctx := dbms_xmlquery.newContext('select dt from test');
    dbms_lob.createtemporary(:g_clob,true,dbms_lob.session);
    dbms_xmlquery.setdateformat(l_ctx,'yyyy-mm-dd');
    :g_clob := dbms_xmlquery.getXml(l_ctx);
    end;
    Here is the output . It is dispalying the 03 For the month november.
    <?xml version = '1.0'?>
    <ROWSET>
    <ROW num="1">
    <DT>2004-03-28</DT>
    </ROW>
    <ROW num="2">
    <DT>2004-03-28</DT>
    </ROW>
    <ROW num="3">
    <DT>2004-03-28</DT>
    </ROW>
    </ROWSET>

    When you call DBMS_XMLQUERY.SETDATEFORMAT, you must supply the mask using the syntax defined by java.text.SimpleDateFormat.
    You need to use "yyyy-MM-dd".
    In your case, "yyyy-mm-dd", the lower case "mm" is the mask for minutes.

  • Xml conversion of data refs with dynamic type

    Hi Colleagues,
    I have to create an XML from a TYPE REF TO DATA, where this data is created using a dynamic internal table. By dynamic internal table i mean that the internal table is created dynamically using the class method cl_alv_table_create=>create_dynamic_table.
    Now the problem that i face is when i use the statement:
    CALL TRANSFORMATION id
          SOURCE jsag_data = im_context_b64
          RESULT XML lv_xml
          OPTIONS data_refs = 'embedded'
                  value_handling = 'move'.
    to generate the XML i get a dump of type CX_XSLT_SERIALIZATION_ERROR saying "The ABAP data cannot be serialized."
    I found a solution to avoid the dump by adding the additional option " TECHNICAL_TYPES = 'ignore' " to the  CALL TRANSFORMATION statement, like
    CALL TRANSFORMATION id
          SOURCE jsag_data = im_context_b64
          RESULT XML lv_xml
          OPTIONS data_refs = 'embedded'
                  value_handling = 'move'
                  TECHNICAL_TYPES = 'ignore'.
    But, using this addition the dynamic type ref to data part is totally ignored from the XML generation.
    If I use a specific DDIC table type to create the data, we do not face this issue and the XML is generated as desired
    Does anyone have a solution to this problem as it has become a sort of blockade for our development?
    Thanks and Cheers,
    Gaurav.

    Hello,
    I reached same problem with dynamic data references, the only solution I got is to used global DDIC types (also for table types !!) when creating data which needs to be serialized.
    The options technical_types = 'ignore' doesn't solve the problem - it just instructs the parser to skip data references without global ddic type. The options value_handling = 'move' is very helpful as XML serialization is very picky about values beeing serialized.
    Here is summary of my observations:
    - Global DDIC type has to be associated with data reference, otherwise only technical type is there and this is not supported (you can use OPTIONS TECHNICAL_TYPES = u2018IGNOREu2019 but this will just skip the data to be serialized to XML) u2026
    - The above means that if you are serializing data reference to table then you have to have also global DDIC type for the table-type !! Unfortunatelly there is no default table type available for transparent tables u2026. They are treated as structures not as table-types u2026 thus:
    - CREATE DATA lr_data TYPE <global_ddic_structure> - can be serialized
    - CREATE DATA lr_data TYPE STANDARD TABLE OF <global_ddic_structure> - cannot be serialized
    - CREATE DATA lr_data TYPE <global_ddic_table_type> - can be serialized
    - !! Unfortunatelly !! CREATE DATA lr_data TYPE <type_pool_ddic_structure/ type_pool_table_type> - also cannot be serialized u2013 this is pitty u2026 this should be supported u2026.

  • Mapping error in FCC to XML conversion

    hiii friends,
    im donig a simple fcc to xml conversion
    my Sender msg type is like
    TXT_mt
          records                             1.1   
                row                             1.n
                    id                             1
                    Name                       1
                    address                   1
    My receiver msg type like
    Xml_mt
          records                             1.1   
                row                             1.n
                    id                             1
                    Name                       1
                    address                   1
    msg mapping like
    records--->records
    id--->id
    Name-->Name
    address-->address
    **Im getting a mapping error like**
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_pepsi_fcc_file_mm_</SAP:P1>
      <SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
      <SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>During the application mapping com/sap/xi/tf/_pepsi_fcc_file_mm_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    I ve checked my adapeters they r green.
    Could u tell me the problem here and how to solve it???
    Regards
    Balaji

    Hii Volker,
    I have tried to understand the trace msg,. i got one interesting error message i hope it will tell the exact problem im facing,,,
    <Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_pepsi_fcc_file_mm_</Trace>
      <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns:xml_mt/record/row. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram
    My Sender CC  contains the following FCC parameters
    Document Name -
    > txt_mt
    Recordset Name -
    > records
    recordset Structure -
    >  row, *
    row.fieldNames -
    > id, Names,address
    row.fieldSeparator -
    > , (comma)
    row.endSeparator--- >  'nl'
    row.processConfiguration  -
    > FromConfiguration
    my TXT_in.txt contain
    100,balaji,chennai
    200,raj,orissa
    300,charakrat,bangalore
    Regards,
    Balaji
    Edited by: Balaji Pichaimuthu on Jul 1, 2009 3:44 PM

  • Issue with inbound xml..

    Hi All,
    We have an issue with inbound XML :
    XML structure is as follows:
    <?xml version="1.0" encoding="UTF-8" ?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <SOAP-ENV:Header>
          <Q-ENV:Header>
                  </Q-ENV:Header>
        </SOAP-ENV:Header>
        <SOAP-ENV:Body>
          <Q-ENV:Body>
            <Q-ENV:Content-Type>text/xml</Q-ENV:Content-Type>
            <Q-ENV:Message-Type>xCBL</Q-ENV:Message-Type>
            <Q-ENV:Encoding>UTF-8</Q-ENV:Encoding>
            <Q-ENV:Message-Body>
              <?xml version="1.0"?>
    <?soxtype urn:x-commerceone:document:com:commerceone:XCBL30:XCBL30.sox$1.0?>
    <OrderResponse>
    The issue is see at the <Q-ENV:Message-Body>  we are receiving  <?soxtype urn:x-commerceone:document:com:commerceone:XCBL30:XCBL30.sox$1.0?> for OrderResponse header ..it is neither validating as valid xml or unable to read the items after that namespace with graphical mapping or xslt ..if anybody have any idea, thanks

    Hello,
    The issue is see at the <Q-ENV:Message-Body> we are receiving <?soxtype urn:x-commerceone:document:com:commerceone:XCBL30:XCBL30.sox$1.0?> for OrderResponse header
    You can use java mapping for your requirement. The key is to convert the inputStream into String and then use a find/replace that value and then write to outputStream afterwards.
    Here is a sample code using PI 7.1 API:
    https://wiki.sdn.sap.com/wiki/display/XI/SampleJAVAMappingcodeusingPI7.1+API
    Hope this helps,
    Mark

  • Seeburger EDI Text to EDI XML conversion failure should throw an error

    Hi,
    I am expecting an error message to be thrown when EDI Text to EDI XML conversion fails at Message splitter of Seeburger module. I am getting the following error in the log.
    "2012-01-19T01:46:08.032-0800 ERROR [Error:ID=2150;LEVEL=3] counter value (41) of incoming field (UNB.UNH.UNT:0074) doesnt match the calculated value (39).
    DESCRIPTION: Either the counter value is not filled in the source file or the counter field value is wrong. "
    But my expectation is that the channel should show some error in Adapter Engine monitoring itself. As shown below, it is just showing some warning that because of above error, it is not creating the attachment. Now I am expecting the the following warning to be an error rather than just warning. Please let me know if any idea on the same.
    19.01.2012 01:46:08 Information SEEBURGER/MESSAGESPLITTER: Trying to establish CCI Connection to Message Splitter Adapter
    19.01.2012 01:46:08 Information SEEBURGER/MESSAGESPLITTER: Creating CCI Interaction
    19.01.2012 01:46:08 Warning SEEBURGER/MESSAGESPLITTER: There is no attachment to split. So there is nothing to do.
    19.01.2012 01:46:08 Information SEEBURGER/MESSAGESPLITTER: Finished splitting!
    BR,
    Aman

    Thanks you all for your inputs..
    I got the solution for the same.
    I need to set the mapping program name specifically rather than AUTO for bic mappingName parameter. This has turned my communication channel status in RWB into Red for errors.
    Closing this thread ...
    Regards,
    Aman

  • Flat files to XML conversion module?

    Hi Experts,
    I would like to know from where I can have free download for flat files to XML conversion module which I can test in development server. Your help will be well appreciated.
    Thanks and Regards,
    Praveen.

    u have file adapter with FCC which does the flat file to XML conversion. wat is ur requirement?
    refer the help or search on SDN for file content conversion.
    http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/frameset.htm
    few examples:-
    Introduction to simple(File-XI-File)scenario and complete walk through for starters(Part1)
    Key value:
    How to send a flat file with various field lengths and variable substructures to XI 3.0
    File Receiver with Content Conversion
    chirag

Maybe you are looking for

  • How can I add a company logo into my signiture line of my e-mail?

          I have an Ipad 2 that I use for business, I would like to attach a company logo to the signature line to appear on all of my outgoing messages for better identification. How can I do this?

  • IPhoto Library is in use or unreadable

    I believe I corrupted my default iPhoto '09 (8.1.2) library a few days ago. I have not set up Time Machine, but I haven't lost any photos. I simply cannot open iPhoto (the "in use or unreadable" error seems to be a well-known one). This was likely ca

  • Installaton error on ovi suite-- please help

    I got my nokia n8 yesterday and I got some problems while installing the ovi suite cd  in my Windows7 64bit laptop.. so i download the latest version of ovi suite but i got the same problem as mentioned below...So provide some solution to install ovi

  • Canon 7d mark II raw files open error

    Photoshop elements 12 will not open the canon 7d mark II raw files, from what I read elements are not going to upgrade there camera profiles anymore, so anything new your just out of luck?  The support people have no clue.

  • I cannot creat Database

    Hi! I tried to create database by Database Configuration Assistant. The result is "ORA-12560:TMS:protocol adapter error" on level "Creating database files". Please help me!! Oracle 8.1.7 Windows 2000 P-III