Developing a module for the sender file/FTP adapter

Hi,
Can anyone tell me the procedure for developing and deploying a custom java moudule in File adapter.
Thanks in Advance
Chemmanz

Hi,
  I had devloped my own modules for one of my interface and may tell you to kick start you need to get the jars needed and they are:
aii_af_cci.jar,aii_af_mp.jar,aii_af_ms_api.jar,aii_af_ms_spi.jar,aii_af_trace.jar,aii_af_svc.jar,aii_af_cpa.jar
You can use ftp to access your XI server and copy locally the jars.Then follow the guide step to step.
I would request you to refer MY thread when i was trying to create my module and was struck with jars.
Libraries For Module Devlopement
All the best!!
Anirban.

Similar Messages

  • Sender File/FTP Adapter - Matching Input to Message Type

    Hi,
    I have a sender file/ftp adapter which is using content conversion to generate an XML document from the contents of a text file. This works fine and when I go into the SXI Monitor I can see the XML document I expect:
    <ns:DN_360BalanceExtract xmlns:ns="http://xxx">
    <ns:RN_360BalanceExtract xmlns:ns="http://xxx">
    <BalanceRecord>
       <SerialNo>xx10000780</SerialNo>
       <RegNo>A1</RegNo>
       <LocationTicketIssued>ALBERT ROAD SOUTH</LocationTicketIssued>
       <DateOfOffence>2008-02-15</DateOfOffence>
       <TimeOfOffence>13:38</TimeOfOffence>
       <OffenceDescription>xxx</OffenceDescription>
       <CurrentStateOfCase>RE-OPENED; CLOSED IN ERROR</CurrentStateOfCase>
       <OutstandingBalance>70.00</OutstandingBalance>
       </BalanceRecord
    <BalanceRecord>
       <SerialNo>xx90001245</SerialNo>
       <RegNo>S849KMR</RegNo>
       <LocationTicketIssued>ALBION PLACE</LocationTicketIssued>
       <DateOfOffence>2011-03-01</DateOfOffence>
       <TimeOfOffence>10:59</TimeOfOffence>
       <OffenceDescription>xxx1</OffenceDescription>
       <CurrentStateOfCase>xxx</CurrentStateOfCase>
       <OutstandingBalance>60.00</OutstandingBalance>
    </BalanceRecord>
    </ns:RN_360BalanceExtract>
    </ns:DN_360BalanceExtract>
    Having created the XML document from a text file I now wish to use the XML as input to a web service. This will of course involve mapping the XML document to a message in the inbound interface. Question is how do  associate the XML generated with a Message Type in the outbound interface. Do I need to make sure the Document or Recordset names match that of a Message Type ?
    Cheers,
    PaulC.

    Hi Paul
    The content conversion will create a document like that if you insert DN_360BalanceExtract as Document name, "http://xxx" as namespace.
    RN_360BalanceExtract will probably be your recordset, with its namespace.
    More information about content conversion on sender file adapter:
    http://help.sap.com/saphelp_nw04/helpdata/EN/ae/d03341771b4c0de10000000a1550b0/frameset.htm
    I'm not sure what you mean by bound. If you mean that PI has to execute mapping you created for that DN_360BalanceExtract message type, you need to associate DN_360BalanceExtract to a message interface and then create all configuration objects and choose that message mapping when you create the interface determination object.
    Regards,
    Giuseppe

  • Retrieving the file name in the adapter module in the sender file adapter

    hi,
    i need to retrieve the file name, in the adapter module. This module is placed in the sender file channel.
    After the file adapter has picked up the file from the file directory, the file is placed in the archived directory.Custom adapter mofule is place in the file shanel. i need to retrieve the file name of the file in the adapter module. Is it possible to retrieve the file name?
    Also is it possible to retrieve the archive directory path in module?
    Regards,
    Meenkashi

    Hi Meenakshi,
    I guess you are looking for this
    /people/daniel.graversen/blog/2006/10/05/dynamic-configuration-in-adapter-modules
    Regards
    Suraj

  • Configuring the Receiver File/FTP Adapter !!

    Hi
    I am trying to configure the Receiver file adapter using the J2SE adapter engine(Please note , NOT the J2EE adapter engine).I see a prerequisite for configuring as below
    "The address (HTTP port and URL) where the adapter can be contacted from the Integration Engine".
    What values are to be specified and how can they be validated ?
    I could see an example given in the Docs saying below,
    If i specify , say for example,
    "XI.httpPort=1234 and
    XI.httpService=/file/Receiver, the end point address of the file/FTP adapter in the Integration Engine must be specified as follows:
    http://<fileadapterhost>:1234/file/Receiver"
    Can anyone explain what exactly is this endpoint address and where should it be specified/referred to ?
    Thanks
    Saravana

    Hi,
    "http://<fileadapterhost>:1234/file/Receiver"
    this adress refers to an end point with the end point type "xi-connectivity" in the integration directory (ID)which refers to the settings in the file adapter (httpPort=1234 and XI.httpService=/file/Receiver)
    1. you specify these adress in the file adapter (outbound)
    2. you refer to these adress in the ID (Receiver System End points)
    every file adapter should have an own port, because you can not specify two identical ports in two fileadapters.
    hope I could help you,
    michele
    Message was edited by: Michele Mangieri
    Message was edited by: Michele Mangieri

  • Easy way of procesing files using sender File/FTP adapter

    Hi experts,
    In order to process files with a sender file adapter I am interested in avoiding processing non completed files. I mean files that are still being sent. My provider send an .XML file and when the sending is completed a .CTL file with the same name (and diferent extension).
    So, my question is, wich  of the nexts is the best?
    -Implement an adapter module who recognizes the .ctl and then processes the XML file. -> Is there any standar module doing already that?
    -Use adapter standart parametrization: Run operating System Command Before/After Message Processing, some advanced parameter?
    -Doing nothing, PI only processes completed files (possible??), or if it processes a non completed you can retry.
    -Other
    Points for the best/easiest solution.
    Regards
    Gonzalo

    Hi Gonzalao,
    >>Implement an adapter module who recognizes the .ctl and then processes the XML file. -> Is there any standar module doing already that?
    No there is no such standard module available in PI
    >>Use adapter standart parametrization: Run operating System Command Before/After Message Processing, some advanced parameter?
    Again this is not possible as only after reading a file it will execute OS commands
    >>Doing nothing, PI only processes completed files (possible??), or if it processes a non completed you can retry.
    No you can' take this risk (unless there is a OS lock on the file which is being written)
    >>Other
    so i will go for other solution like:
    A batch program which will check whether a ctl file exists and if it is found then it will ove the .xml file to one folder (where pi is polling) and deletes the read ctl file.
    This batch code will be made to run for say every 5 sec or depending on the frequency of the interface
    Regards
    Suraj

  • Sender FILE/FTP adapter and filename

    Hi,
    I want to send a file with FTP and use the function APPEND.
    Is it possible to construct a unique filename, because the option "Add message ID" is not available when you choose APPEND.
    (I'm on SP9 but we want to patch op to 12 on a short notice)
    Ron

    Hello,
    You can create your own file name with SP12, see this weblog :
    /people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i
    Perhaps you can use add Timestamp to create unique file name !
    Regards,
    Chris

  • Module in the sender Adapter

    Dear all ,
    I have writeen a module in the sender file adapter.
    How do I capture the communication channel name , sender Business sys , party name inside the module

    com.sap.aii.af.service.cpa
    Class Channel
    java.lang.Object
      +--com.sap.aii.af.service.cpa.impl.cache.AbstractCacheItem
            +--com.sap.aii.af.service.cpa.impl.container.CPAObject
                  +--com.sap.aii.af.service.cpa.impl.container.AttributeExtendedCPAObject
                        +--com.sap.aii.af.service.cpa.Channel
    use the methods,
    getChannelName(),        
    getParty() and getService()

  • Quality of service in Receiver file/ftp adapter (SAP PI 7.1)?

    Hi,
        We are building an IDoc to File scenario in SAP PI 7.1, where a single incoming idoc will create three different output files. Also files must be created in target server in a specific order.
        Our first idea to ensure that files would be created following a specific order was that Message mapping (in Java) build target payload with all three files following expected sequence.
        In addition, receiver file/ftp adapter is setup with a dynamic variable to create each file with a different filename adding also timestamp.
        Testing the scenario, we see that three files are created in target server but when we sort them by creation date, it seems they don't follow always same sequence.
        Sometimes adapter creates File1, File2, File3; next time it created File2, File1, File3 and so on.
        Our problem is that files must be created always with a specific order and we cannot use BPM. Does anyone know if a receiver file/ftp adapter can be setup to create files following specific sequence (EOIO)?
        I know that sender file/ftp adapter can be setup with a quality of service, but I didn't find anything similar for Receiver file/ftp adapter.
        Suggestions will be welcome.
    Kind Regards,
    Aitor

    Hi,
         First, thanks all of you for your quick answers. They were helpful because we learnt a new configuration setting.
         We tried your suggestions but they didn't really fix our problem.
         Finally interface has been re-designed and we will not have to apply this logic, so no issue from our side.
         However, let me continue with this topic in case that somebody else will have the same issue, then it will be able to review this thread.
         When adapter created the files in the target directory (windows server), files had the expected timestamp in each filename. However, if we sorted windows directory contents by "Date Creation", files were sorted different that timestamp shows in the filename.
         For example, adapter created following files:
    File1_20090325-115117-169
    File2_20090325-115117-174
    File3_20090325-115117-180
         But when we sorted windows folder contents, files were sorted as follows:
    File2_20090325-115117-174
    File1_20090325-115117-169
    File3_20090325-115117-180
         It seems that timestamp was pre-assigned by the adapter, but when adapter created the files, it did it with a temporary name and finally assigns the filename. If a file size was bigger than other, maybe it takes more time and windows creation date is higher.
         If so, it means that adapter is not following same instructions as itu2019s indicated in "maintain order at runtime" checkbox.
         Do you know if there is any way where we can push also the order in the adapter as we did in interface determination?
    Regards,
    Aitor

  • File/FTP adapter, outbound channel, content conversion, UTF-8 (Unicode)?

    We would like to send "delimited" files to another application (tab-delimited, CSV, ... - the other application does not support XML-based interfaces). Obviously we will have an outbound channel that uses the file/FTP adapter and the data will be subjected to "content conversion".
    The data contains names in many languages; not all of this can be represented in ISO Latin-1, much less in US-ASCII. I suppose UTF-8 would work. The question is: how is this handled by the FTP protocol? (considering that the FTP client is part of the SAP PI file/FTP adapter and the FTP server is something on the "other" machine)

    Hi Peter,
    you can maintain the file encoding in the outbound adapter. See [Configuring the Receiver File/FTP Adapter|http://help.sap.com/saphelp_nw2004s/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm]
    For your requirements "utf-8" sounds pretty fitting.
    Regards,
    Udo

  • "Message Rejection Handler" for the file/ftp adapter using fault policy

    Hi guys,
    We are trying to implement "Message Rejection Handler" for the file/ftp adapter using following fault policy configuration.
    Fault Policy:
    `````````````
    <?xml version='1.0' encoding='UTF-8'?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <faultPolicy version="2.0.1" id="ProcessNameGenericPolicy"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Conditions>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    name="bpelx:remoteFault">
    <condition>
    <action ref="ora-retry"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    name="bpelx:bindingFault">
    <condition>
    <action ref="ora-rethrow-fault"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="ora-retry">
    <retry>
    <retryCount>3</retryCount>
    <retryInterval>1</retryInterval>
    <retryFailureAction ref="ora-rethrow-fault"/>
    </retry>
    </Action>
    <Action id="ora-rethrow-fault">
    <rethrowFault/>
    </Action>
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <Action id="ora-terminate">
    <abort/>
    </Action>
    </Actions>
    </faultPolicy>
    <faultPolicy version="2.0.1" id="ProcessNameHumanInterventionPolicy"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Conditions>
    <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults"
    name="medns:mediatorFault">
    <condition>
    <test>contains($fault.mediatorErrorCode, "TYPE_TRANSIENT")</test>
    <action ref="ora-retry-with-intervention"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    name="bpelx:remoteFault">
    <condition>
    <action ref="ora-retry-with-intervention"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    name="bpelx:bindingFault">
    <condition>
    <action ref="ora-rethrow-fault"/>
    <!--<action ref="ora-retry-with-intervention"/>-->
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="ora-retry-with-intervention">
    <retry>
    <retryCount>3</retryCount>
    <retryInterval>1</retryInterval>
    <retryFailureAction ref="ora-human-intervention"/>
    </retry>
    </Action>
    <Action id="ora-retry">
    <retry>
    <retryCount>3</retryCount>
    <retryInterval>1</retryInterval>
    <retryFailureAction ref="ora-rethrow-fault"/>
    </retry>
    </Action>
    <Action id="ora-rethrow-fault">
    <rethrowFault/>
    </Action>
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <Action id="ora-terminate">
    <abort/>
    </Action>
    </Actions>
    </faultPolicy>
    <faultPolicy version="2.0.1" id="RejectedMessages">
    <Conditions> <!-- All the fault conditions are defined here -->
    <faultName xmlns:rjm="http://schemas.oracle.com/sca/rejectedmessages" name="rjm:PartnerLinkName">
    <!-- local part of fault name should be the service name-->
    <condition>
    <action ref="writeToFile"/> <!-- action to be taken, refer to Actions section for the details of the action -->
    </condition>
    </faultName>
    </Conditions>
    <Actions> <!-- All the actions are defined here -->
    <Action id="writeToFile">
    <fileAction>
    <location>Server/Loc/path</location>
    <fileName>Rejected_AJBFile_%ID%_%TIMESTAMP%.xml</fileName>
    </fileAction>
    </Action>
    </Actions>
    </faultPolicy>
    </faultPolicies>
    Fault Binding:
    ``````````````
    <?xml version='1.0' encoding='UTF-8'?>
    <faultPolicyBindings version="2.0.1"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <composite faultPolicy="ProcessNameGenericPolicy"/>
    <service faultPolicy="RejectedMessages">
    <name>PartnerLinkName</name>
    </service>
    <reference faultPolicy="RejectedMessages">
    <name>PartnerLinkName</name>
    </reference>
    </faultPolicyBindings>
    We have SyncFileRead partner link.
    The expectation is: when the message read by SyncFileRead partner link is rejected,
    that rejected message should come to particular directory in the server.
    Could you please help us fixing this.
    TIA.

    HI..
    Have a look at this blog :
    3) Error: HTTP_RESP_STATUS_CODE_NOT_OK 401 Unauthorized
    Description: The request requires user authentication
    Possible Tips:
    u2022 Check XIAPPLUSER is having this Role -SAP_XI_APPL_SERV_USER
    u2022 If the error is in XI Adapter, then your port entry should J2EE port 5<System no>
    u2022 If the error is in Adapter Engine
    u2013then have a look into SAP note- 821026, Delete the Adapter Engine cache in transaction SXI_CACHE Goto --> Cache.
    u2022 May be wrong password for user XIISUSER
    u2022 May be wrong password for user XIAFUSER
    u2013 for this Check the Exchange Profile and transaction SU01, try to reset the password -Restart the J2EE Engine to activate changes in the Exchange Profile After doing this, you can restart the message
    Http* Errors in XI
    Thanks,
    Pooja

  • Can a class or Module be executed before the sender File Adapter execute?

    Hi
    In case of sender adapter the module in the module processor gets executed after the adapter has performed its operation.
    Is there a way I can execute the module before the sender adapter starts execution?
    Or Is it possible to specify a java class to be executed before adapter, through configuration in the communication channel or some other way?
    Thanks
    Vijendra

    HI Vijendra,
    The File module adapter is the first one to get executed.
    The only thing you can do is to run shell scripts if you have to do any activity in the folder or on the file.
    Regards
    Vijaya

  • How to write ModuleData process exit bean in the sender file adapter

    Hi all,
    I am referring to this blog:
    /people/sap.user72/blog/2005/07/31/xi-read-data-from-pdf-file-in-sender-adapter
    Can any one come across this situation like reading a PDF file and converting it to XML using XSL-FO. I am using NWDS, and selected Java Project and added libraries specified in that blog. I am in total confusion as what type of Project i should select. <b>I need a step by step procedure for developing XML file out of PDF referred in that blog.</b>.Thanks a lot
    regards,
    Ganesh

    Hi Ganesh,
    the how to on Adapter Modules in also available in SDN Libraray.
    Check this,
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3bdc14e1-0901-0010-b5a9-a01e29d75a6a">How to create Modules for the J2EE Adapter Engine</a>
    Regards,
    Bhavesh

  • Need Help in Creating adapter module for SFTP Sender in NWDS

    Hi experts,
    I have a scenario where i should write an adapter module for SFTP sender in NWDS.. need your help in achieving this..

    Hello,
    >>i have followed the procedure of FTP but, adapter is not picking the file
    Make sure u have written proper expression to pick file.
    >>do we have any different adapter parameters for SFTP... the input file is .csv..
    I don't think there are any specific parameters needed for SFTP (but in case u are reading file name in AM then u might have to adjust SFTP namespace)
    Thanks
    Amit Srivastava

  • Module processing inside Sender File Adapter

    Hello,
    I am trying to analyze whether I can create a specialized module inside Sender File Adapter. As of right now, the Sender File Adapter and Receiver as well, assume endSeparator character in the end of each record. For files that do not have this field, it is just on continuous string, I assumed I can create an
         adapter module
         call it BEFORE data in the file is being converted to XML format
         Insert 'nl' character (since the record length is fixed)
         Call regular adapter processing (converting to/from XML)
        However, creating any module inside Sender File Adapter, the payload of the main document is already in XML format. Is there anyway to avoid it?
       Thanks for your help,
             Dmitriy Mindich

    It is not possible with the standard functionality.
    So maintain the sender file adapter with no conversion, but in the module tab enter following modules:
    1. Your module
    2. The conversion module (*)
    3. The standard module.
    (*) for details look here:
    Look here:
    http://service.sap.com/nw-howtoguides
    -> Exchange Infrastructure
    -> How To Use the Content Conversion Module in JMS Adapter
    Regards
    Stefan

  • Customised module for reading Excel files.

    Hi Gurus,
    I have to develop a customsed java module for reading Excel files from PI. I downloaded NWDS 7.31 from following location NWDS Download links - Java Development - SCN Wiki. I have installed it on my local laptop. For developing the module I need following Jar files.
    com.sap.aii.af.ms.svc_api
    com.sap.aii.proxy.svc_api.jar
    com.sap.aii.sec.svc_api.jar
    com.sap.aii.utilxi.server.jar
    com.sap.aii.utilxi.core.jar
    com.sap.xi.mapping.tool.lib_api.jar
    sap.com~tc~bl~txmanagerimpl~plb~impl.jar
    sap.com~tc~je~appcontect_api~API.jar
    com.sap.aii.af.cpa.svc.api
    com.sap.aii.af.lib.mod
    com.sap.aii.af.ms.ifc_api
    com.sap.aii.af.svc_api
    com.sap.xpi.ib.mapping.lib
    1. Where can i get these jar files. I checked these files in my downloaded NWDS 7.31  package, but cold not find them.
    Thanks in advance

    Hi.
    Check this thread.
    Where to get the libraries for XI development - Process Integration - SCN Wiki
    Regards
    Lucho

Maybe you are looking for

  • Can't open flash

    i can't view flash content with my safari. i followed the window that says get flash player, i've checked my java script and tried safari help, but it still doesn't work. it's all fine on my internet explorer though. i'd be glad if you could help.

  • Dynamically Changing Labels for Multi Row Block Buttons

    Forms [32 Bit] Version 9.0.4.1.0 (Production) Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production On my local: Windows 7 OS I am having a difficult time in doing the following in forms, and not sure if it can be done? I have

  • Can I convert a pdf slideshow with narrative to a movie file?  Using Pro version 8

    I am working with a template software (Vacation Bible School) where I insert pictures and at the end, it plays a slideshow with narrative (already in the template) when you open it up and hit the spacebar.  it works fine, but there are 5 different fi

  • MOVED: Cooler XP does not support motherbord !! ~ HELP!

    This topic has been moved to VGA products. https://forum-en.msi.com/index.php?topic=121040.0

  • Responsive mobile forms

    Is there any way to generate responsive mobile HTML forms in Adobe LiveCycle ES4?  Everything I'm finding about Mobile and ES4 points at being able to generate an HTML form that looks and acts exactly like the PDF version.  We are looking to create f