Creating J2EE adapter module problem

Hi All,
when i am creating a J2EE customer-specific adapter module in SAP Netweaver Developer Studio, then in the java class when i write these statements:
<u>import com.sap.aii.af.mp.module.*;
import com.sap.aii.af.ra.ms.api.*;</u>
public class CustomerMeter implements SessionBean, <u>Module</u>{
it is showing error on the  above underlined things that it cannot resolve these things.
can anybody suggest where to locate these librarys in Project - Properties - Java Build Path - Libraries path from the main menu.
Thanks,
Rajeev Gupta

Hi Amit,
On changing the ejb-jar.xml as you said:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
                         "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
    <description>EJB JAR description</description>  
    <display-name>EJB JAR</display-name>
     <enterprise-beans>
          <session>
               <ejb-name>CustomerMeter</ejb-name>
               <ejb-class>pkgCustomerMeter.CustomerMeter</ejb-class>
               <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>
               <session-type>Stateless</session-type>
               <transaction-type>Container</transaction-type>
          </session>
     </enterprise-beans>       
</ejb-jar>
But now on saving this xml, it is giving the following  error:
<b>The content of element type "session" must match "(description?,display-name?,small-icon?,large-icon?,ejb-name,home?,remote?,local-home?,local?,ejb-class,session-type,transaction-type,env-entry,ejb-ref,ejb-local-ref,security-role-ref,security-identity?,resource-ref,resource-env-ref)".</b>
Could you please tell how to correct this error.
Thanks and Regards,
Rajeev Gupta

Similar Messages

  • Empty file to process in customer J2EE adapter module

