Error in Adapter modules

Hello Gurus,
We are facing issue in Adapter modules installed in J2EE engine. We deployed two different Adapter modules in J2EE engine and two different interfaces are using them. But if any one of the interfaces run, the other interface is giving following error:
"Error: BaseTransactionRolledbackLocalException: Exception thrown in method process. The transaction is marked for rollback.".
If we restart the J2EE engine, it will start to work but the another interface is giving the smae error.
Please help me.
Regards,
Indira D

I facing the same error few days before.
My module was working well for the first time but running again used to give problem.
But on restarting server or redeploying module it again use to work fine.
The basic problem was...
there were few variables used in my modules which were initialised as class variables.
when the process() method gets called for first time it use to execute properly.
solution:
Reinitialize variables at the starting phase of process() method.
Reward points if useful.
thanks

Similar Messages

  • Error in adapter module Upgrade PI7.11

    Hello,
    After upgrade from XI3.0 to PI7.11,I am trying to adapt code of an adapter module in order to use it in new version.
    I have changed the code ,there were no compilation errors and it was deployed successfully.
    But when trying to test the scenario ,I am getting following error:
    <code>ADAPTER.JAVA_EXCEPTION</code>
                   <text>javax.ejb.EJBException: (Failed in component: sap.com/ValidationModule7.11_EAR) Exception raised from invocation of public com.sap.aii.af.lib.mp.module.ModuleData com.sapcons.xi.af.validation.ValidationModuleBean711.process(com.sap.aii.af.lib.mp.module.ModuleContext,com.sap.aii.af.lib.mp.module.ModuleData) throws com.sap.aii.af.lib.mp.module.ModuleException method on bean instance com.sapcons.xi.af.validation.ValidationModuleBean711@4dee79d1 for bean sap.com/ValidationModule7.11_EARxml|ValidationModule7.11_EJB.jarxml|ValidationModuleBean711 in application sap.com/ValidationModule7.11_EAR.; nested exception is: java.lang.NullPointerException: while trying to invoke the method com.sap.engine.interfaces.messaging.api.MessageKey.getMessageId() of an object loaded from local variable 'msgKey'
    java.lang.NullPointerException: while trying to invoke the method com.sap.engine.interfaces.messaging.api.MessageKey.getMessageId() of an object loaded from local variable 'msgKey'
    I am nowhere using variable 'msgkey' in my code.
    I was using getMessageId() method and because of this error,I have changed the code such that I am not using this method at all.
    After this change ,I have deployed the module again,and the strange part is I am still getting the same error.
    Just to be sure that I have deployed the changed code,I created an altogether new module ValidationModule7.11_EAR(it was ValidationModule_EAR before) and deployed it,I am sure ,I am not using getMessageId() method at all,but I am getting the same error (as mentioned above).
    I have no idea why I am getting the same error.I can see in the error message that my new module is called which doesn't use this method.
    Can anyone please suggest apart from saving the Bean after code changes and redeploying the code,what needs to be done.
    (Rebuilding the project,etc.)
    It would be great if I can get some inputs on this strange behaviour.
    Thanks a lot.
    Best Regards,
    Shweta

    Hello Stefan,
    Thanks for your reply.
    I have created my new module with a different JNDI name.
    Also,I have verified that there is a link to the interface com.sap.aii.af.ifc.facade in application-j2ee-engine.xml .
    This was the code which I was trying to adapt:
    if((MessageContext)inputModuleData.getPrincipalData() instanceof MessageContext)
                    MessageContext messsageContext = (MessageContext)inputModuleData.getPrincipalData();
                    Message message = messsageContext.getMessage();
                    Attachment rootDocument = message.getRootDocument();
                    Object data = rootDocument.getData();
                    if(data instanceof Binary)
                        Binary bin = (Binary)data;
                        request = bin.getBytes();
                        String messageID = "1232";
                        if(dir == Direction.INBOUND)
                            amk = new AuditMessageKey(messageID, AuditDirection.INBOUND);
                        else
                            amk = new AuditMessageKey(messageID, AuditDirection.OUTBOUND);
    But I was getting errors like MessageContext not recognized and also,for the statement:
    Attachment rootDocument = message.getRootDocument();
    I was getting an error in statement :   if(data instanceof Binary) as following imports weren't recognized.
    import com.sap.aii.messaging.lang.Binary;
    import com.sap.aii.messaging.mo.*;
    So I used import com.sap.aii.af.service.cpa.BinaryData; and following code
    Object obj = null;
                   Message message = null;
                   obj = inputModuleData.getPrincipalData();
                              if(obj instanceof BinaryData)
                         message = (Message)obj;  
                        BinaryData bin = (BinaryData)obj;
                        request = bin.getData();
                         String messageID = "1232";
                          amk = new MessageKey(messageID, message.getMessageDirection());                                      
    Code was compiled correctly and deployed ,but I get this error with getMessageId() when I try to test it.You can see I am not using getMessageId() and msgkey anywhere in the code
    Thanks for your help
    Regards,
    Shweta

  • Error in Adapter Module to unzip files

    Hello ,
    I wish to unzip many files with use of an adapter module
    To du this I use following code
    package de.lsv.moduledevelopement;
    import java.io.*;
    import java.util.Hashtable;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipInputStream;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import javax.ejb.CreateException;
    import com.sap.aii.af.mp.module.Module;
    import com.sap.aii.af.mp.module.ModuleContext;
    import com.sap.aii.af.mp.module.ModuleData;
    import com.sap.aii.af.mp.module.ModuleException;
    import com.sap.aii.af.ra.ms.api.Message;
    import com.sap.aii.af.ra.ms.api.MessageDirection;
    import com.sap.aii.af.ra.ms.api.Payload;
    import com.sap.aii.af.ra.ms.spi.Trace;
    import com.sap.aii.af.service.auditlog.Audit;
    import com.sap.aii.af.service.auditlog.AuditDirection;
    import com.sap.aii.af.service.auditlog.AuditLogStatus;
    import com.sap.aii.af.service.auditlog.AuditMessageKey;
    * @ejbLocal <{de.lsv.moduledevelopement.UnZipFilesLocal}>
    * @ejbLocalHome <{de.lsv.moduledevelopement.UnZipFilesLocalHome}>
    * @stateless
    public class UnZipFilesBean implements SessionBean, Module {
         static AuditMessageKey amk = null;
         static String auditStr = "UnzipFilesBean - ";
         static ModuleException mEx = null;
         public static final String VERSION_ID =
              "$Id://de.lsv.moduledevelopement.UnZipFilesBean.java#1 $";
         private static final Trace TRACE = new Trace(VERSION_ID);
         public void ejbRemove() {
         public void ejbActivate() {
         public void ejbPassivate() {
         public void setSessionContext(SessionContext context) {
              myContext = context;
         private SessionContext myContext;
          * Create Method.
         public void ejbCreate() throws CreateException {
              // TODO : Implement
         /* (non-Javadoc)
          * @see com.sap.aii.af.mp.module.Module#process(com.sap.aii.af.mp.module.ModuleContext, com.sap.aii.af.mp.module.ModuleData)
         public ModuleData process(
              ModuleContext moduleContext,
              ModuleData inputModuleData)
              throws ModuleException {
              Object obj = null;
              Message msg = null;
              Payload attachment = null;
              //initializing variables for module parameters
              String modkey = "";
              String fileMask = "";
              String directory = "";
              String saveDirectory = "";
              //     String newMimeType = "";
              //     String newAttachmentName = "";
              //     String newAttachmentExtension = "";
              //     String newAttachmentNameReplace = "";
              //this block is to manage the adapter when is not file/FTP
              try {
                   //get the XI Message
                   obj = inputModuleData.getPrincipalData();
                   msg = (Message) obj;
                   // create AuditMessageKey object to write audit log.
                   if (msg.getMessageDirection() == MessageDirection.INBOUND)
                        amk =
                             new AuditMessageKey(
                                  msg.getMessageId(),
                                  AuditDirection.INBOUND);
                   else
                        amk =
                             new AuditMessageKey(
                                  msg.getMessageId(),
                                  AuditDirection.OUTBOUND);
                   // ******start get the module parameters from the configuration******
                   modkey = moduleContext.getContextData("module.key");
                   Audit.addAuditLogEntry(
                        amk,
                        AuditLogStatus.SUCCESS,
                        auditStr + "Module Configuration Key: " + modkey);
                   //***** einlesen der Moduke Parameter******************
                   //***** DateiMaske
                   fileMask = moduleContext.getContextData("FileMask");
                   Audit.addAuditLogEntry(
                        amk,
                        AuditLogStatus.SUCCESS,
                        auditStr + "FileMask: " + fileMask);
                   // check ob fileMask definiert ist
                   if (fileMask == null || fileMask.equalsIgnoreCase("")) {
                        //if no attachment name is specified in the module configuration the module will end the execution
                        throw mEx =
                             new ModuleException(
                                  auditStr
                                       + "!FileMask in Modulconfiguration nicht definiert!");
                   //***** DateiMaske2
                   String fileMask2 = moduleContext.getContextData("FileMask2");
                   Audit.addAuditLogEntry(
                        amk,
                        AuditLogStatus.SUCCESS,
                        auditStr + "FileMask2: " + fileMask2);
                   //***** Directory
                   directory = moduleContext.getContextData("Directory");
                   Audit.addAuditLogEntry(
                        amk,
                        AuditLogStatus.SUCCESS,
                        auditStr + "Directory: " + directory);
                   // Fehler wenn Directory nicht definiert
                   if (directory == null || directory.equalsIgnoreCase("")) {
                        //the module will end the execution
                        throw mEx =
                             new ModuleException(
                                  auditStr
                                       + "Directory in Modulconfiguration nicht definiert");
                   //***** Sicherungs Verzeichnis
                   saveDirectory = moduleContext.getContextData("SaveDirectory");
                   Audit.addAuditLogEntry(
                        amk,
                        AuditLogStatus.SUCCESS,
                        auditStr + "SaveDirectory: " + saveDirectory);
                   // entpacken aufrufen
                   entpacke(directory, saveDirectory, fileMask);
                   if (fileMask2.length() > 0) {
                        entpacke(directory, saveDirectory, fileMask2);
                   //update the XI Message
                   inputModuleData.setPrincipalData(msg);
              } catch (Exception e) {
                   String errorMessage =
                        auditStr + "Error bei der . Exception:" + e.getMessage();
                   Audit.addAuditLogEntry(amk, AuditLogStatus.ERROR, errorMessage);
                   throw mEx = new ModuleException(auditStr + errorMessage);
              Audit.addAuditLogEntry(
                   amk,
                   AuditLogStatus.SUCCESS,
                   auditStr + "Verarbeitung beendet ");
              return inputModuleData;
         //+++++++++++++++++++++++++
         private static void entpacke(
              String directory,
              String saveDirectory,
              String mask)
              // TODO Auto-generated method stub
              Audit.addAuditLogEntry(
                   amk,
                   AuditLogStatus.SUCCESS,
                   auditStr + "Funktion entpacke");
              if (!directory.endsWith("\")) {
                   directory = directory + "\";
              } // if
              File f;
              f = new File(directory);
              Audit.addAuditLogEntry(
                   amk,
                   AuditLogStatus.SUCCESS,
                   auditStr + "f = new File(directory)");
    //          // Achtung Klasse in einer Klasse :-)
    //          String[] strFiles = f.list(new FilenameFilter() {
    //               public boolean accept(File file, String filename) {
    //                    Wildcard wildcard1 = new Wildcard(mask);
    //                    Audit.addAuditLogEntry(
    //                         amk,
    //                         AuditLogStatus.SUCCESS,
    //                         auditStr + "wc1");
    //                    return wildcard1.match(filename, false);
              String [] strFiles = f.list(new MyFilter(mask));
              // Liste der Gefundenen dateien
              Audit.addAuditLogEntry(
                   amk,
                   AuditLogStatus.SUCCESS,
                   auditStr + "Anzahl gepackter Dateien: " + strFiles.length);
              //System.out.println( strFiles.length + " Dateien zum entpacken");
              for (int i = 0; i < strFiles.length; i++) {
                   Audit.addAuditLogEntry(
                        amk,
                        AuditLogStatus.SUCCESS,
                        auditStr + "verarbeite Datei: : " + strFiles<i>);
                   //     System.out.println("f[" + i + "]=" + strFiles<i>);
              } // for
              // *****entpacken**********************
              for (int i = 0; i < strFiles.length; i++) {
                   try {
                        byte[] buf = new byte[4096];
                        ZipInputStream in =
                             new ZipInputStream(
                                  new FileInputStream(directory + strFiles<i>));
                        Audit.addAuditLogEntry(
                             amk,
                             AuditLogStatus.SUCCESS,
                             auditStr + "Entpacke " + directory + strFiles<i>);
                        //System.out.println("Entpacke " + directory + strFiles<i>);
                        int count = 0;
                        while (true) {
                             count++;
                             // Nächsten Eintrag lesen
                             ZipEntry entry = in.getNextEntry();
                             if (entry == null) {
                                  break;
                             // Beschreibung ausgeben
                             Audit.addAuditLogEntry(
                                  amk,
                                  AuditLogStatus.SUCCESS,
                                  auditStr + entry.getName());
                             //System.out.println(entry.getName());
                             // Ausgabedatei erzeugen
                             FileOutputStream out =
                                  new FileOutputStream(directory + entry.getName());
                             int len;
                             while ((len = in.read(buf)) > 0) {
                                  out.write(buf, 0, len);
                             out.close();
                             // Eintrag schließen
                             in.closeEntry();
                        } // while
                        in.close();
                        Audit.addAuditLogEntry(
                             amk,
                             AuditLogStatus.SUCCESS,
                             auditStr + count + "Dateien entpackt");
                        //System.out.println(count + "Dateien entpackt");
                        // verschieben
                        if (saveDirectory.length() > 0) {
                             File quelle = new File(directory + strFiles<i>);
                             File ziel = new File(saveDirectory + strFiles<i>);
                             boolean bla = quelle.renameTo(ziel);
                             if (!bla) {
                                  Audit.addAuditLogEntry(
                                       amk,
                                       AuditLogStatus.SUCCESS,
                                       auditStr
                                            + strFiles<i>
                                            + " konnte nicht verschoben werden");
                             } else {
                                  Audit.addAuditLogEntry(
                                       amk,
                                       AuditLogStatus.SUCCESS,
                                       auditStr
                                            + strFiles<i>
                                            + "verschoben nach "
                                            + saveDirectory);
                                  //          System.out.println(
                                  //               strFiles<i> + "verscgoben nach " + directory + "sik//");
                        } // if
                   } catch (Exception e) {
                        String errorMessage =
                             auditStr
                                  + "Error in entpacken. Exception:"
                                  + e.getMessage();
                        Audit.addAuditLogEntry(amk, AuditLogStatus.ERROR, errorMessage);
                   } // catch
                   // *****entpacken*************
              } // for
         } //entpacke
    } // UnzipFilesBean
    class Wildcard {
         static AuditMessageKey amk = null;
         static String auditStr = "WildCard - ";
         static ModuleException mEx = null;
         private final String wildcardString;
          * Der Konstruktor für die WildcardSuche.
          * @param wildcardString
          *            Der WildcardString
         public Wildcard(String wildcardString) {
              this.wildcardString = wildcardString;
              Audit.addAuditLogEntry(
                   amk,
                   AuditLogStatus.SUCCESS,
                   auditStr + "Constructor");
          * Die Methode, welche den Vergleich durchführt.
          * @param str
          *            Der String, welcher darauf überprüft werden soll, ob er dem
          *            WildcardString entspricht.
          * @return true Wenn der String dem wildcardString entspricht.
         public boolean match(String str, boolean fCasesensitive) {
              if (str == null || wildcardString == null) {
                   return false;
              return recursiveMatch(wildcardString, str, fCasesensitive);
          * Hier wird der eigentliche Vergleich durchgeführt
          * @param strWildcard
          *            Der Wildcardstring, z.B.: "Test*"
          * @param str
          *            Der zu überprüfende String, z.B. "Testlauf"
          * @return true, wenn eine Übereinstimmung vorhanden ist, sonst false
         private boolean recursiveMatch(
              String strWildcard,
              String str,
              boolean fCasesensitive) {
              while (true) {
                   if (strWildcard.length() == 0)
                        return str.length() == 0;
                   char ch = strWildcard.charAt(0);
                   switch (ch) {
                        case '?' :
                             if (str.length() == 0)
                                  return false;
                             break;
                        case '*' :
                             strWildcard = strWildcard.substring(1);
                             while (true) {
                                  if (recursiveMatch(strWildcard, str, fCasesensitive))
                                       return true;
                                  if (str.length() == 0)
                                       return false;
                                  str = str.substring(1);
                        default :
                             if (str.length() == 0)
                                  return false;
                             if (fCasesensitive) {
                                  if (ch != str.charAt(0))
                                       return false;
                             } else if (
                                  Character.toLowerCase(ch)
                                       != Character.toLowerCase(str.charAt(0)))
                                  return false;
                             break;
                   strWildcard = strWildcard.substring(1);
                   str = str.substring(1);
         //++++++++++++++++++++++++++
    } // class
    /** Nun der eigentliche Filter */
    class MyFilter implements FilenameFilter {
         static AuditMessageKey amk = null;
         static String auditStr = "MyFilter - ";
         static ModuleException mEx = null;
         String fileMask;
         public MyFilter(String fileMask) {
              this.fileMask = fileMask;
              Audit.addAuditLogEntry(
                   amk,
                   AuditLogStatus.SUCCESS,
                   auditStr + "Constructor");
         } //constructor
          public boolean accept(File file, String filename) {
              // TODO Auto-generated method stub
              //fileMask = "?5LBL*";
              Wildcard wildcard1 = new Wildcard(fileMask);
              return wildcard1.match(filename, false);
    } //class
    But in Audit Protocol it failed after:
    17.09.2008 17:33:19     Erfolgreich     UnzipFilesBean - Module Configuration Key: 2
    17.09.2008 17:33:19     Erfolgreich     UnzipFilesBean - FileMask: ?5LBL???
    17.09.2008 17:33:19     Erfolgreich     UnzipFilesBean - FileMask2:
    17.09.2008 17:33:19     Erfolgreich     UnzipFilesBean - Directory: //transfer//X1E//100//99//lb//ein
    17.09.2008 17:33:19     Erfolgreich     UnzipFilesBean - SaveDirectory: //transfer//X1E//100//99//lb//ein_s
    17.09.2008 17:33:19     Erfolgreich     UnzipFilesBean - Funktion entpacke
    17.09.2008 17:33:19     Erfolgreich     UnzipFilesBean - f = new File(directory)
    17.09.2008 17:33:19     Fehler     UnzipFilesBean - Error bei der . Exception:null
    I could not find the error??
    Were there any log files to look into?
    regarts
    Zimmerningkat

    Hi Ralf,
    I am late..........
    I am bit confused with your explanation.
    1. Does all zip files will be picked by file adapter in one shot or is it conditional, since you have a XML descriptor file in firts zip file and the XML files describes the list of JPEG files which might be stored in the other zipped JPEG files?
    2. Can you tell the exact flow of your scenario
    3. Receiver in your scenario?
    Thanks,
    Gujjeti.

  • Deployment error in adapter module

    HI ,
    The deployment of the adapter module was successful but with exception.below is the log.
    Any help with this is appreciated
    --- Deploying file(s):
    C:\Users\am90001042\workspace\File_EAR\File_EAR.ear
    --- Status:
    Deploy finished with warnings.
    --- Description:
        S U M M A R Y
    ~~~~~~~~~~~~~~~~~~~
    Successfully deployed:       0
    Deployed with warnings:       1
    Failed deployments:        0
    ~~~~~~~~~~~~~~~~~~~
    Description:
      1. Warning occurred on server 59866950 during update sap.com/File_EAR : References Test: There are no matching deploy time references (described in META-INF/SAP_MANIFEST.MF) for the following runtime references [sap.com/engine.security.facade, sap.com/engine.j2ee14.facade, sap.com/com.sap.aii.af.svc.facade, sap.com/com.sap.aii.af.ifc.facade, com.sap/com.sap.aii.af.lib.facade, sap.com/com.sap.base.technology.facade] (described in the META-INF/application-j2ee-engine.xml)., file: File_EAR.ear, column 0, line 0, severity: warning
      2. Exception has been returned while the [sap.com/File_EAR] was starting. Warning/Exception :[
    ][[ERROR CODE DPL.DS.6193] Error while ; nested exception is:
    com.sap.engine.services.deploy.exceptions.ServerDeploymentException: [ERROR CODE DPL.DS.5030] Clusterwide exception: [server ID 59866950:[ERROR CODE DPL.DS.5029] Exception in operation [startApp] with application [sap.com/File_EAR].
       -> [ERROR CODE DPL.DS.5035] Application [sap.com/File_EAR] cannot be started. Reason: it has hard reference to resource [com.sap~com.sap.aii.af.lib.facade] with type [library], which is not active on the server.
    Hint: 1) Is referred resource deployed? 2) Is referred resource able to start?
    server ID 59866950:com.sap.engine.services.deploy.exceptions.ServerDeploymentException: [ERROR CODE DPL.DS.5035] Application [sap.com/File_EAR] cannot be started. Reason: it has hard reference to resource [com.sap~com.sap.aii.af.lib.facade] with type [library], which is not active on the server.
    Hint: 1) Is referred resource deployed? 2) Is referred resource able to start?
    at com.sap.engine.services.deploy.server.ReferenceResolver.processReferenceToLibrary(ReferenceResolver.java:752)
    at com.sap.engine.services.deploy.server.ReferenceResolver.processMakeReference(ReferenceResolver.java:568)
    at com.sap.engine.services.deploy.server.ReferenceResolver.beforeStartingApplication(ReferenceResolver.java:488)
    at com.sap.engine.services.deploy.server.application.StartTransaction.beginCommon(StartTransaction.java:192)
    at com.sap.engine.services.deploy.server.application.StartTransaction.begin(StartTransaction.java:157)
    at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:493)
    at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:544)
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:302)
    at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:579)
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:213)
    at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:374)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3455)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3441)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3331)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3303)
    at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:105)
    at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:78)
    at com.sap.engine.services.dc.cm.deploy.impl.LifeCycleManagerStartVisitor.visit(LifeCycleManagerStartVisitor.java:34)
    at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:83)
    at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcessLCMDeplItem(DefaultDeployPostProcessor.java:91)
    at com.sap.engine.services.dc.cm.deploy.impl.DefaultDeployPostProcessor.postProcess(DefaultDeployPostProcessor.java:61)
    at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doPostProcessing(DeployerImpl.java:866)
    at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.performDeploy(DeployerImpl.java:814)
    at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.doDeploy(DeployerImpl.java:644)
    at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:363)
    at com.sap.engine.services.dc.cm.deploy.impl.DeployerImpl.deploy(DeployerImpl.java:252)
    at com.sap.engine.services.dc.cm.deploy.impl.DeployerImplp4_Skel.dispatch(DeployerImplp4_Skel.java:897)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:362)
    at com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:69)
    at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:67)
    at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:41)
    at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:977)
    at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:57)
    at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:55)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:327)
    Result
    Status:Warning
    Thanks
    Nikhil

    Hello,
    Cross check the references which u have added under application-j2ee-engine.xml and ejb-jar.xml.
    There used to be wiki on SDN, which provides troubleshooting steps for each error code, but i couldn't able to find that...u can also try searching the same.
    Old Link:
    https://wiki.sdn.sap.com/wiki/display/JSTSG/(JSTSG)(TG)Q1127
    Thanks
    Amit Srivastava

  • MalformedInputException Error in Adapter module for SFTP channel

    Dear All,
    I am using MessageTransformBean in adapter module for Plain to XML conversion. The channel works fine in all the cases but when I recieve     "  ì " or few more special characters in the file my channel does not pick file and show below error.
    Error: com.aedaptive.adapter.sftp.SFTPException : Aborting processing: com.sap.aii.af.mp.module.ModuleException: Transform: failed to execute the transformation: com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'sun.io.MalformedInputException'; nested exception caused by: sun.io.MalformedInputException caused by: com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'sun.io.MalformedInputException'; nested exception caused by: sun.io.MalformedInputException
    I am using below parameter value in adapter module.
    Transform.Class : com.sap.aii.messaging.adapter.Conversion
    Transform.ContentType : text/xml;charset=ISO-8859-1
    Please help me if any of you have faces such error in your developments.
    Avanish

    Hi Grzegorg,
    I have tried using UTF-8 encoding in my channel but this doesn't work. Communication cahnnel is still giving same problem.
    Error: com.aedaptive.adapter.sftp.SFTPException : Aborting processing: com.sap.aii.af.mp.module.ModuleException: Transform: failed to execute the transformation: com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'sun.io.MalformedInputException'; nested exception caused by: sun.io.MalformedInputException caused by: com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'sun.io.MalformedInputException'; nested exception caused by: sun.io.MalformedInputException
    The file which we are trying to process have character  Ì and as far as my serach is concerned i think this belongs to charset ISO-8859-1.
    Any more suggestion Guys to solve this problem.
    Thanks and Regards
    Avanish

  • Error in Adapter module on decentral Adapter engine

    Hi,
    I have configured a scenario file to file for picking a xml file and then converting it to corresponding edifact file,using an adapter module at the receiver side.The adapter module is getting executed but i am getting this error
    Message processing failed. Cause: java.lang.ClassCastException: class Xml_To_Edi.XML2EdifactLocalHomeImpl0_0 can not be casted to ModuleLocalHome or SModuleLocalHome
    Can you all tell what is this error and how to rectify it.
    regards,
    ujjwal kumar

    Hi Ujjawal,
    Do the following steps...
    1.created EJB of type StatelessSession Bean
    2.Dont uncheck generate default interfaces
    3. Fininsh.
    Later in ejb-jar.xml file, modify Home,Remote,Local,LocalHome entries.
    and for more info
    I refered a blog ,in that its given as:
    You need references to connector.jar file which has the classes required at compile time and runtime
    Compile time :
    From the context menu of the EJB project , follow the path Properties -> Java Build Path -> Libraries.
    Click on Add variable and select TSSAP_JAVAX_HOME and click on Extend and select connector.jar from the list displayed.
    Run time :
    Navigate to the application-j2ee-engine.xml in your EAR project.
    Select References on the General tab and click on Add.
    Select Select library/interface/service as shown in the snapshot and select j2eeca as in the next snapshot.
    Check this blog:
    /people/amol.joshi2/blog/2006/11/28/alerts-from-adapter-modules--the-jra-way-part-ii
    see the comments in the blog who faced same error.may this helps or gives an idea
    Searched lot for this,dont forget to reward points
    Regards
    Pragathi.
    Edited by: Pragathi on May 23, 2008 5:15 AM

  • Error in adapter module - jndi lookup can't find the class

    Hi gurus,
    I have a problem with my adapter module, the error from the RWB is:
    Error: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of KFCProc.
    My EJB-JAR looks like this:
      <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE ejb-jar (View Source for full doctype...)>
    <ejb-jar>
      <description>EJB JAR description</description>
      <display-name>EJB JAR</display-name>
    <enterprise-beans>
    <session>
      <ejb-name>KFCProc</ejb-name>
      <home>com.sap.aii.af.mp.module.ModuleHome</home>
      <remote>com.sap.aii.af.mp.module.ModuleRemote</remote>
      <local-home>com.sap.aii.af.mp.module.ModuleLocalHome</local-home>
      <local>com.sap.aii.af.mp.module.ModuleLocal</local>
      <ejb-class>com.sap.adapter.KFCProc</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
      </session>
      </enterprise-beans>
      </ejb-jar>
    I think it should be all right, but it isn't.
    Can be the problem, that I use for "com.sap.adapter.KFCProc"package "com.sap..."?
    Thank you,
    Olian

    Hi Stefan,
    I developed it using your document
    This is my ejb-j2ee-engine.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-j2ee-engine SYSTEM "ejb-j2ee-engine.dtd">
    <ejb-j2ee-engine>
         <enterprise-beans>
              <enterprise-bean>
                   <ejb-name>KFCProc</ejb-name>
                   <jndi-name>KFCProc</jndi-name>
                   <session-props/>
              </enterprise-bean>
         </enterprise-beans>
    </ejb-j2ee-engine>
    My entry in Modules tab of CC config is
    localejbs/KFCProc
    I think this all should be ok...
    Thanks,
    Olian

  • Receiver Time error in adapter Module in PI 7.31

    Hello Team,
    I am trying working on adapter module that accomplish Message id, Sender Interface name,Receiver Interface name sent time and receiver time.
    I got all values in my file except receiver time .I have failed to get exact receiver time.
    sent time shows as 2014 04 24 05:28:57
    receiver time as 1969 12 31 19:00:00
    when ever message triggers  its shows same receiver time(1969 12 31 19:00:00) ,I have placed my adapter module in JMS and File adapters,but i am getting same time in message receiver time .
    Please help me how to get exact message receiver time.
    Here is code.
    Message msg1=null;
    obj=md.getPrincipalData();
      msg1=(Message)obj;
    msg1=(Message)md.getPrincipalData();
    Date date = new Date();//For dynamic date file generation
      //time sent
      Long timesent=msg1.getTimeSent();
      Date sdate = new Date(timesent);
      Format Tformat = new SimpleDateFormat("yyyy MM dd HH:mm:ss");
      String SentTime=Tformat.format(sdate).toString();
      //time receive
      Long timerecev=msg1.getTimeReceived();
      Date rdate = new Date(timerecev);
      String ReceiveTime=Tformat.format(rdate).toString();
    Thanks
    Ganesh

    Hi ,
    For file you can get it as below
    String sentTime = msg.getMessageProperty("http://sap.com/xi/XI/System/File", "SourceFileTimestamp"); 
    For JMS try the below and let me know.
    String sentTime = msg.getMessageProperty("http://sap.com/xi/XI/System/JMS", "DCJMSTimestamp"); 
    Regards
    Venkat

  • Error in Adapter module

    Dear Experts,
    I have created EAR file using the NWDS tool.( the blog: " How to Create Modules fot the J2EE Adapter Engine".)
    I have also deployed the EAR file usinf Visual Administrator.
    When I am sending the files to a folder then the error is coming as "Exception caught with cause com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Path to object does not exist at localebjs, the whole lookup name is localebjs/CreateAttachment.
    Attempt to process file failed with com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Path to object does not exist at localebjs, the whole lookup name is localebjs/CreateAttachment."
    Kindly help me.
    Thanks in advance.

    Check ejb-j2ee-engine.xml file for the Whats the EJB name and JNDI name any spelling mistakes can also create this error.
    Hi,
    Both the EJB name and JNDI name is same.
    In JAVA, the code is like this..
    @ejbHome <{com.sap.aii.af.mp.module.ModuleHome}>
    @ejbLocal <{com.sap.aii.af.mp.module.ModuleLocal}>
    @ejbLocalHome <{com.sap.aii.af.mp.module.ModuleLocalHome}>
    @ejbRemote <{com.sap.aii.af.mp.module.ModuleRemote}>
    @stateless
    and ejb-j2ee-engine as
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-j2ee-engine SYSTEM "ejb-j2ee-engine.dtd">
    <ejb-j2ee-engine>
         <enterprise-beans>
              <enterprise-bean>
                   <ejb-name>CreateAttachment</ejb-name>
                   <jndi-name>CreateAttachment</jndi-name>
                   <session-props/>
              </enterprise-bean>
              <enterprise-bean>
                   <ejb-name>AdapterModuleBean</ejb-name>
                   <session-props/>
              </enterprise-bean>
         </enterprise-beans>
    </ejb-j2ee-engine>
    Kindly help me.
    pls, tell me where should I check the error.
    Edited by: Amit Mandal on Oct 23, 2008 8:55 AM

  • Conversion Agent Error in Adapter Module ?

    Hi,
    I am trying to install the conversion agent with PI 7.0 SP15. But then i got adapter error when trying to test simple scenario PDF file to JDBC.
    The error message is :
    ===========================================================================
    Attempt to process file failed with com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Path to object does not exist at localejb, the whole lookup name is localejbs/localejb/sap.com/com.sap.nw.cm.xi/CMTransformBean
    ===========================================================================
    I have check many time even with Visual Admin the JNDI name is correct. but why still error ?
    Please advise.
    Thank you and Best Regards
    Fernand

    Check setEnv.sh is their in the startsap file
    How to get started using Conversion Agent from Itemfield
    More on the SAP Conversion Agent by Itemfield
    Integrate SAP Conversion Agent by Itemfield with SAP XI
    Conversion Agent a Free Lunch?
    How to get started using Conversion Agent from Itemfield
    All you need to know about conversion agaent can be found here:
    https://websmp102.sap-ag.de/~sapdownload/011000358700001090982006E/ConvAgentDocSP16.zip
    https://websmp102.sap-ag.de/~sapdownload/011000358700004921152005E/ConversionAgent.pdf
    XI: Generate PDF file out of file adapter
    XI: Read data from PDF file in Sender Adapter
    The specified item was not found.

  • Regd. Error in Adapter module for IDOCxml to flat file conversion

    Hi Champs!
    I am using PI 7.1 and i am trying out the blog for direct conversion of IDOC xml to flat file and vice versa.
    /people/william.li/blog/2009/04/01/how-to-use-user-module-for-conversion-of-idoc-messages-between-flat-and-xml-formats
    has anyone tried this in Pi7.1
    i am getting the following error:
    Message processing failed.
    Cause: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException:
    Path to object does not exist at SAP_XI_IDOC, the whole lookup
    name is localejbs/SAP_XI_IDOC/IDOCFlatToXmlConvertor.
    I have done all the setting required .. as per the blog.Is it srictly for PI7.11?
    Regards,
    Abhi

    Hi Abhi,
    This feature is a part of PI 7.11  new features , as it is mentioned in the begining of the Blog itself.
    So i feel , yes its strictly PI7.11 feature which may not be available in PI7.1 version which you are using currently.
    There may be workarounds...lets c  fellow SDNer's replys:)...
    Regards,
    Srinivas

  • Error in Adapter module EJB

    Hi,
    I have developed an EJB. After successfully deploying it on PI, I ma getting the following warning in NWA logs and the bean are not working:
    Warning occurred on server 1627350 during deploy sap.com/FileUploadEAR : References Test: There are no matching deploy time references (described in META-INF/SAP_MANIFEST.MF) for the following runtime references [sap.com/engine.security.facade, sap.com/engine.j2ee14.facade, sap.com/com.sap.aii.af.svc.facade, sap.com/com.sap.aii.af.ifc.facade, sap.com/com.sap.aii.af.lib.facade, sap.com/com.sap.base.technology.facade] (described in the META-INF/application-j2ee-engine.xml)., file: FileUploadEAR.ear, column 0, line 0, severity: warning
    Date:
    2014-06-03
    PFA logs from NWa.

    Hi Arijit,
    Can you share your application-j2ee-engine.xml file that is included in your EAR for deployment?
    Regards,
    Ryan Crosby

  • File adapter - Archive issue with adapter module

    Hi All,
    I have 2 issues here. We are currently using PI 7.11 EHp1 SP02.
    1. Arhival with "add time stamp" wont work. It just gives us an error message saying simpledate format exception.
    I have gone through the OSS note 1265534 and thought this will resolve the issue. But our BASIS team believes this note is only applicable for PI 7.1 SP01. Can you one using PI 7.11 SP02 comment on this?
    Note: Archive option with out add time stamp works fine.
    2. When I use adapter module in my sender file configuration, the archive option itself does not work. Read the official SAP help which says "To archive source files where a permanent error occurred during processing, set the indicator.
    A permanent error occurs either during the conversion of the file content, or in a module in the module processor."
    So the question here is, how do we make the error permanent? The only way to throw error from adapter module is using the ModuleException. It has 4  different constructors. I have used both
    ModuleException me = new ModuleException ("My error Msg"); and
    Module Exception me1 = new ModuleException ("Error String", new Throwable("My error Msg");
    In both the cases, the archival wont happen.
    Any ideas welcome.
    Thanks
    Jai

    Hi,
    I am using NFS protocol here not FTP. Sorry I dint mention that earlier.
    Thanks
    Jai
    Edited by: Jaishankar on Apr 1, 2010 9:55 AM
    Edited by: Jaishankar on Apr 6, 2010 11:10 AM

  • Adapter Module Error in PI 7.1

    Hi,
    I have built an adapter module which has been successfully deployed on PI 7.1 using JSPM, but in communication channel monitoring it is giving below error.
    Error: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of UserModuleTestEjb
    In Module tab of communication channel I have passed Bean name, which works fine for other Adapter Module but strangely its not working for this one.
    I have also passed JNDI name which is same as EJB bean name. I have tried several other combinations like below none is working.
    localeejbs/UserModuleTestEjb
    localeejbs/sap.com/UserModuleTestEjb
    Regards,
    Nishant

    hi,
    Check if u have added correct references in application-j2ee-engine.xml file and if u are using external library it is there in SDA file.
    /people/stefan.grube/blog/2008/12/11/adjust-your-pi-70-adapter-modules-for-pi-71-in-15-minutes
    Thanks.

  • File sender adapter Module Error

    Hi Everybody,
    I have developed an adapter module for file sender to rename the file name which is picked from the directory and I am getting an error
    "Attempt to process file failed with java.lang.NullPointerException".
    Can anybody tell me why is this error?
    Thanks,
    Zabi

    Hi,
    first check that module has been succesfully executed or not .This you can check in RWB .
    Secondly go in the file adpater and click on to module tab and check
    1-there will be two things one will be adapter module that you have depolyed. other one will be call sap adapter.
    2- make sure that call sap adapter should come after the module you have deployed. and having the key value less then adapter module (let say your adapter module is having the key value 1 and  call sap adpater is having the key value 0 then you need to change the key value there)
    Thanks
    sachin

Maybe you are looking for

  • ERP 6.0 component upgrade (NW + Fiori app)

    Dear experts, I’m trying to upgrade ERP system with Sum 1.0 SP11 Patch 2 & I’ve already updated tp, r3ta, r3trans, disp+work files in kernel. Source System -> Target System (above red line everything is the same) In execution phase I’ve got sm37 is n

  • I want to visit your company for studying.

    Hi, my name is Bae Gi Woong. I am a student from KAIST(Korea Advanced Institute of Science and Technology), Korea. I am interested in UI(User Interface) and Multi Touch System. There is a global education program which supports students who want to v

  • How to split video files into clips

    please help this noob. i have adobe master collection cs3 and i'm totally lost as to how i can take a large video file and split it into various clips... example being a 20 minute fireworks display and i want to split that movie into a few dozen clip

  • SP8 on Solaris8 HTTPS ERROR

    When installing SP8 and working him on Solaris8, it will be set to ERROR if the site of HTTPS is accessed via [ client ] applicable PROXY. In ERRORLOG of PROXY, it is http-parse-request reports in that case. : invalid protocol in request line CONNECT

  • IOS 6.0 music shuffle does NOT work

    The music player does not remember where the last session ended.  I have about 1000 songs on my iPhone.  I play the songs in the Shuffle mode - and it worked fine on iOS 5.x.  Ever since I updated to iOS 6.0, the shuffle seems to be seriously broken.