Adapter modules in sync scenarios

Hi all,
here we have some strange requirements to the format of a WebService Outbound Call:
So I have a Sender SOAP Channel and developed an adapter module for it, because of a kind of self defined envelope around the data. This module cuts of the envelop and forwards the content (subset of the whole message) to a BPM.
Since this is a synchronouse call I have to add the envelop also to the response message comming from the BPM.
The question is, how to configure the channel in that way that an additional module is called for the response?
I want to avoid a Java Mapping for performance reasons and also reusability of the module.
Thanks
Regards
Olli

Hi Oliver,
I am trying to deploy the EJB which has been developed for adapter module development. The EJB is in the form .Jar file and i am getting the following error
) Error loading archive
C:\Documents and Settings\x10adm\Desktop\EJBXiPayAuthReq.jar
(server side name is: D:/usr/sap/X10/DVEBMGS01/SDM/program/temp/EJBXiPayAuthReq.jar)
com.sap.sdm.util.sduread.IllFormattedSduFileException: There is no deployment descriptor found in the SDA manifest
any help would be really appreciated
Thanks,
Srini

Similar Messages

  • 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);

  • Basics of Adapter Module

    Hi experts,
    What is adapter Module all about ,If you can give me some Basics about this will be Helpfull.
    with a simple example how to use it .
    Thanks & Regards
    Shakif

    Hi,
    While dealing with adapter modules,
    1. First, create an EJB Module.
    2. You create a Stateless session bean.
    3. You use the following attributes for the bean,
    Remote Interface: com.sap.aii.af.mp.module.ModuleRemote
    Home Interface: com.sap.aii.af.mp.module.ModuleHome
    Local Interface: com.sap.aii.af.mp.module.ModuleLocal
    LocalHome Interface: com.sap.aii.af.mp.module.ModuleLocalHome
    4. Your class must implement,
    Module.process(ModuleContext, ModuleData).
    5. You buiild an EAR archive and an Application Archive and then deploy this on your J2EE engine.
    For async sender/receiver adapters, you use modules before the adapter module.
    for sync sender/receiver adapters, you can wither use modules before the adapter module (they will affect the request message) or after the adapter module (affecting the response message).
    Refer
    /people/daniel.graversen/blog/2006/10/05/dynamic-configuration-in-adapter-modules
    SAP NetWeaver Exchange Infrastructure - Adapter Module Development - Webinar Powerpoint
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e21106cc-0c01-0010-db95-dbfc0ffd83b3
    SAP Network Blog: XI: Dynamic configuration in adapter modules - one step further
    /people/michal.krawczyk2/blog/2006/10/09/xi-dynamic-configuration-in-adapter-modules--one-step-further
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3bdc14e1-0901-0010-b5a9-a01e29d75a6a
    http://help.sap.com/saphelp_nw2004s/helpdata/en/a4/f13341771b4c0de10000000a1550b0/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/fd/16e140a786702ae10000000a155106/content.htm
    /people/siva.maranani/blog/2005/05/25/understanding-message-flow-in-xi
    http://help.sap.com/saphelp_nw2004s/helpdata/en/6a/a12241c20af16fe10000000a1550b0/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/e4/6019419efeef6fe10000000a1550b0/content.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/327dc490-0201-0010-d49e-e10f3e6cd3d8
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/34a1e590-0201-0010-2c82-9b6229cf4a41
    thanks
    swarup

  • Asynch/synch scenario w/ Adapter Modules - NullPointerException

    Hello folks,
    I'm implementing a Asynch/synch scenario (File -> RFC -> Mail) using the Adapter Modules RequestResponseBean & ResponseOnewayBean. I've configured the modules & paremeters as per the links below.
    [Configuring the Async/Sync Bridge in the Sender JMS Adapter|http://help.sap.com/saphelp_nwpi71/helpdata/en/45/20d251c20a0732e10000000a155369/content.htm]
    [File - RFC - File without a BPM - Possible from SP 19|File - RFC - File without a BPM - Possible from SP 19.;
    [File-RFC-File(Without BPM)|http://wiki.sdn.sap.com/wiki/display/XI/File-RFC-File(Without%20BPM)]
    I got the following error when I configured the module parameters exactly as in the above wiki
    MP: exception caught with cause com.sap.aii.af.service.cpa.impl.exception.CPAObjectKeyException: Value of key must not be null: ObjectId
    Then I added the module parameters 'adapterType' & 'adapterNamespace' for ResponseOnewayBean. The above error got resolved but resulted in a different error on the receiver Mail adapter.
    failed to send mail: java.lang.NullPointerException: while trying to invoke the method com.sap.aii.af.sdk.xi.mo.xmb.XMBParty.setLocalName(java.lang.String) of an object loaded from local variable 'senderParty'
    However, the mail is being sent. Because of the error the file adapter is unable to delete the file after processing.
    When I use the same mail adapter in another File to Mail Asynch scenario, I see no such error. I believe the error has got something to do with ResponseOnewayBean.
    I've implemented such scenario a few times at my past clients, but did not face any issues with them.
    Did anyone get such error? Please help in resolving this error.
    thx in adv
    praveen
    Edited by: Praveen Sirupa on Jan 20, 2011 8:18 PM
    Changed the formatting

    Thanks to [Austin's post|Re: Wiki File-RFC-File], I found a SAP note ([1261159|https://service.sap.com/sap/support/notes/1261159]) to resolve the issue.

  • File To File Scenario - Receiver Channel Adapter Module

    Hello,
    We have PI 7.4 in our landscape.
    There is one File To File scenario which needs to be implemented.
    In this scenario, at source diretory we have multiple files (country wise) which needs to be read and put into mutiple folders (country wise) at the target directory.
    Please note we are not making any objects in ESR and directly configurations need to be done in Integration Directory.
    At sender side we can read mutiple files using a single Sender File adapter using the the "Advanced Selection for Source File" option.
    At receiver side we are planning to implement a custom Adapter Module which will put the files in their corresponding country wise folders.
    We are using NWDS 7.3 EHP 1 SP12 for building the adapter module.
    Suggestions are required for below mentioned points:
    1. Is the approach follwed is most suitable as we do not want to make mutiple reciever channels for each folder.
    2. How to read the file name in the receiver adapter module as Namespace will not be created (we will put a dummy namespace in ID).
    3. If any body has already implemented such logic or any suggestions for the same.
    All the suggestions are welcome and thanks in advance.
    Regards,
    Ujjwal Kumar

    Hi Ujjwal
    Yes, that is the correct namespace as long as you are using the File adapter.
    Your code is nearly there, just need the new keyword when creating a new object instance. Below is the sample
    // Get Dynamic Configuration
      MessagePropertyKey fileNameKey = new MessagePropertyKey("FileName", "http://sap.com/xi/XI/System/File");
      String fileName = msg.getMessageProperty(fileNameKey);
    // Set Dynamic Configuration
      String targetDir = "/blah/blah/blah";
      MessagePropertyKey dirKey = new MessagePropertyKey("Directory", "http://sap.com/xi/XI/System/File");
      msg.setMessageProperty(dirKey, targetDir );
    You can refer to the following SAP JavaDocs for more infomration on the Message class (which you use to get/set the property)
    Message
    Rgds
    Eng Swee

  • Adapter Module: How to see if Msg is Request or Response in Sync process?

    Hi all,
    I have created an adapter module. It works fine, in my case on NW07.
    This module is called twice in a synchronous processing as described in
    http://help.sap.com/saphelp_nw2004s/helpdata/en/a4/31d940f52f7e7fe10000000a1550b0/content.htm
    and additionally with more details here
    http://help.sap.com/saphelp_nw2004s/helpdata/en/a4/f13341771b4c0de10000000a1550b0/frameset.htm
    In a synchronous scenario one can see that modules are called in a special sequence twice. First for the request, second for the response.
    My question:
    A: How can I tell the Module Processor to call my Module only once?
    or
    B: How can I check within the module wether my message is a request or a response. this way offers the posibility to skip handling based on rules eg. req/resp.
    Kindest regards Joerg Hopmann

    Hi all,
    I have to add, that in normal cases an adapter module is called only once, I know, but I have my adapter module in the JMS-Adapter inserted.
    And while using the feature of the Reply-Queue one can use the JMS-Adapter for synchronous processing. And in this specal case my module is called twice. Independent of the position within the list of modules.
    Regards Joerg Hopmann

  • Xml validation in File to RFC Sync Scenario with Validation fails message

    Hi All,
    We are using PI 7.4 (Dual Stack) the Requirement is File to RFC Sync Scenario(File <---> RFC).and need to do XML validation against XSD Schema. if any Validations fails Response message should send back to sender.RequestResponseBean standard module is using for File to RFC Sync scenario but how to send the response message to sender if any validation fails. adapter level XML validation is not helpful for this requirement. please help out me how to achieve the requirement with graphical mapping.
    Thanks in advance.

    to validate schema you cannot solve it with graphical mapping but validating the schema in the AAE or the integration engine.
    y recomend you to use the AAE validation at sender side, coz the sender system will be notified in case of schema errors.
    The response will be validated at Integration Server level.
    you can search in the forum, you will get many document about how to configure it.
    take a look to my blog: PI 7.3  - XML Validation

  • How possible in Adapter module

    Hi
    In my adapter module, i want to do the following. can any one help me out how can i achieve..
    In my sync scenario, module at receiver side, want to know
                  Time of request sent to receiver ,
                  time of response get back from receiver to PI
                  what was the response
                  was it sucessfully sent to sender from PI.
    Please provide with exact class and method name from API or sample code..
    Thanks
    Prabhakar

    Hi Venkat,
    I think ur looking for traces as per your request and this is not recommended option in production system. But the 2 options of request time and response time can be updated in traces (Moni) using date functions (standard functions), Container and MappingTrace objects. May I know ur requirement exactly. This solution in adapter module is static. Where you want to use these details and in what form.
    Thanks
    Ramesh

  • Fiel to RFC sync Scenario

    Hi Experts,
    My Scenario: EDI to RFC Synchronous scenario.(Order Status Inquiry interface-- 869/870)
    Guys could you suggest whether do i need to use BPM to achieve the output file.
    1. we have EDI struture imported from stylus studio and used two mappings as follows
    Mesage Mappings:
    EDI input request xml file (869 EDI xml File) -
    RFC request structure
    RFC response Structure -
    EDI output xml file (870 EDI XML file)
    Interface Mappings:
    one interface mapping
    My doubt was i have seen some scenarios in SDN that we can achieve sync scenarios without using BPM with the help of module configurations in the file
    adapter.
    Else do we need to go for the BPM to achieve such scenarios.
    Thanks,
    --Sai.

    Such scenarios can be easily achieved using standard SAP module Request Response bean (without using BPM)
    Chk this:
    http://wiki.sdn.sap.com/wiki/display/XI/File-RFC-File%28Without%20BPM%29
    http://wiki.sdn.sap.com/wiki/display/XI/UsingRequestResponseBeanModuleinFILE+Adapter
    Thanks
    Amit

  • Access to ASMA FileName in a own module in a scenario without IR

    Hi experts,
    I have a scenario with only ID (no IR) in which I get a PDF file from file system and put it on a SFTP server with a SFTP module created for this reason.
    So scenario has a sender CC for polling and a receiver CC with module SFTP for putting the file.
    Obviously filename placed in SFTP server must be the same of filename get from file system (in fact is the same file), so I have flagged ASMA FileName parameter.
    My problem is that I must pass ASMA FileName to my module.
    My question is:
    Is possible to read the value of ASMA FileName in my own SFTP module? or to pass it like a variable?
    Thanks
    Fabio

    do go thru this - how to access Adapter Specific Message Attribute in my  own adapter module
    you can indeed access ASMA in the module - /people/daniel.graversen/blog/2006/10/05/dynamic-configuration-in-adapter-modules

  • Adapter module to enhance File adapter

    Hey guys
    i need a small clarification regarding adapter modules.
    is it possible via adapter modules to enhance the File adapter to such an extent that it can deliver files to two separate systems in separate landscapes.
    i know i can design one more receiver determination and can also use Run OS command options,but modules in general give better performance compared to others so just wan't to explore a little bit more about them.
    Thanx
    Aamir

    Hey Aamir,
    yeah, they do take a lot of resources, but that's how XI was built to work.
    What you're trying to do is a workaround and may not get support from SAP.
    If I have understood right, you still wanna maintain the endpoint connection data in the communication channels but want to acces them directly without going through the technical routing pipeline, is that so?
    If that's it, I'm sorry but I cannot help you any further.
    The only way I know of accessing adapters without going throught technical routing is by using lookup API (RFC, JDBC, Soap) but it is not intended for endpoint scenarios (insert, update etc), mainly for simple read (lookups).
    If maintaining the connection data outside adapters is not a concern, you could try to create the connections directly in Java code, inside java proxies.
    Regards,
    Henrique.

  • 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.

  • Adapter Module for Sender File Adapter to access a Flat file

    Hi,
    We have a scenario where the source is a flat file.I want to develop an Adapter Module to make a small change to every line in the Flat file.
    Now how do we read a flat file in the Adapter Module?Coz the flat file will be converted to XML file by the Standard Adapter Module of the File adapter.
    Please help me out with this.
    Thank you,
    Anu.

    Hi Anu,
    If you are not using Content Conversion option Standard Adapter Module does not convert the Flat file to XML .
    You can directly access the payload as it is in flat file in the Adapter Module and make changes.
    Use the Standard classes ModuleData & moduleContext to fetch the Payload.
    chk this :
    Customized Sender Adapter Module
    XI: Read data from PDF file in Sender Adapter
    regards
    Ganga

  • 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

  • Change "subject" in Receiver Mail Adapter Module

    Hi all,
    following the "How To Guide" I developed a Module for my receiver mail adapter. Everything works fine.
    Now my question: is it possible to change the content of the mail-"subject" in the module?
    Your help is appreciated.
    Carmen

    Hi Stefan,
    maybe I should describe my problem more detailed:
    My scenario is RFC-XI-Mail. I use the mail package to determine the receiver of the mail dynamically. Another thing I want to do, is to attach a file to this mail which is located on the server. So far so good.
    My problem is, that the name of the file (which I need in my adapter module) changes for every mail. So what I need is the possibility to deliver it to the adapter module.
    I found out that it is possible to read the payload. So my idea was to hand it over in one of the fields like "subject". But now I want to change the subject afterwards...(delete the filename).
    Maybe you have another idea?
    Regards
    Carmen

Maybe you are looking for

  • Alarm scripts

    Curious, if I'm writing a script to run on an alarm, how do I get the details of the firing event? For instance, a script to speak an alarm: on run      set introText to "Excuse me. It's time for"      (* Somehow get eventText from current active eve

  • Excise duties from tax code need to captured GR/IR clearing account

    Hi Team, i have configured new tax code , tax code :- VZ = ED 12% +ECS 2 + 1% +VAT 12.5 , Clint want to reflect excise duties to GR/IR clearing account at the time of MIRO, already clint using tax code C4 - ED 10% +ECS 2 + 1% +VAT 12.5 , when i usage

  • SGD VDI vCenter problem accessing multiple desktops simultaneously

    Hi, I am using vCenter as a desktop provider and have created multiple flexible desktop pools in VDI. These desktops pools are then assigned to users in SGD. When accessing these desktops simultaneously through SGD either SGD or VDI gets confused and

  • Related to conditional operator

    hai SDNs, in select stmt or delete stmt in where clause i have condition like this: need the somes values based on condition "A" is in the range 10 - 1000. how to write it in where clause... what is the operator or any alternative??? thanking you,

  • Help power problems

    Help I have a powerbook G4. I was using it when I heard a pop. I noticed that the power light on the power connecter turned off and my charing icon turned off. the computer continued to run until the battery died. I even turned it off and on several