Mapping - LINKAGE_ERROR

hi,
My scenario is Proxy to File.  On execution of this scenario, I am getting error "LINKAGE_ERROR" and the description of the Error is "Incompatible class versions (linkage error).
I am on XI 7.0 SP 10. 
Initially, I had a proxy error.  On analysing, we found that the JAVA stack was upgraded to Patch SP10 whereas ABAP stack was still SP06.  Therefore, we now patched the ABAP stack to SP 10.  Thereafter, we generated the proxy for a test scenario and it worked.
Now that for a different scenario, we generated a proxy.  It is now giving the LINKAGE ERROR.  We thought it would be a compatibility issue between the ABAP and JAVA stack as the ABAP stack was upgraded a bit later.  So I regenerated the PROXIES and activated them.  Still I get the same error.
Can anyone thro' light to fix this issue.
Regards.
Balakrishnan

I agree, this is a mapping specific error, not related to the proxies anymore.
If you use only xslt's or message mappings, make dummy changes so that the internal java classes are rebuilt. If you use java mappings, make sure you build the .class files with a compatible (1.4.2.x) JDK.
Regards,
Henrique.

Similar Messages

  • JAVA mapping error

    Hi All,
    I am getting the below error while executing a JAVA mapping.
    <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">LINKAGE_ERROR</SAP:Code>
      <SAP:P1>XMLNSTagCreate1/XMLNSTagCreate1</SAP:P1>
      <SAP:P2>java.lang.NoClassDefFoundError: XMLNSTagCreate1/XM</SAP:P2>
      <SAP:P3>LNSTagCreate1 (wrong name: XMLNSTagCreate1)</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>Linkage error while loading class XMLNSTagCreate1/XMLNSTagCreate1; java.lang.NoClassDefFoundError: XMLNSTagCreate1/XMLNSTagCreate1 (wrong name: XMLNSTagCreate1)</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
    I have tried compiling the code in the same JRE as the one in PI. Still it is not working.
    Please suggest.
    Regards,
    Yashwanth
    Edited by: YashwanthSVK on Aug 17, 2011 8:38 PM

    Hi all... thank you for the replies.. I have compiled the code in the same version of JRE as the PI version...
    Hi Vijay,
    I also felt the same but as I do not have much knowledge in JAVA, i could not track it further. 
    below is the code for the mapping... would you mind if I ask you to have a look at it and let me know where the error is..
    thank you so much ...
    import java.io.*;
    import java.util.Map;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.TransformerFactory;
    import org.w3c.dom.Element;
    import org.w3c.dom.NamedNodeMap;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;
    import com.sap.aii.mapping.api.MappingTrace;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactoryConfigurationError;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import java.io.FileWriter;
    This mapping creates xmlns attribute to send to Tradeplace
    public class XMLNSTagCreate1 extends DefaultHandler  implements StreamTransformation {
         private Map param;
         private MappingTrace trace;
         private OutputStream out;
         public void execute(InputStream in, OutputStream out)
              throws StreamTransformationException {
                   DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
                        try {
                             //trace.addWarning("Execute function starts here");
                             DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
                             try {
                                  org.w3c.dom.Document doc = docBuilder.parse(in);
                                  //Node TradeplaceMessage = doc.getFirstChild();
                                  Element trade=(Element) doc.getFirstChild();
                                  if(trade.hasAttribute("tag1"))
                                  NamedNodeMap TradeplaceMessageAttributes = trade.getAttributes();
                                  String xmlnsValue=trade.getAttribute("tag1");
                                  String modeValue=trade.getAttribute("productionMode");
                                      trace.addInfo("XMLNS  Value:"+xmlnsValue);
                                                                     trade.removeAttribute("tag1");
                                       trade.removeAttribute("productionMode");
                                       trade.setAttribute("xmlns",xmlnsValue);
                                       trade.setAttribute("productionMode",modeValue);
                                                      javax.xml.transform.Transformer transformer = TransformerFactory.newInstance().newTransformer();
                                                      transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                                                      StreamResult result = new StreamResult(new StringWriter());
                                                      DOMSource source = new DOMSource(doc);
                                                      transformer.transform(source, result);
                                                      String xmlString = result.getWriter().toString();
                                                      //System.out.println(xmlString);
                                                      out.write(xmlString.getBytes());
                             } catch (SAXException e1) {
                                  // TODO Auto-generated catch block
                                  e1.printStackTrace();
                             } catch (IOException e1) {
                                  // TODO Auto-generated catch block
                                  e1.printStackTrace();
                             } catch (TransformerConfigurationException e) {
                                  // TODO Auto-generated catch block
                                  e.printStackTrace();
                             } catch (TransformerFactoryConfigurationError e) {
                                  // TODO Auto-generated catch block
                                  e.printStackTrace();
                             } catch (TransformerException e) {
                                  // TODO Auto-generated catch block
                                  e.printStackTrace();
                        } catch (ParserConfigurationException e) {
                             // TODO Auto-generated catch block
                             e.printStackTrace();
         public static void main2(String[] args) throws Exception {
              String xmlFile = "U:
    Untitled.xml";
              InputStream in = new BufferedInputStream(new FileInputStream(xmlFile));
              XMLNSTagCreate1 test = new XMLNSTagCreate1();
              //test.countOccurences(in);
         public static void main(String[] args) throws Exception {
              String xmlFile = "//NA.AD.WHIRLPOOL.COM//myApps//home//NA//qqjos1d//My Documents//TP2.xml";
              InputStream in = new BufferedInputStream(new FileInputStream(xmlFile));
              FileOutputStream out = new FileOutputStream("//NA.AD.WHIRLPOOL.COM//myApps//home//NA//qqjos1d//My Documents//DhanishTP2.xml");
              XMLNSTagCreate1 test = new XMLNSTagCreate1();
              test.execute(in, out);
              OutputStreamWriter out1 = new OutputStreamWriter(out,"UTF-8");
         /* (non-Javadoc)
    @see com.sap.aii.mapping.api.StreamTransformation#setParameter(java.util.Map)
         public void setParameter(Map param) {
              // TODO Auto-generated method stub

  • Java Mapping PI 7.0 to 7.1

    Hi,
    The below mentioned code is for sending email with attachment using Java Mapping which was implemented in PI 7.0
    I know the API for PI 7.1 has changed, I changed the below code using extends AbstractTransformation using Transform instead of implements streamTransformation and few other changes but I get lot of issues.
    Could anyone point out what and all need to be changed in PI 7.1 for the below mentioned code. It would be greatly if anyone could let me know the changes
    package dynamicconfmail;
    import com.sap.aii.mapping.api.*;
    import java.io.BufferedReader;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Properties;
    import javax.mail.*;
    import javax.activation.*;
    import javax.mail.internet.*;
    import javax.mail.util.ByteArrayDataSource;
    public class DynamicConfMail implements StreamTransformation {
        private Map param;
    //// Start of Main Class
    //         public static void main(String[] args) throws Exception
    //     try
    //     FileInputStream fin = new FileInputStream("c:/test/sam.txt");
    //     FileOutputStream fout =     new FileOutputStream("H:/test/sam2_O.txt");
    //     DynamicConfMail mapping = new DynamicConfMail();
    //     mapping.execute(fin, fout);
    //     catch (Exception e)     
    //     //   e.printStackTrace();
    // //End of Main Class
        public DynamicConfMail() {
        public void setParameter(Map map) {
            param = map;
            if (param == null) {
                param = new HashMap();
        public void execute(InputStream inputstream, OutputStream outputstream)
            int IO_BUFFER_SIZE = 4 * 1024;
                String llkj = "1111";
                String llkj_f = "llkj.txt";
                String llkj_dir = "/usr/sap/llkj/in";
                String xyzv = "9999";
                String xyzv_f = "xyzv.txt";
                String xyzv_dir = "/usr/sap/xyzv/in";
               String default_dir = "/usr/sap/Error";
               String Flag = "";
               String FileName = "";
            try
    //           The following is for the FileName in the File Adapter
                DynamicConfiguration conf = (DynamicConfiguration) param.get("DynamicConfiguration");
                DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "FileName");
                DynamicConfigurationKey key1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "Directory");
                InputStream ins = inputstream;
                // Start Copy the InputStream to OutputStream
                byte[] b = new byte[IO_BUFFER_SIZE];
                int read;
                StringBuffer out = new StringBuffer();
                 try {
                        while ((read = inputstream.read(b)) != -1)
                            out.append(new String(b, 0, read));
                            String InputString =  out.toString();
                            String substr = InputString.substring(2, 18);
                            System.out.println(substr);
                            if (substr.equals(llkj))
                                     System.out.println("The given string is equals");
                                     conf.put(key, llkj_f);
                                     conf.put(key1, llkj_dir );
                                       FileName = llkj_f;
                            else if (substr.equals(xyzv))
                                     System.out.println("The given string is equals");
                                     conf.put(key, xyzv_f);
                                     conf.put(key1, xyzv_dir);
                                       FileName = xyzv_f;
                            else
                                    conf.put(key1, default_dir);
                                    Flag = "F";
                                    System.out.println("The given string is not equals");
                                     FileName = substr;
                            // Writes to outputstream
                            outputstream.write(b, 0, read);
                        if (Flag.equals(""))
                         //* Code to Send Email*/
                            String att = outputstream.toString();
                            email obj1 = new email();
                          obj1.send("mailhost", "emailID", "Success", "Success", "emailID",InputString, FileName);
                         //End of Email          Code/
                        else if (Flag.equals("F"))
                        //* Code to Send Email*/
                            String att = outputstream.toString();
                            email obj1 = new email();
                         obj1.send("mailhost", "emailID", "Failed", "Failed", "emailID",InputString, FileName);
                        //End of Email          Code/
                catch (IOException ex)
                    ex.printStackTrace();
               // End of Copy the InputStream to OutputStream
            catch (Throwable throwable)
                throwable.printStackTrace();
       public class email {
         public void postMail(String mailhst, String recivers, String subject, String message, String from, String attachment, String FileName) throws MessagingException
              boolean debug = false;
                    byte[] AttByteArray = attachment.getBytes();
              Properties props = new Properties();
              props.put("mail.smtp.host", mailhst);
                    Session session = Session.getDefaultInstance(props, null);
              session.setDebug(debug);
                    Message msg = new MimeMessage(session);
              InternetAddress addressFrom = new InternetAddress(from);
              msg.setFrom(addressFrom);
                    String recipients[] = recivers.split(",");
              InternetAddress[] addressTo = new InternetAddress[recipients.length];
              for (int i = 0; i < recipients.length; i++)
                   addressTo<i> = new InternetAddress(recipients<i>);
                    msg.setRecipients(Message.RecipientType.TO, addressTo);
              msg.addHeader("MyHeaderName", "myHeaderValue");
              msg.setSubject(subject);
                    // Create the message part
                    BodyPart messageBodyPart = new MimeBodyPart();
                    // Fill the message
                    messageBodyPart.setText("TEST");
                    Multipart multipart = new MimeMultipart();
                    multipart.addBodyPart(messageBodyPart);
                    // Part two is attachment
                    messageBodyPart = new MimeBodyPart();
                    DataSource source = new ByteArrayDataSource("Test","text/plain", AttByteArray );
                    messageBodyPart.setDataHandler(new DataHandler(source));
                    messageBodyPart.setFileName(FileName);
                    multipart.addBodyPart(messageBodyPart);
                    // Put parts in message
                    msg.setContent(multipart);
                    Transport.send(msg);
         public void send(String mailhst, String recivers, String subject, String message, String from, String attachment, String FileName)
         try {
              this.postMail(mailhst, recivers, subject, message, from, attachment, FileName );
         catch (MessagingException mex) {
              System.out.println("send failed, exception: " + mex);
            class ByteArrayDataSource implements DataSource {
             byte[] bytes;
             String contentType;
             String name;
             ByteArrayDataSource( String name, String contentType, byte[] bytes ) {
               this.name = name;
               this.bytes = bytes;
               this.contentType = contentType;
             public String getContentType() {
               return contentType;
             public InputStream getInputStream() {
               return new ByteArrayInputStream(bytes);
             public String getName() {
               return name;
             public OutputStream getOutputStream() throws IOException {
               throw new FileNotFoundException();
    Edited by: PI-seeker on Feb 3, 2011 10:58 PM

    Thansk a lot for your link.
    I did implemented the same way as it mentioned, but I am getting the following error message
    SAP:Error SOAP:mustUnderstand="" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">LINKAGE_ERROR</SAP:Code>
      <SAP:P1>dynamicconfmail/DynamicConfMail</SAP:P1>
      <SAP:P2>java.lang.UnsupportedClassVersionError: dynamiccon</SAP:P2>
      <SAP:P3>fmail/DynamicConfMail : Unsupported major.minor ve</SAP:P3>
      <SAP:P4>rsion 50.0</SAP:P4>
      <SAP:AdditionalText />
      <SAP:Stack>Linkage error while loading class dynamicconfmail/DynamicConfMail; java.lang.UnsupportedClassVersionError: dynamicconfmail/DynamicConfMail : Unsupported major.minor version 50.0</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
    I am sure that I need to do include some library files, but I couln't figure it out. Couls you pls help to resolve this. The following library jar files were included
    activation.jar
    aii_map_api.jar
    com.sap.xpi.ib.mapping.lib.jar
    jce.jar
    mail.jar
    JRE System Library.............is anything else missed out??
    By the way I included all these in Netweaver Developer studio , in JavaBuildPath ->Libraries.
    Added those jar files as external jar's for development and then compiled it and  exported as DynamicConfMailJar  and imported in PI .
    could anyone help?

  • Java Mapping Issue

    Hi,
    I'm new to JAVA mapping and I'm having an issue which I can't get resolved :
    When I execute my mapping I get :
    <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">LINKAGE_ERROR</SAP:Code>
      <SAP:P1>XIFileNameMapClass</SAP:P1>
      <SAP:P2>http://notimportant.com/xi/SOOFT</SAP:P2>
      <SAP:P3>068fe9b0-44d1-11db-c69d-ee989e43162e</SAP:P3>
      <SAP:P4>-1</SAP:P4>
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Incompatible class versions (linkage error)</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    I'm using eclipse for the java class and I have choosen several jre versions to create the .jar file but all lead to the same error.
    I had copied the required aii_map_api.jar.jar from xi box to my local project directory and added it as an external .jar to my project.
    But since I new to JAVA and unsure on what exactly is going into the jar and what not.
    Is it important with which jre version you build the java class ? ( Xi is running on 1.4.2_12 ) I tried first with 1.5.0_06 and then with 1.4.2_9 and then 1.4.2_13 all with the same result.
    I do this by adding a different jre to the properties of my project. And then I export to the .jar file . Is that enough ? ( I was expecting something like a 'build' option somewhere but I can't find that in eclipse )
    When I imported the archive in XI, I also see a .Classpath , a .project , SAP_AG_G.RSA and a SAP_AG__G.SF file.
    This reminds me of those ugly .dll incompatibilities which I had hoped not occurring with JAVA...:(
    Any ideas ?
    PS We are on XI 7.0 SP8 ( so the older note 755302 is not relevant )

    Hi all,
    I did understand that I had something todo with different versions ( as I started to make a first attempt with version jre 1.5 and then with other versions )
    But somehow I apparently couldn't get my .jar file to be compiled to a 1.4.2_xx
    ( although I tried numerous settings in the Eclipse build path etc...)
    Finally, I removed the 1.5 version and started from scratch using jre 1.4.2_10.
    And now it works OK !
    I'm sure you can configure Eclipse correctly to generate 1.4 compatible jar files ( even when running itself on 1.5 or above ) but I must have missed the right combination of settings ( as I said I'm new in Java / Eclipse....)
    regards
    Dirk

  • Java Mapping - Class versions are incompatible (linkage error)

    Hi Friends,
        While testing java mapping in Integration Repository i am getting an error - "Class versions are incompatible (linkage error)". Can anyone plz tell what might be the reason.
    Regards,
    Gowtham Kuchipudi.

    hello
    I have this message but my trace look like this:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <Trace level="1" type="B" name="interface activity determination">
      <Trace level="1" type="T">Version 000</Trace>
      <Trace level="1" type="T">Message status 000</Trace>
      <Trace level="1" type="T">Interface action INIT</Trace>
      <Trace level="1" type="T">(must be INIT for a new determination)</Trace>
      <Trace level="1" type="T">Message type BEST EFFORT. -> No determination</Trace>
      <Trace level="1" type="T">Set interface action INIT into *MAST*</Trace>
      </Trace>
      <Trace level="1" type="E">CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST</Trace>
    - <Trace level="1" type="B" name="PLSRV_RECEIVER_DETERMINATION">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_RD_PLSRV-ENTER_PLSRV">
      <Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N</Trace>
      <Trace level="1" type="T">Cache Content is up to date</Trace>
      </Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />
    - <Trace level="1" type="B" name="PLSRV_INTERFACE_DETERMINATION">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_ID_PLSRV-ENTER_PLSRV">
      <Trace level="1" type="T">I N T E R F A C E - D E T E R M I N A T I O N</Trace>
      <Trace level="1" type="T">Cache Content is up to date</Trace>
      </Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />
    - <Trace level="1" type="B" name="PLSRV_RECEIVER_MESSAGE_SPLIT">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_XMS_PLSRV_RECEIVER_SPLIT-ENTER_PLSRV">
      <Trace level="1" type="T">number of receivers: 1</Trace>
      <Trace level="1" type="T">Single-receiver split case</Trace>
      </Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />
      <Trace level="1" type="B" name="PLSRV_MAPPING_REQUEST" />
    - <!--  ************************************
      -->
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Interface Mapping http://Migdal.co.il/CRM/SAP-CRM/ProposalDeatailsService ProposalDeatailsService_WS2RFC_IM</Trace>
      <Trace level="1" type="T">LinkageError at JavaMapping.load(): Could not load class: xmlpayload</Trace>
      <Trace level="1" type="T">java.lang.UnsupportedClassVersionError: xmlpayload (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.lang.ClassLoader.defineClass(ClassLoader.java:448) at com.sap.aii.ibrun.server.mapping.MappingLoader.findClass(MappingLoader.java:158) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at com.sap.aii.ibrun.server.mapping.JavaMapping.load(JavaMapping.java:95) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:45) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0_0.processFunction(MappingServiceObjectImpl0_0.java:131) at sun.reflect.GeneratedMethodAccessor296.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy158.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor428.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:107) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:157) 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:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)</Trace>
      <Trace level="1" type="T">Linkage error occurred when loading class xmlpayload (http://Migdal.co.il/CRM/SAP-CRM/ProposalDeatailsService, d7e31f30-53be-11dc-8fbd-ee09c0a8664d, -1)</Trace>
      <Trace level="1" type="T">com.sap.aii.ibrun.server.mapping.MappingRuntimeException: Linkage error occurred when loading class xmlpayload (http://Migdal.co.il/CRM/SAP-CRM/ProposalDeatailsService, d7e31f30-53be-11dc-8fbd-ee09c0a8664d, -1) at com.sap.aii.ibrun.server.mapping.JavaMapping.load(JavaMapping.java:115) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:45) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0_0.processFunction(MappingServiceObjectImpl0_0.java:131) at sun.reflect.GeneratedMethodAccessor296.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy158.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor428.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:107) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:157) 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:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172) Root Cause: java.lang.UnsupportedClassVersionError: xmlpayload (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.lang.ClassLoader.defineClass(ClassLoader.java:448) at com.sap.aii.ibrun.server.mapping.MappingLoader.findClass(MappingLoader.java:158) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at com.sap.aii.ibrun.server.mapping.JavaMapping.load(JavaMapping.java:95) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:45) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0_0.processFunction(MappingServiceObjectImpl0_0.java:131) at sun.reflect.GeneratedMethodAccessor296.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy158.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor428.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:107) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:157) 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:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)</Trace>
      <Trace level="1" type="E">CL_XMS_PLSRV_MAPPING~ENTER_PLSRV</Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      </SAP:Trace>
    the error that I recieve in the SXMB is:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">LINKAGE_ERROR</SAP:Code>
      <SAP:P1>xmlpayload</SAP:P1>
      <SAP:P2>http://Migdal.co.il/CRM/SAP-CRM/ProposalDeatailsS~</SAP:P2>
      <SAP:P3>d7e31f30-53be-11dc-8fbd-ee09c0a8664d</SAP:P3>
      <SAP:P4>-1</SAP:P4>
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Class versions are incompatible (linkage error)</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    this is my XI information
    Runtime Environment
    Java version:1.4.2_12
    Java vendor:Sun Microsystems Inc.
    Version
    Service pack:21
    Release:30_VAL_REL
    Latest change:409678
    Sync time:200709211024
    since I already have the SP required by the note, any other suggestions?
    Thanks
    Kfir

  • Java mapping - Linkage Error

    Hello,
    We are on PI 7.0 SP10.
    Currently we are migrating the XI servers from Solaris to AIX IBM.
    When I try to run Java mapping, I get following error:
    <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">LINKAGE_ERROR</SAP:Code>
      <SAP:P1>sapmarkets/marketconnect/xcbl/r3/OrderMapping</SAP:P1>
      <SAP:P2>http://xi/SRM/ReceivePurchaseOrders</SAP:P2>
      <SAP:P3>22150771-0ee7-11dc-c87a-fe330a306909</SAP:P3>
      <SAP:P4>-1</SAP:P4>
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Incompatible class versions (linkage error)</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Please help.
    Thanks in advance.
    Beena.
    Edited by: Beena Thekdi on Jan 22, 2008 8:05 PM

    Thanks Raj.
    But this note says
    >> The error is corrected with Support Package 5 for Support Package 03 for the XI TOOLS 3.0 software component.
    and I am already on PI 7.0.
    Please tell me still I need to apply this?
    Thanks,
    Beena.

  • XI Mapping: Class versions are incompatible (linkage error)

    Hi,
    i have a simple File-to-File scenario, and I am getting the following error as observed in the XI Monitor:
    <SAP:Category>Application</SAP:Category>
    <SAP:Code area="MAPPING">LINKAGE_ERROR</SAP:Code>
    <SAP:Stack>Class versions are incompatible (linkage error)</SAP:Stack>
    To troubleshoot the mapping, I have removed all mappings, and put the target nodes to constant values. I am still getting the error in Mapping (linkage error).
    I am using XI3.0SP0 (J2EE SP07, ABAP SP3). Is this a known problem / OSS notes available ? thanks.
    Regards,
    Manish Agarwal.

    Hallo Agarwal,
    have a look in OSS Message #755302
    Regards Franz Forsthofer

  • Java Map

    Hello,
    I m using this JAVA MAp
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.AbstractTrace;
    import com.sap.aii.mapping.api.StreamTransformationConstants;
    import java.util.Map;
    import java.io.*;
    public class PayloadToXMLField implements StreamTransformation {
        String strXML = new String();
         //Declare the XML tag for your XML message
         String StartXMLTag = "<Payload>";
         String EndXMLTag = "</Payload>";
        AbstractTrace trace;
        private Map param = null;
        public void setParameter(Map param) {
            this.param = param;
        public void execute(InputStream in, OutputStream out) {
            trace =
                (AbstractTrace) param.get(
                    StreamTransformationConstants.MAPPING_TRACE);
            trace.addInfo("Process Started");
            try {
                StringBuffer strbuffer = new StringBuffer();
                byte[] b = new byte[4096];
                for (int n;(n = in.read(b)) != -1;) {
                    strbuffer.append(new String(b, 0, n));
                strXML = strbuffer.toString();
            } catch (Exception e) {
                System.out.println("Exception Occurred");
            outputPayload =
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
                   + StartXMLTag
                   + strXML
                   + EndXMLTag;
            try {
                out.write(outputPayload.getBytes());
                   trace.addInfo("Process Completed");;
            } catch (Exception e) {
                trace.addInfo("Process Terminated: Error in writing out payload");;
    Now when I m sending the file I m geeting the error
    MAPPING">LINKAGE_ERROR
    Incompatible class versions (linkage error)
    I have compile this map using JDK1.6 and 1.4 both

    Hi,
    I usually compile like this:
    javac -cp <path from PI library> -source 1.4 -target 1.4 <file.java>
    Are you doing something like this?
    Best Regard,
    Pedro Pereira

  • Incompatible class versions :linkage error- JAVADOM

    HI,
       We have done Mapping using java DOm,created ZIp file & successfully imported in IR.  
    My NWDS is using java 1.4.2_15
    we are using PI70/Sp09/Java Version 1.5.0_14
    During Execution in IE we  are getting this error.
    error -
    <SAP:Code area="MAPPING">LINKAGE_ERROR</SAP:Code>
    <SAP:Stack>Incompatible class versions (linkage error)</SAP:Stack>
    <Trace level="1" type="T">Interface Mapping http://XI/Mapping/JavaDom/DOMMapping4 IM_ORDER1_ORDER</Trace>
      <Trace level="1" type="T">LinkageError at JavaMapping.load(): Could not load class: CSJAVA/com/yash/xi/DOMMapping4</Trace>
      <Trace level="1" type="T">java.lang.NoClassDefFoundError: JAVA/com/xi/DOMMapping4 (wrong name: com//xi/DOMMapping4) at java.lang.ClassLoader.defineClass0
    Regards
    shekar chandra

    Hi,
    Check the links they may help u out.
    Event or DOM parsing?
    http://discuss.joelonsoftware.com/default.asp?design.4.156750.12
    XML Parsers: DOM and SAX Put to the Test
    http://www.devx.com/xml/Article/16922/1954?pf=true
    Regards,
    Phani

  • LINKAGE_ERROR

    Hello ,
    We are getting a LINKAGE_ERROR at the message mapping step on (runtime) and while testing the message mapping we are getting the CLASS_NOT_FOUND error.
    This happens for all scenarios and not the case with any particular scenario.
    After reading some of the threads , I checked the note 755302 which surely has the correct symptom
    but its applicable for XI 3.0 and we are on 2004 s.
    Please advise.
    Mathews

    Thank you guyz for your replies...Let me try to explain this a bit further.
    Initially I got this error while testing a graphical mapping which was a straight forward ,source structure to JDBC UPDATE_INSERT structure without any functions or UDFs.
    Then to check whether its my mapping problem I created some simple two field mappings as well , but all has the same problem now.While testing the mapping using the test tab you get the 'Class "com.sap.xi.tf._ <message mapping name> not found'
    It gives a linkage_error while running the interface (runtime)
    We tried restarting the Java Stack but with no luck
    Mathews
    Edited by: Mathews Joseph on May 4, 2009 8:24 AM
    Edited by: Mathews Joseph on May 4, 2009 4:37 PM

  • Remote System and Remote Key Mapping at a glance

    Hi,
    I want to discuss the concept of Remote System and Remote Key Mapping.
    Remote System is a logical system which is defined in MDM Console for a MDM Repository.
    We can define key mapping enabled at each table level.
    The key mapping is used to distinguish records at Data Manager after running the Data Import.
    Now 1 record can have 1 remote system with two different keys but two different records cannot have same remote system with same remote key. So, Remote key is an unique identifier for record for any remote system for each individual records.
    Now whenever we import data from a Remote System, the remote system and remote key are mapped for each individual records. Usually all records have different remote keys.
    Now, when syndicating back the record with default remote key is updated in the remote system that is sent by xml file format.
    If same record is updated two times from a same remote system, the remote key will be different and the record which is latest contains highest remote key.
    Now, I have to look at Data Syndication and Remote key.
    I have not done Data Syndication but my concept tell if there is duplicate record with same remote system but different remote keys both will be syndicated back. But if same record have two remote keys for same remote system then only the default remote key is syndicated back.
    Regards
    Kaushik Banerjee

    You are right Kaushik,
    I have not done Data Syndication but my concept tell if there is duplicate record with same remote system but different remote keys both will be syndicated back.
    Yes, but if they are duplicate, they needs to be merged.
    But if same record have two remote keys for same remote system then only the default remote key is syndicated back.
    This is after merging. So whichever remote key has tick mark in key mapping option(default) , it will be syndicated back.
    Pls refer to these links for better understanding.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/80eb6ea5-2a2f-2b10-f68e-bf735a45705f
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/7051c376-f939-2b10-7da1-c4f8f9eecc8c%0c
    Hope this helps,
    + An

  • Error while deleting a mapping

    Hi all,
    I am getting the following error while deleting a mapping. My client version is 10.2.0.4.36
    API5072: Internal Error: Null message for exception. Please contact Oracle Support with the stack trace and details on how to reproduce it.
    oracle.wh.util.Assert: API5072: Internal Error: Null message for exception. Please contact Oracle Support with the stack trace and details on how to reproduce it.
         at oracle.wh.util.Assert.owbAssert(Assert.java:51)
         at oracle.wh.ui.jcommon.OutputConfigure.showMsg(OutputConfigure.java:216)
         at oracle.wh.ui.common.CommonUtils.error(CommonUtils.java:370)
         at oracle.wh.ui.common.WhDeletion.doActualDel(WhDeletion.java:512)
         at oracle.wh.ui.common.WhDeletion.deleteObject(WhDeletion.java:203)
         at oracle.wh.ui.common.WhDeletion.deleteObject(WhDeletion.java:283)
         at oracle.wh.ui.jcommon.tree.WhTree.deleteItem(WhTree.java:346)
         at oracle.wh.ui.console.commands.DeleteCmd.performAction(DeleteCmd.java:50)
         at oracle.wh.ui.console.commands.TreeMenuHandler$1.run(TreeMenuHandler.java:188)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:189)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:478)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
    Thanks in advance!
    Sebastian

    These type of Internal Errors are all too common in OWB and it's difficult to diagnose the exact problem.
    I'd suggest closing the Design Centre, going back in and trying to delete it again, this will often resolve Internal errors.
    There's also an article on Metalink Doc ID: 460411.1 about errors when deleting mappings but it's specific to an ACLContainer error, so may or may not be of use.
    One of the suggestions is to connect as the Repository Owner rather than a User and try to delete the mapping.
    Cheers
    Si
    Edited by: ScoobySi on Sep 10, 2009 11:44 AM

  • FileName in ABAP XSLT Mapping

    Dear SDN,
    In an integration scenario we are using sender File Adapter and a  ABAP XSLT Mapping.
    Is there any way to get the source FileName from such mapping.  Im trying to use the adapter-specific message attributes, but it doesn't work, and I didn´t find an example, probably I and doing somthing wrong.
    regards,
    GP

    Thank you for your help,
    I just try to access the adapter-specific attibutes using:
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:key="java:com.sap.aii.mapping.api.DynamicConfigurationKey">
    <xsl:variable name="filename"  select="key:create('http://sap.com/xi/XI/System/File', 'Directory')" />
    </xsl:stylesheet>
    but the following error raised:
    <SAP:Stack>Error while calling mapping program YXSLT_TEST (type Abap-XSLT, kernel error ID CX_XSLT_RUNTIME_ERROR) Call of unknown function</SAP:Stack>
    have you had this situation?

  • Sample source code for fields mapping in expert routine

    Hi All
    Iam writing the expert routine from dso to cube for example I have two fields in dso FLD1,FLD2
    same fields in infocube also ,can any body provide me sample abap code to map source fields to target fields in expert routine,your help will be heighly appreciatble,it's an argent.
    regards
    eliaz

    Basic would be ;
    RESULT_FIELDS -xxx = <SOURCE_FIELDS> -xxx
    you have the source fields as source, and result fields for as the target. In between you can check some conditions as in other routines of transformation.
    BEGIN OF tys_SC_1, shows your source fields ( in your case DSO chars and key figures)
    BEGIN OF tys_TG_1, , shows your result fields ( in your case Cube characteristics)
    Hope this helps
    Derya

  • How can I distinguish different action mapping in one ActionClass file?

    I would like to create a ActionClass which will handle 3 mapping which comes from /add, /show or /del.
    My question is how can I change the code so that the ActionClass servlet can distinguish the request from different url mapping ? Can anyone give me some short hints? Thx.
    struts-config.xml
    <action-mappings>
    <action name="MemberInfoForm" path="/add" scope="request" type="com.myapp.real.MemberAction">
    <action name="MemberInfoForm" path="/show" scope="request" type="com.myapp.real.MemberAction">
    <action name="MemberInfoForm" path="/del" scope="request" type="com.myapp.real.MemberAction">
    </action-mappings>MemberAction.class
    public class MemberAction extends org.apache.struts.action.Action {
        private final static String SUCCESS = "success";
        public ActionForward execute(ActionMapping mapping, ActionForm  form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
            return mapping.findForward(SUCCESS);
    ...

    http://struts.apache.org/1.2.x/api/org/apache/struts/actions/MappingDispatchAction.html
    http://struts.apache.org/1.2.x/api/org/apache/struts/actions/DispatchAction.html
    Thank you so much for all of your suggestion.
    I read the document of MappingDispatchAction and its note say:
    NOTE - Unlike DispatchAction, mapping characteristics may differ between the various handlers, so you can combine actions in the same class that, for example, differ in their use of forms or validation.........
    I wonder in DispatchAction, we can also have various forms or validation as MappingDispatchAction does, just by using different name in the action tag, for example:
    <action input="/p1.jsp" name="MForm1" path="/member" scope="session" parameter="action" type="com.myapp.real.MemberAction">
    <action input="/p2.jsp" name="MForm2" path="/member" scope="session" parameter="action" type="com.myapp.real.MemberAction">
    <action input="/p3.jsp" name="MForm3" path="/member" scope="session" parameter="action" type="com.myapp.real.MemberAction">Hence, it is not the difference as stated from the NOTE, right?
    Edited by: roamer on Jan 22, 2008 10:32 AM

Maybe you are looking for

  • My pictures are no longer downloading to my computer.  I don't know why

    I had been using photostream to push my photos from my Iphone 4s to my PC, to a folder on my desktop.  Then I would put those photos in other folders according to year/month/event/etc under my pictures.  I think I may have moved a folder but cannot f

  • Adobe Acrobat 5.0 - Text Free Tool Problem

    I'm using Adobe Acrobat 5.0 on my office pc. When I use text free tool to key in the text, the letters are not visible. Therefore you will not able see letters when you start typing or keying in the text box. Is there any solution? Pls help......

  • Async/ Sync without BPM where Async channels are different.

    Hi Guys, I've created a couple of async/ sync bridges without BPM for File to Web Service to File and for JMS to Web Service to JMS. Is it possible to use two different types of asynchronous communication channels when creating an async/ sync bridge?

  • HDD problem on IDE 2 (or IDE3)

    Hi, I have a problem with my HDD. It's not recognize in the bios when i plug it to the IDE 2 or 3. I have my burner and my dvd on the IDE 1. What can i do ??? It's a problem to have a HDD and a CD driver on the same nap ??? THx a lot for the answer.

  • Collection in objecttype and in objectview

    Hi, I have a type a_type: create type a_type as object ( code varchar2(20)); And a collection of that type: create type a_list as table of a_type; and there are two tables: create table A (id number, code a_type); create table B (id number, a_id numb