    Hi All,
    if i give an empty text file to a sender communication channel, then no message is generated by XI.
    i want to generate a dummy XML if empty file is given.
    so is it possible to make a customer-specific J2EE adapter module - then deploy it - then if in sender comm channel this adapter module is written before SAPAdapter module, then should XI generate a dummy XML for this empty file.
    i am asking this because i developed a J2EE adapter module, then deployed it, then tried to invoke it  from sender comm channel but this J2EE adapter module is not getting invoked - this i can tell because i have written the following lines only in Java class process method:
    <i>Message msg_audit = (Message)inputModuleData.getPrincipalData();
    AuditMessageKey amk = new AuditMessageKey(msg_audit.getMessageId(),AuditDirection.OUTBOUND);
    Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS,"FileCheck: Module called");
                                                 return inputModuleData;</i>
    but still in the audit log only 3 messages of entire file content converted to XML format, empty doc so no sending of message and deleting of empty file are coming.
    <b>Can anybody suggest whether is it possible to process an empty text file to generate a dummy XML in sender communication channel in XI.</b>
    Thanks,
    Rajeev Gupta

    Hi All,
    When i write this code:
    try
                                                                obj = inputModuleData.getPrincipalData();                                                  
                                                                msg_audit = (Message)obj;
                                                                amk = new AuditMessageKey(msg_audit.getMessageId(),AuditDirection.OUTBOUND);
                                                                Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,"FileCheck: Module called");
                                       <i>File f = new File("/components/XITEMP/sample/PWC/check.txt");                                                            
                                                                          if (f.canWrite())
                                                                                         PrintStream ps;
                                                                                         FileOutputStream fos =new FileOutputStream(f);
                                                                                         File f1 = new File("/components/XITEMP/sample/PWC/check1.txt");
                                                                                         ps = new PrintStream(fos);
                                                                                         if (f1.exists()==false)
                                                                                              f1.createNewFile();                                                                    
                                                                                         ps.println("Testing");
                                                                                         ps.close();
                                                                                         fos.close();                                                            
                                                                               else
                                                                                    File f2 = new File("/components/XITEMP/sample/PWC/check2.txt");          
                                                                                    if (f2.exists()==false)
                                                                                              f2.createNewFile();                                                                    
                                                                               }               </i>                                        
    it works fine......it creates the file check1.txt
    but when i place the italiced code in this format:
         try
                                                                obj = inputModuleData.getPrincipalData();                                                  
                                                                msg_audit = (Message)obj;
                                                                amk = new AuditMessageKey(msg_audit.getMessageId(),AuditDirection.OUTBOUND);
                                                                Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,"FileCheck: Module called");
                                                           catch (Exception e)
                                                                     try
                                                                          File f = new File("/components/XITEMP/sample/PWC/check.txt");                                                            
                                                                          if (f.canWrite())
                                                                                         PrintStream ps;
                                                                                         FileOutputStream fos =new FileOutputStream(f);
                                                                                         File f1 = new File("/components/XITEMP/sample/PWC/check1.txt");
                                                                                         ps = new PrintStream(fos);
                                                                                         if (f1.exists()==false)
                                                                                              f1.createNewFile();                                                                    
                                                                                         ps.println("Testing");
                                                                                         ps.close();
                                                                                         fos.close();                                                            
                                                                               else
                                                                                    File f2 = new File("/components/XITEMP/sample/PWC/check2.txt");          
                                                                                    if (f2.exists()==false)
                                                                                              f2.createNewFile();                                                                    
                                                                     catch(Exception ex)
    it doesnot create the file check1.txt......
    Can anybody suggest why in the exception block this italiced code is not working........means it is working in try block of try{}catch{} block.......but it is not working in catch block of try{}catch{try{}catch{}}
    Thanks,
    Rajeev Gupta

  • J2EE adapter module not getting invoked by module processor

    Hi All,
    i have deployed my .ear file in SDM Repository successfully.
    but my J2EE adapter module is not getting invoked by module processor......this i can say because i have written code to audit log my message in the java class...but when i gave input an empty file, the audit log of that file in Message Audit Log showed only 3 Steps of file converted to XML format, no data found so not generating message, deletion of my empty file.
    Can anybody suggest how to enable my J2EE adapter module as i have created this module so that if i give empty file, then in the adapter i am creating a dummy XML for my message.
    Thanks and Regards,
    Rajeev Gupta

    Hi Stefan,
    1. JNDI name in visual admin is CustomerMeter
    2. the files in .ear file are:
    libraries,
    ejb project file,
    META-INF folder
    in ejb project file the following files are there:
    ejb-j2ee-engine.xml
    ejb-jar.xml
    CustomerMeter.class
    Please tell what to do now.
    Hi Amol,
    in audit log only 3 messages are coming: File converted to XML format, no data in document  so not sending message, deleting of empty file.
    i have given audit log statements in java class but my audit-log statements are not coming in the audit log
    this means my adapter module is not getting invoked.
    Please tell what to do to correct this error.
    Thanks and Regards,
    Rajeev Gupta

  • Dummy XML not getting generated from empty file by J2EE adapter module

    Hi All,
    i know when XI gets an empty input text file, it does not generate a send message for it in sender communication channel.
    in my scenario, if i get a file with data, i have to generate an XML message for it using file content conversion - this i have done...........
    but if i get an empty text file, then i have to generate a dummy XML send message for it for my BPM.......
    So i made a J2EE adapter module to generate dummy xml for empty file.....<b>when i give a file with data in it, then my adapter module is called..... but when i give an empty file, then my adapter module is not called</b>.........
    <b><i>Can anybody suggest why the module processor is not invoking my customer-adapter module when an empty file is given.............but the module processor is invoking my customer-adapter module when a file with data is given</i>.</b>
    Thanks,
    Rajeev Gupta

    Hi Amit,
    Below is the code of process method which i used:
    <i>public ModuleData process(ModuleContext moduleContext,
      ModuleData inputModuleData)
        throws ModuleException
    Object obj;
    Message msg_audit;
    AuditMessageKey amk;
    try
    File f = new File("/components/XITEMP/sample/PWC/check.txt");
    PrintStream ps;
    if (f.canWrite())
    FileOutputStream fos =new FileOutputStream(f);
    ps = new PrintStream(fos);  
    ps.println("Testing");
    ps.close();
    fos.close(); 
    else
      f = new File("/components/XITEMP/sample/PWC/check4.txt");
      if (f.exists() ==false)
      f.createNewFile();
    obj = inputModuleData.getPrincipalData();
    if (obj!=null)
    msg_audit = (Message)obj;
    amk = new AuditMessageKey(msg_audit.getMessageId(),AuditDirection.OUTBOUND);
    Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,"FileCheck: Module called");
    else
      String str = new String();
    String str1 = new String();     
                  str1="<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
                 str1+="<ns:MT_PWC_RECORD xmlns:ns=\"urn://PWC_SR3_01/PWC/Customer\">";
             str1+="<RECORD_SET>";     
                 str1+="<RECORD>";
             str1+="<RECORD_DATA>BLANK_FILE</RECORD_DATA>";
             str1+="</RECORD>";
             str1+="</RECORD_SET>";
             str1+="</ns:MT_PWC_RECORD>";     
    str=str1; 
    inputModuleData.setPrincipalData(str);
    catch(Exception e)
    try
    File f = new File("/components/XITEMP/sample/PWC/check.txt");
    PrintStream ps;
    if (f.canWrite())
      FileOutputStream fos =new FileOutputStream(f);
      ps = new PrintStream(fos);  
      ps.println(e.toString());
      ps.close();
      fos.close(); 
    catch(Exception ex)
    return inputModuleData;
       }</i>
    in the above methood, i  used file operations at start just to see whether the module is getting invoked or not...so when i give a data file, then the file operations are performed and messages are written in audit log.........but when i give an empty file, then the file operations are not performed - meaning the module is not getting invoked........
    Thanks,
    Rajeev Gupta

  • Adapter Module Problem

    Hi All,
    I am following the PDF "How to create Modules for J2EE Adapter Engine". I developed the module for Mail Adapter and implemented in a File->XI->Mail scenario.
    The problem is when i am testing the scenario, i am getting chequered flag in SXMB_MONI and adapter monitor is not showing any error and it is also not showing message is being sent status.
    scenario is running perfectly after removing this module from module chain.
    So i am not able to get where the error lies.
    Any help is appriciated.
    Thanks and Regards,
    Alok.

    hi,
    did you check the adapter monitor?
    http://hostname:portnumber/MessagingSystem/monitor/monitor.jsp
    did you put any adapter logs in your adapter java code?
    to see if the adapter gets invoked etc?
    if not do it for
    AuditLogStatus.SUCCESS or AuditLogStatus.ERROR:
    http://help.sap.com/saphelp_nw04/helpdata/en/a6/66e540aa827e7fe10000000a1550b0/content.htm
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Mail Adapter Module Problem!

    Hi All
    I m facing a problem in implementing a custom mail adapter module.
    The scenario is to set the content type based on the file type. eg: if the file being sent is a pdf then content type should be "application/pdf".
    I hope the scenario is clear, please feel free to ask for clarifications.
    awaiting your replies.
    Regards
    Kapil

    Hi All
    I am able to fetch the file name now and set the content type based on the file name. But I m not able to change the name of attachment of mail. For reference, I m pasting the code here, please suggest how to do the latter part
    try {
                         // CS_GETCHADAT START
                         cid  = moduleContext.getChannelID();
                         Channel channel = new Channel(cid);
                         // Example to access a channel configuration parameter in a module: String someParameter = channel.getValueAsString("YourAttributeName");
                         // CS_GETCHADAT END
                        fileName = msgg.getMessageProperty("http://sap.com/xi/XI/System/File","FileName");
                        Payload attachment = msgg.getAttachment("MainDocument");
                             StringTokenizer st = new StringTokenizer(fileName, ".");
                             while(st.hasMoreTokens()){
                                  extension = st.nextToken();     
                        Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS, "RenameFile: filename " + fileName);
                        Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS, "RenameFile: extension " + extension);
                             // create new payload
                             Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS, "RenameFile: attchmntName " + attachment.getName().toString());
                             //provide attributes and content for the new payload
                             attachment.setName("Attachment :" + fileName);
    //                         msgg.setMessageProperty("http://sap.com/xi/XI/System/File","content-description",fileName);
                             attachment.setContentType("application/" + extension );
                             inputModuleData.setPrincipalData(msgg);

  • J2EE adapter monitoring problem/no error description found

    Hi!!!
    I have a problem with J2EE adapter monitoring.
    When I use SOAP adapter (receiver, asynchronous mode)
    and there is an error in Web Service (for example,
    the structure of the message is incorrect) then in Workbench
    (in an adapter monitoring) I can only find information that
    there is "application error" and nothing more
    (I searched also logs and I didn't find anything).
    But when there is an error in Web Service then
    there are details about this error in ACK message,
    for example that required tag is omitted
    (I can see this information in the TCPMonitor when
    I configure it between SOAP adapter and Web Service).
    In "old days" when I use plain Adapter Engine
    I could find all information about errors
    in Integration Engine Monitoring (sxmb_moni):
    - error message (like "application error") was in the "error" node,
    - and details about this error (like "java.io.FileNotFound" (...), for example)
    were in the "trace" node.
    I suppose there is something wrong with my eyes now that I can't see these details,
    so please tell when can I find that.
    We have SP12.
    Regards,
    Andrzej

    Hi Andrzej
    Check this OSS Note 856597
    cheers
    Sameer

  • Adapter module - problem with XML

    Hi all
    I have written an adapter module for the sender jdbc adapter(it shouldn't matter which adapter) that converts the content into xml by addressing each byte of the message content.
    I am able to make the xml but when the message reaches the integration server it throws up a mapping exception. When I look at the payload in SXI_MONITOR it says -
    Invalid at the top level of the document. Error processing resource 'file:/// ........
    But when I right click on the payload and do "view source" and then save the text document and then refresh the payload in the payload window it shows me the xml document.
    Would you have any idea as to why the IS doesn't recognise the message to be an xml message?
    Thanks a lot
    Salil

    Hi Bhavesh
    Yup it's a perfectly valid xml. I tried saving it as a file to my desktop and it opened fine in my browser. As I mentioned earlier even when I do a "view source" of the payload and then save that and subsequently refresh the payload it shows up fine too.
    Actually here is the payload. i am wondering if all it needs is a carriage return after the <?xml tag.
    <?xml version="1.0" encoding="utf-8"?>          <ns0:out_sale_mt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://www.rd1.com/pos/sales"><TransHeaders><ID>1782219</ID><TransNo>2</TransNo><Branch>91</Branch><Station>99</Station><Receipt>0910990000002</Receipt><Logged>2007-08-02T18:52:53</Logged><TransType>C</TransType><TransStatus>C</TransStatus><TheUser>cantlong</TheUser><Customer>100001006</Customer><CustType>C</CustType><SecondCustomer></SecondCustomer><SecondCustCard></SecondCustCard><LinesNo>2</LinesNo><PaymentsNo>1</PaymentsNo><TotalBeforeTax>2.8400</TotalBeforeTax><TotalAfterTax>3.1900</TotalAfterTax><ScannedNo>0</ScannedNo><ScanTime>0</ScanTime><PayTime>0</PayTime><IdleTime>0</IdleTime><Reason>0</Reason><Rounding>0.0000</Rounding><TH_FieldText1></TH_FieldText1><TH_FieldText2></TH_FieldText2><TH_FieldText3></TH_FieldText3><System1>0</System1><System2>0.0000</System2><System3></System3><FolioID>0</FolioID><UserAcc>1</UserAcc><Salesperson></Salesperson><TransLines xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://www.rd1.com/pos/sales"><TransNo>2</TransNo><Branch>91</Branch><Station>99</Station><Line>1</Line><LineType>N</LineType><UPC>9400559001014</UPC><IsVoided>0</IsVoided><Quantity>1.0000</Quantity><Price>3.1900</Price><DiscountID>0</DiscountID><TaxNo>1</TaxNo><SubBeforeTax>2.8356</SubBeforeTax><SubAfterTax>3.1900</SubAfterTax><Reason>0</Reason><Note/><TL_FieldText1/><TL_FieldText2/><TL_FieldText3/><SerialNumber/><TransStatus>C</TransStatus><Cost>2.4000</Cost><PriceSet>3.1900</PriceSet><TaxNo1>1</TaxNo1><TaxNo2>0</TaxNo2><TaxNo3>0</TaxNo3><TaxAmount1>0.3544</TaxAmount1><TaxAmount2>0.0000</TaxAmount2><TaxAmount3>0.0000</TaxAmount3><CostProtect xsi:nil="true"/><Location>0</Location><ESMPack>0</ESMPack></TransLines><TransPayments xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://www.rd1.com/pos/sales"><TransNo>2</TransNo><Branch>91</Branch><Station>99</Station><Line>1</Line><MediaID>9</MediaID><MediaName>SPLIT</MediaName><Value>3.1900</Value><Fee>0.0000</Fee><Change>0.0000</Change><MediaNumber/><TP_FieldText1/><Rate>0.000000000</Rate><FCValue>0.0000</FCValue></TransPayments><PostCapture xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://www.rd1.com/pos/sales"><Id>168165</Id><Type/><TransStatus>C</TransStatus><TransNo>2</TransNo><Branch>91</Branch><Station>99</Station><Line>0</Line><IsVoided>0</IsVoided><Logged>2007-08-02T18:52:54</Logged><TheUser>cantlong</TheUser><Status>0</Status><UPC/><Note1/><Note2/><LineBucket>1</LineBucket><Bucket>&amp;lt;capture&amp;gt;&amp;lt;splits&amp;gt;&amp;lt;split&amp;gt;&amp;lt;code&amp;gt;100001006&amp;lt;/code&amp;gt;&amp;lt;percent&amp;gt;50&amp;lt;/percent&amp;gt;&amp;lt;/split&amp;gt;&amp;lt;split&amp;gt;&amp;lt;code&amp;gt;100001030&amp;lt;/code&amp;gt;&amp;lt;percent&amp;gt;50&amp;lt;/percent&amp;gt;&amp;lt;/split&amp;gt;&amp;lt;/splits&amp;gt;&amp;lt;/capture&amp;gt;</Bucket></PostCapture></TransHeaders></ns0:out_sale_mt>

  • Unable to deploy custom adapter module in PI 7.31

    Hi pros,
    I created a custom adapter module to split some complex input files to multiple messages. We use a SAP PO 7.31 java-only installation. I followed this document to create my adapter module:
    How to Create Modules for the JEE Adapter Engine
    I know it is for PI 7.1 but a colleague of mine said that he was able to create a running adapter module for PI 7.3 following the guide. I created the following projects:
    EAR project references the EJB project:
    Project facet of the EJBproject:
    ejb-jar.xml config:
    application-j2ee-engine.xml (in EAR project):
    When I try to deploy my module, I get the following error:
    Java version:
    NWDS version:
    Any hint is appreciated! What can be wrong? What can I check again?
    THANKS!
    Message was edited by: Stefan Münchow

    I am not sure if the version is the problem. We have PI 7.31, support package 14, patch level 0 and NWDS 7.31 support package 12, patch level 4. The version of NWDS is lower than the version of the PI. According to Note 1599298 the error occurs when the NWDS is higher than the one of PI. Besides, we are able to deploy BPMN processes with the same NWDS to the same server.
    This is the exact exception trace shown in NWDS:
    com.sap.ide.eclipse.sdm.deploy.DeploymentException: [ERROR CODE DPL.DCAPI.1027] DeploymentException.
    Reason: ASJ.dpl_dc.001085 Operation [deploy] of [sap.com_SplitArticleFileModule_EAR] failed
    at com.sap.ide.eclipse.sdm.threading.DCDeployThread.run(DCDeployThread.java:110)
    ------------- Nested exception -------------------
    com.sap.engine.services.dc.api.deploy.DeployException: [ERROR CODE DPL.DCAPI.1027] DeploymentException.
    Reason: ASJ.dpl_dc.001085 Operation [deploy] of [sap.com_SplitArticleFileModule_EAR] failed
    at com.sap.engine.services.dc.api.deploy.impl.DeployProcessorImpl.deployItems(DeployProcessorImpl.java:862)
    at com.sap.engine.services.dc.api.deploy.impl.DeployProcessorImpl.deploy(DeployProcessorImpl.java:259)
    at com.sap.ide.eclipse.deployer.dc.deploy.DeployProcessor70.deploy(DeployProcessor70.java:105)
    at com.sap.ide.eclipse.sdm.threading.DCDeployThread.run(DCDeployThread.java:80)
    Caused by: com.sap.engine.services.dc.cm.deploy.DeploymentException: ASJ.dpl_dc.001085 Operation [deploy] of [sap.com_SplitArticleFileModule_EAR] failed
    at com.sap.engine.services.dc.cm.deploy.impl.OnlineDeployProcessor.performDelivery(OnlineDeployProcessor.java:246)
    at com.sap.engine.services.dc.cm.deploy.impl.BulkOnlineDeployProcessor.deploy(BulkOnlineDeployProcessor.java:67)
    at com.sap.engine.services.dc.cm.deploy.impl.AbstractDeployProcessor$DeployProcessorHelper.visit(AbstractDeployProcessor.java:282)
    at com.sap.engine.services.dc.cm.deploy.impl.DeploymentItemImpl.accept(DeploymentItemImpl.java:84)
    at com.sap.engine.services.dc.cm.deploy.impl.AbstractDeployProcessor.deploy(AbstractDeployProcessor.java:100)
    at com.sap.engine.services.dc.cm.deploy.impl.DeployThread.run(DeployThread.java:39)
    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:328)
    Caused by: com.sap.engine.services.dc.gd.DeliveryException: [ERROR CODE DPL.DC.3298] Operation [deploy] of [sap.com_SplitArticleFileModule_EAR] failed
    at com.sap.engine.services.dc.gd.impl.ApplicationDeployer.deploy(ApplicationDeployer.java:167)
    at com.sap.engine.services.dc.gd.impl.InitialApplicationDeployer.performDeployment(InitialApplicationDeployer.java:138)
    at com.sap.engine.services.dc.gd.impl.InitialGenericDeliveryImpl.deploy(InitialGenericDeliveryImpl.java:57)
    at com.sap.engine.services.dc.cm.deploy.impl.OnlineDeployProcessor.performDelivery(OnlineDeployProcessor.java:213)
    ... 8 more
    Caused by: com.sap.engine.services.deploy.server.utils.DSRemoteException: ASJ.dpl_ds.006193 Operation [deploy] of [/usr/sap/DP2/J64/j2ee/cluster/server0/temp/tc~bl~deploy_controller/archives/213/SplitArticleFileModule_EAR.ear] failed
    at com.sap.engine.services.deploy.server.DeployServiceImpl.catchDeploymentExceptionWithDSRem(DeployServiceImpl.java:3370)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.deploy(DeployServiceImpl.java:315)
    at com.sap.engine.services.dc.gd.impl.ApplicationDeployer.deploy(ApplicationDeployer.java:139)
    ... 11 more
    Caused by: com.sap.engine.services.deploy.container.rtgen.GenerationException: Open failed for '/usr/sap/DP2/J64/j2ee/cluster/server0/temp/deploy/SplitArticleFileModule_EAR.ear1422275742985/com.sap.aii.utilxi.server.jar' with fd 218 returning message 'couldn't find 'END' tag' and errno 0 after trying cache.
    at com.sap.engine.services.webservices.server.deploy.preprocess.WebServicesGenerator.createSingleModule(WebServicesGenerator.java:100)
    at com.sap.engine.services.webservices.server.deploy.preprocess.WebServicesGenerator.generate(WebServicesGenerator.java:54)
    at com.sap.engine.services.deploy.container.rtgen.AnnotationsSupportingGenerator.generate(AnnotationsSupportingGenerator.java:27)
    at com.sap.engine.services.deploy.ear.jar.moduledetect.GeneratorWrapper.generate(GeneratorWrapper.java:43)
    at com.sap.engine.services.deploy.ear.jar.ModuleGeneratorTool.generate(ModuleGeneratorTool.java:110)
    at com.sap.engine.services.deploy.ear.jar.ModuleGeneratorTool.generateOverExistingModules(ModuleGeneratorTool.java:97)
    at com.sap.engine.services.deploy.ear.jar.ModuleGeneratorTool.generateModules(ModuleGeneratorTool.java:80)
    at com.sap.engine.services.deploy.ear.jar.EARReader.read(EARReader.java:240)
    at com.sap.engine.services.deploy.server.application.DeployUtilTransaction.prepareNewDeploymentInfo(DeployUtilTransaction.java:217)
    at com.sap.engine.services.deploy.server.application.DeploymentTransaction.begin(DeploymentTransaction.java:199)
    at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:421)
    at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:473)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.makeGlobalTransaction(DeployServiceImpl.java:1836)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.deploy(DeployServiceImpl.java:360)
    at com.sap.engine.services.deploy.server.DeployServiceImpl.deploy(DeployServiceImpl.java:313)
    ... 12 more
    Caused by: java.util.zip.ZipException: Open failed for '/usr/sap/DP2/J64/j2ee/cluster/server0/temp/deploy/SplitArticleFileModule_EAR.ear1422275742985/com.sap.aii.utilxi.server.jar' with fd 218 returning message 'couldn't find 'END' tag' and errno 0 after trying cache.
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:154)
    at java.util.jar.JarFile.<init>(JarFile.java:141)
    at java.util.jar.JarFile.<init>(JarFile.java:105)
    at com.sap.engine.services.webservices.server.deploy.preprocess.WebServicesSupportHandlerImpl.generateWebSupport(WebServicesSupportHandlerImpl.java:79)
    at com.sap.engine.services.webservices.server.deploy.preprocess.WebServicesGenerator.createSingleModule(WebServicesGenerator.java:69)
    ... 26 more
    Maybe the used jar files could be the problem?

  • Adapter module that dumps file to XI file directory

    I am given a task to find a way of backing up files the simpliest way. Currently, our config is in a scenario where there are 2 receiver, the receiving system (SAP) and the file backup (File adapter). I would want to reduce the config requirements by eliminating the file backup objects. And I am thinking of doing this by creating an adapter module to be included in the sender adapter.
    Another idea I could think of is the adapter module calls upon the file comm channel to do the file backup.
    The purpose of this research is to reduce object transport time and the mistakes the transport guys are doing on the file comm ch reconfiguration.
    To those who have experiences with adapter module development, is this idea feasible?

    Hi Jai,
    Thanks for your reply. That is the 2nd option I have in case the 1st one isnt possible.
    To further elaborate,
    Current config:
    we have two AS2 comm channels (sender and receiver) managing the connection with our external partners.
    File comm channels to backup the files we send and receive.
    The problem:
    We are having problems with the transport guys as they often make mistake on reconfiguring the file comm channel during transport.
    Requirements:
    Reduce object creation and tranport time.
    Solution proposal 1:
    The idea is to remove all existing objects related to file back up and have all the file back ups done by the adapter module. And this adapter module would become part of the as2 comm channels module processes.
    Hope this clarifies things more.

  • No SuchAgorithmException in Adapter Module configured EAR file

    Dear All,
    I have created an adapter module using 3DES encryption/decryption algorithm for File/FTP adapter configuration and have deployed it at J2EE server of respective XI system.
    The alogorithm and adapter module are working fine in DEV & QA environments but in Mirror system(which is similar to Prod), I have been encountering Error:-
    <i><b>java.security.NosuchAlgorithmException: Algorithm DESede not available</b></i>
    Can you please suggest what could be issue here? Any inputs will be highly appreciated.
    Thanks and Best Regards
    Prashant Rajani

    Hi
    see the below links
    http://help.sap.com/saphelp_nw04/helpdata/en/0d/d517412797f523e10000000a155106/frameset.htm
    CJS-20030  Checking if the secure store exists fails,
    SHA-1 MessageDigest not available during WebAS Java install
    /thread/12191 [original link is broken]
    /thread/11521 [original link is broken]
    verify url secKey
    Regards
    Chilla

  • PI 7.1 adapter module issue

    I deoplyed my module and worked fine. now i changed some code by adding parameter to module
    strModuleKey = moduleContext.getContextData("module.key");
    I changed the related things in my communication channel(gave parameters)
    Now, i get below error while executing...
    java.lang.ClassCastException: class com.sap.aii.af.sdk.xi.mo.MessageContext:library:com.sap.aii.af.sdk.libcom.sap.engine.boot.loader.ResourceMultiParentClassLoader428c6e04alive incompatible with interface com.sap.engine.interfaces.messaging.api.Message:interface:com.sap.aii.af.ms.ifccom.sap.engine.boot.loader.ResourceMultiParentClassLoader2dd7e4d6alive
    Followed the below url but in vain..
    PI JAVA ADAPTER MODULE PROBLEM
    Incompatible with interface - Exception in Adapter Module
    Issue on developing Adapter Module
    Also if you are using PI 7.1 refer to the blog:
    /people/stefan.grube/blog/2008/12/11/adjust-your-pi-70-adapter-modules-for-pi-71-in-15-minutes
    Please let me know if u have any other suggestions other than this...
    Thanks
    Prabhakar

    Hi Venkat,
    Yes, you cannot add custom modules to soap adapter.
    Please refer below documentation for the same..!!
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/44/8c4756224a6fb5e10000000a155369/content.htm
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/69/a6fb3fea9df028e10000000a1550b0/frameset.htm
    Regards,
    Swetha.

  • Adapter module configuration

    The message that reaches the file receiver channel is
    <EDI_DC40>
                  structure1
    </EDI_DC40>
    <EK1NA1M>
                  structure 2
    </EK1NA1M>
                 So i wanna write a module configuration which will rename the first tag as <ek1na1m>. Plz help

    Hi Sumaya,
    you are creating the adapter module using the document i told or not...
    if you are using that document, then see in the process method you will write all your code......you will take the message as a string........then you can manipulate your string as you want - means you can rename your node..........then you can set this string as your XMLpayload.....
    Thanks,
    Rajeev Gupta

  • Dynamic URL creation in Adapter Module

    I have a situation in which I need to create a dynamic URL to send data using an HTTP POST ( using  HTTPS).
    I created an UDF to use Dynamic Configuration, this works fine for the UrlParam in the HTTP CC and the TServerLocation in the SOAP CC.
    My issue is that both variables have the same limitation of 200 chars max, and sometimes the URL is longer than 200 chars (I have to pass more than 20 parameters in the URL). The message mapping with the UDF fails whenever I try to put more than 200 chars in the Dynamic Configuration Variables. Therefore I cannot use Dynamic Configuration.
    I'm now thinking of creating an Adapter Module which creates an URL out of the XML message passed to the adapter, and use this value to overrule the URL defined in the Communication Channel. The URL field in the Communication Channel does not have a  200 chars limitation.
    Does anybody know how to do this? Is it possible to replace the value of the URL field in the Communication Channel with another  value in an Adapter Module?
    I have to pass the data as parameters in the URL, not as Header fields in the message.
    Thanks,
    Andre

    Hello Chris,
    The error is:
    RuntimeException during appliction Java mapping com/sap/xi/tf/_mm_paymentClusterCreate_ Thrown: com.sap.aii.mappingtool.tf7.MessageMappingException: Runtime exception when processing target-field mapping /ns0:mt_newPaymentClusterData/merchant_name; root message: Exception:[java.lang.IllegalArgumentException: Value is too long (471/200):
    It's even in the SAP Help:
    http://help.sap.com/saphelp_nwpi711/helpdata/en/48/ce299c3a8e5430e10000000a42189b/frameset.htm
    The length of the attribute value is defined by the XI message protocol. Values can be a maximum of 200 characters long. If, for example, you assign longer values in the mapping or adapter modules then this can lead to processing errors at runtime or the values are shortened to 200 characters. This shortening can also lead to a processing error. The processing error that occurs depends on the components that access the attributes.

  • File adapter modules : Access to file data before content conversion

    I have a file sender channel for which content conversion in applied. The incoming file has data in comma separated values format.
    e.g.
    102366,Amol Joshi,DEPT1
    107752,XYZ PQR,DEPT2
    I want to access the the actual data in the file before content conversion takes place. Is it possible to access this data inside the adaper module? I tried creating an adapter module and put it before CallSAPAdapter,it still gets the XML after content conversion as the input data to the module.
    Any pointers?

    Hi Amol,
    I dont know if it is the right approach.
    But if u r not able to meet ur requirement u can do one work around.
    Use Message Transformation Bean to convert it once again in to CSV (flat file structure) and then proceed with ur module.
    There should be a better way than this.
    Hope we could find a better solution in the forum.
    Regards,
    Sudharshan

Maybe you are looking for

  • How to call the custom  code in Seeded OA pages when an event Occured.

    Hi, I need to call a Oracle Create Task API when User saves the data from Seeded OA Page(Sales OA Page).When User Pressed on the Save button,based on Value he selected in " Sales Methodology" Field ,I need to call Call API. How can I achieve it.Is it

  • Arranging webpages in sub-folders

    Hello All, I am working on a JSF application, where i want to arrange my webpages in sub-folders and corresponding beans in respective packages. So the hierarchy for my webpages should be something like : Web Pages > ui and the ui folder will again h

  • Filenames in iPhoto

    Is it true that there is no method for safely editing a photo's filename once the photo has been imported into iPhoto? By "safely", I mean without corrupting the iPhoto library. Also, if I delete a photo in iPhoto, is it completely deleted from the h

  • Time Machine on Raid 1

    I have had two Time Machine external hard drives crash within the last year, so I've decided to create a Raid 1 mirror to use as my Time Machine. I understand the basic requirement is that the drives be of the same size. I have two 1TB drives, differ

  • Ethernet storage unit that is mac compatible?

    Ok I can't use my usb ports and firewire port. I want to back up my computer so i can ship it to get fixed but everything is either usb, or buy time capsule. Money is not permitting a time capsule at this time and I was wondering if someone could poi