Read Filename form Adapter-Specific Message Attributes in Java Mapping

Hi,
I have scenario File to Mail adapter. How can i read filename from Adapter-Specific Message Attributes
in java mapping.
Thank you and Best regards
Fernand

Hello Fernand,
Are u using DOM or SAX parser?
In any case just put the Dynamic config code in the execute function or the other option is to define it as a private functionand call it in the execute,My personal advice would be the former.
Just put this code in ur java mapping
As fellow sdn ers have mentioned there is no need of the container method,just initialise the set param method and use it in the dynamice config code as follows
public class YourClass implements StreamTransformation
     private Map map;
public void setParameter(Map param)
     map = param;
public void execute(InputStream in, OutputStream out) throws StreamTransformationException
               DynamicConfiguration conf =(DynamicConfiguration) map.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
               DynamicConfigurationKey KEY_FILENAME =DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
// read value
File = conf.get(KEY_FILENAME);
Now just call File in the mapping program,
Should help u out 
Regards,
Tauseef

Similar Messages

  • Change Adapter Specific Message Attributes with ABAP Mapping

    Hi everyone,
    I have an IDOC -> PI -> File scenario and I need the file name to be a combination of several fields of the file so variable substitution is quite complicated. I have been reading about Adapter Specific Message Attributes and since the File name is one of those attributes I think maybe I can use it. The only thing is that I'm using ABAP mapping. Can I set the file name in that way? Has anyone done it?
    Thank you for your help.
    Regards,
    Pablo

    I found it myself:
      DATA: l_dyn_record      TYPE mpp_dynamic.
          l_dyn_record-namespace = 'http://sap.com/xi/XI/System/File'.
          l_dyn_record-name = 'FileName'.
          l_dyn_record-value = w_nombrearch.
          dynamic_configuration->add_record( l_dyn_record ).
    Thanks anyway.

  • Set adapter specific message attribute in graphical mapping

    Hi,
    I'm trying to set the mail reply to field in email messages sent by mail receiver adapter.
    To do this, I use the ASMA and developped my own UDF
    public String setMailFrom(String mailFrom, Container container) throws StreamTransformationException{
    DynamicConfiguration conf = (DynamicConfiguration) container
        .getTransformationParameters()
        .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create(
        "http://sap.com/xi/XI/System/Mail",
        "THeaderREPLY-TO");
    String valueOld = conf.get(key);
    if (valueOld != null) {
        String valueNew = mailFrom;
        conf.put(key, valueNew);
    return mailFrom;
    This works but I needed to asign the result of the udf to a node of my target message in order for the udf to be called.
    Is there a way to call a UDF without assigning the result to anything in the target message....
    Is there a better way to modify the ASMA than using a UDF in a mapping.
    Thanks.

    assign it to the root node of the target message.
    Also use exceptions in your code so that you can do independent testing.
    Additional ref:
    /people/shabarish.vijayakumar/blog/2009/03/26/dynamic-configuration-vs-variable-substitution--the-ultimate-battle-for-the-file-name

  • Adapter specific message attribute in pi 7.1

    Hi experts,
                    Can you give me information for Adapter specific message attribute in pi 7.1 and i have searched in forums but i didnt get right information.
    Thanks

    Hi Jayan,
        The short form is ASMA which is helpful in capturing the attributes of the sender side Filename,Directory,Times stamp etc.,(ASMA Changes from adapter to Adapter) during run time and modify them if we like according to our requirement.
    Refer the following ASMA in PI7.1
        http://help.sap.com/saphelp_nwpi71/helpdata/en/0d/5ab43b274a960de10000000a114084/frameset.htm
    for a sample scenario demonstrating on the usage of ASMA
         /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    Thanks,
    Ram.

  • Java Mapping (not UDF) and Adapter-Specific Message Attributes

    Hello everybody,
    is it possible to create an Adapter-Specific Message Attributes in a java Mapping?
    I found in the SAP Help that the API com.sap.aii.mapping.api.DynamicConfiguration allows only to read, change or delete the attributes.
    best regards.
    Adnane Elgoute

    Hi,
    try the follwoing code
    import com.sap.aii.mapping.api.*;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.HashMap;
    import java.util.Map;
    public class JavaProgram
        implements StreamTransformation
        public JavaProgram()
        public void setParameter(Map map)
            param = map;
            if(param == null)
                param = new HashMap();
        public void execute(InputStream inputstream, OutputStream outputstream)
            try
                DynamicConfiguration dynamicconfiguration = (DynamicConfiguration)param.get("DynamicConfiguration");
                DynamicConfigurationKey dynamicconfigurationkey = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "FileName");
                String s = dynamicconfiguration.get(dynamicconfigurationkey);
             //Your logic
            catch(Throwable throwable)
                throwable.printStackTrace();
        private Map param;

  • How to set adapter specific message attributes on Pi 7.1 inside a Java map.

    Hello,
    how can I set adapter specific message attributes in a Java mapping on PI 7.1.? The TransformationInput grants access to the DynamicConfiguration but the TransformationOutput doesn't. I have found threads refering to the old way of implementing Java mappings (e.g. Get dynamic filename in a Java Mapping (NOT UDF)). But there doesn't seem to be one refering to the actual PI.
    Kind regards,
    Heiko

    Using DynamicConfiguration from the TransformationInput works.

  • XSLT Mapping of Adapter-Specific Message Attributes

    Hi,
    We have the requirement to build a soap request with a custom soap envelop/header which contains a sessionId.
    Therefore we developed a xlst mapping which is called directly after a graphical mapping.
    In the graphical mapping the session id is written to the dynamic configuration.
    The goal is to read this session id in the xslt mapping from the dynamic configuration using XSLT Mapping of Adapter-Specific Message Attributes. We used  [this|http://help.sap.com/saphelp_nwpi711/helpdata/en/43/03fe1bdc7821ade10000000a1553f6/content.htm] documentation as an example.
    But we are getting the following error: TransformerConfigurationException triggered while loading XSLT mapping. The error is raised at this node: <xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')" />
    This is the coding of the xslt transformation:
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0"
          xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
          xmlns:ns1="urn:enterprise.soap.sforce.com"
          xmlns:map="java:java.util.Map"
          xmlns:dyn="java:com.sap.aii.mapping.api.DynamicConfiguration"
          xmlns:key="java:com.sap.aii.mapping.api.DynamicConfigurationKey">
    <xsl:output indent="no" />
    <xsl:param name="inputparam"/>
    <xsl:template match="/">
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:enterprise.soap.sforce.com">
    <soapenv:Header>
    <urn:SessionHeader>
    <xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')" />
    <xsl:variable name="dynamic-key" select="key:create('http://sap.com/xi/XI/System/SOAP', 'sessionId')" />
    <xsl:variable name="dynamic-value" select="dyn:get($dynamic-conf, $dynamic-key)" />
    <urn:sessionId><xsl:value-of select="$dynamic-value"></xsl:value-of></urn:sessionId>
    </urn:SessionHeader>
    </soapenv:Header>
    <soapenv:Body>
    <xsl:copy-of select="*"/>
    </soapenv:Body>
    </soapenv:Envelope>
    </xsl:template>
    </xsl:stylesheet>
    Any help will be highly appreciated.
    Regards, Henk

    Hi, yes we did try that and lot's of other combination.
    The results of those trials are that it seems to go wrong with <xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')" />
    When we enclose it with <xsl:if test="function-available('map:get')"> the transformation is not dumping, but the function is not available.
    Regards, Henk

  • JMS adapter: Adapter specific message attributes

    Hi,
    I have a synchronous SOAP to JMS (MQ series) scenario where I’m using sync/async bridge (without BPM).
    I need to correlate the message being put on JMS queue (JMS receiver adapter) and the response (JMS sender adapter).
    The “standard” receiver JMS adapter only allows the JMS correlation ID to be set to one of three different values (excluding NULL). 2 of these (reference and conversation ID) will be empty in my scenario, leaving me with only the XI message ID. This ID however exceeds the length of ie. the JMS correlation ID and thus isn’t suitable for correlating anything using the field JMS Correlation ID.
    NB: it is of no use to try and set the conversation ID at mapping time (using container object) since the changed value only is available during mapping execution.
    Surely one way of setting the conversation ID would be to use an adapter module in SOAP sender, but this is not an option. Also the sender system will not provide one either.
    Now the problem isn’t setting the JMS correlation ID dynamically at runtime (this is achieved without trouble using the dynamic configuration API with the key ‘DCJMSCorreleationID’). The problem is to actually have XI correlate the request with the response.
    Since the JMS collelation ID is smaller than the XI message ID and the conversation and reference ID isn’t available, what I figure is that I need to find a MQ message property to use and then use the ‘Set MSProperty to’ part instead – this property surely needs to be large enough to contain the XI message ID.
    So what I did was I looked in http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=/com.ibm.mq.amqwak.doc/js50938.htm
    where a list of fields in the message descriptor is available figuring I can just use one of these. Looking through the list I notice the field MDRQ (‘Name of reply queue’, 48-byte character string) should be able to hold the XI message ID. So I add ‘MDQR’ in the ‘Specify additional JMS message properties’ and set the ‘Java Type’ to String and also enter this field in the Correlation Setting of the receiver JMS adapter.
    Runtime:
    When looking in MDT I see:
    New JMS message will be correlated with the XI message. Correlation rule: XI_MESSAGEID, correlated property: JMS property MDRM, correlation value: 36158680-5a0c-11dc-8c14-000f203cd3c8
    I looks like a success! No data is however set in the field when looking at messages being put on MQ.
    If I increase the trace level of the JMS adapter I can see (in defaultTrace) the following:
    Cannot read the switch setting for property name DCJMSStringProperty0, switch name dynConfigDCJMSStringProperty0. It is switched off.
    What does this error mean?
    I have of course clicked ‘Use adapter Specific Message-Attributes’ and also the ‘Specify additional…’. In other words everything look ok in configuration.
    Since I’ve also put a check mark in ‘Fail if adapter specific message attributes is missing’ I can see that I successfully put a value (using dynamic conf. at mapping time) in the field... but still something isn’t right – the value of the property never reached MQ.
    Now I’ve tried with a couple of fields in the message descriptor from the previous URL. XI complains all the time.
    Anybody got some ideas?
    Best Regards,
    Daniel

    Hi Vijay,
    Thanks for your replay,as per your input i creted dynamic configuration method,
    i taget structure  luks like this
       <Data>
           <Mesage>
                 <gl_update>
                      <header>
                            <ean1>
                            <ean2>
                      </header>
                  <gl_update>
           <Message>
    i written UDF and mapped to header element gl_update,
    but i am getting  below error message in MONI
    SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_MM_ ffjms_</SAP:P1>
      <SAP:P2>com.sap.aii.mappingtool.tf7.IllegalInstanceExcepti</SAP:P2>
      <SAP:P3>on: Cannot create target element /ns0:MT_jms_ _a</SAP:P3>
      <SAP:P4>sync_out/Data/Message/ GLUpdate. Values missi~</SAP:P4>
      <SAP:AdditionalText />
      <SAP:Stack>Runtime exception occurred during application mapping com/sap/xi/tf/_MM_ ffjms_; com.sap.aii.mappingtool.tf7.IllegalInstanceException: Cannot create target element /ns0:MT_jms_ asyncout/Data/Message/ GLUpdate. Values missi~</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    i want to know i mapped to UDF to GL_Update is is correct, to which element i have to map.
    i think there is no prob with UDF,its executing ,giving warning messages
    help me on this,
    Regaards
    Raj

  • Overwrite Adapter-Specific Message Attributes in MAIL adapter.

    Hi guru.
    I'm trying to use the SENDER MAIL Adapter.
    My scenario is the following:
    a remote system send an email with an XML file like attachment. The PI System read the mailbox and tries to map the payload.
    When I try without the "Adapter-Specific Message Attributes" the flow work well, but I need to know the email of the sender.
    When I try to enable the Adapter-Specific Message Attributes the system finds an error in the SOAP envelop, in the "SHeaderX-CR-HASHEDPUZZLE" Node.
    This is a part of the ENVELOP.
    <sap:DynamicConfiguration SOAP:mustUnderstand="1">
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderTO">email</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SUser">testxi</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-ORIGINATING-IP">[XX.XXX.XX.XXX]</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SGreeting">
    Lotus Notes POP3 server version X2.0 ready on xxx.</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderSUBJECT">GROUDWORK_REMOTE</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-MSG-REF">
    server-10.XXXX.com!1224858537!24401109!1
    </sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderMESSAGE-ID"> 00a801c935e4$d4b4e3d0$7e1eab70$
    </sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-VIRUS-SCANNED">amavisd-new at xxx.com</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-ENV-SENDER">EMAIL</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-STARSCAN-VERSION">5.5.12.14.2; banners=-,-,xxx.it</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-SPAMWHITELISTED">domain whitelist</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-VIRUSCHECKED">Checked</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-MIMETRACK">
    Itemize by SMTP Server on IXXX(Release 6.5.5|November30, 2005) at 10/24/2008 16:28:57,Serialize by POP3 Server on IXXX(Release 6.5.5FP2|October23, 2006) at 24/10/2008 16:38:51,Serialize complete at 24/10/2008 16:38:51
    </sap:Record>
    *THE ERROR IS IN THE FOLLOWING NODE*
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-CR-HASHEDPUZZLE">
    7hY= AFac ANQ+ Ad/R ArpP BnYc C6X8 EpvL FLPB GGaw GaCt HKM+ I0Nu JIhk JdJ4 KIZZ;1;dABlAHMAdAB4AGkAQABwAHIAbwB0AG8AdABpAHAAbwAuAGkAdAA=;
    Sosha1_v1;7;{CCB182EF-E812-44B6-9C48-85873A18C72};bQBhAG4AdQBlAGwALgBjAGgAaQBhAHIAZQBsAGwAaQBAAGkAbgBmAHIAYQBjAG8AbQAuAGkAdAA=;
    Fri, 24 Oct 2008 14:28:46 GMT;RgBXADoAIABDAE8ATQBFAFIAXwBSAEUATQBPAFQARQA=
    </sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-CR-PUZZLEID">{CCB182EF-E812-44B6-9C48-B85873A18C72}</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderTHREAD-INDEX">
    Ack1vUKnx+miPqT4T22mKaVcKhgAvwAAEmwwAAGwdQAABvplAAAAK6sgAAARhjAAAGHCAAAAKwPAAABcPNA=
    </sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderRECEIVED">
    from XXX.com ([xx.xxx.xxx.xx])         by mail3.XXX.com (Lotus Domino Release 6.5.5)         with SMTP id 2008102416285733-32229          for EMAIL ;         Fri, 24 Oct 2008 16:28:57 +0200
    </sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderDATE">Fri, 24 Oct 2008 16:28:48 +0200</sap:Record>
         <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SServerLocation">pop://popserver</sap:Record>
    </sap:DynamicConfiguration>
    My question is:
    Can I  overwrite in the adapter the <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-CR-HASHEDPUZZLE"> ?
    <post_modified>
    Edited by: Juan Reyes on Nov 3, 2008 7:22 PM

    Hi
    Check the details of the Email in Mail box are all the Adapter specific parameters are coming. If not then this will not read Adapter Specific parameters. Some Legacy system dont generate all parameters But you can add your using variable header.
    Thanks
    Gaurav

  • Setting Adapter-Specific Message Attributes in an Adapter Module

    Hi!
    I want to set Adapter-Specific Message Attributes in an Adapter Module. Is it possible to configure the Variable Transport Binding in this way?
    Best regards,
    Daniel

    I'd like to know it as well.
    I've checked out the XI AF API but didn't find much.
    One thing that I've observed is that since Module API can treat any Message Class (not only XI Messages), I guess it won't have any specific methods for XI messages (hence, no dynamic configuration). But you could try to get the message object and then treat it as an XI Message (you would be doing the steps that the Java Mapping API do before it calls a Java Mapping class) to get the Map objects (which include the parameters).
    Good luck on it, and let us know if you have any progress!
    Regards,
    Henrique.

  • Use of "Adapter-Specific Message Attributes"?

    Hi,
    What is "Adapter-Specific Message Attributes" and when should we use this?
    Is it different for sender and receiver channel? Please help.

    Hi Aamir,
    You can refer these links too.
    What is "Adapter-Specific Message Attributes" and when should we use this?
    Adapter specific message attribute in pi 7.1 | SCN
    Is it different for sender and receiver channel?
    Adapter-Specific Message Attributes in the Message Header (SAP Library - Partner Connectivity Kit)

  • How to access Adapter Specific Message Attribute in my  own adapter module

    Hi,
    I'm developing a mail adapter customer module. Now I have a requirement about getting the CC information from mail. Even if I
    checked the option of "use mail package" when configing sender Mail Adapter, I still can not get CC information in my module
    because it is not included in mail package.
    I got to know CC information is included in ASMA(Adapter Specific Message Attribute), but how can I access ASMA in my module?
    Till now I know there are two ways to access ASMA
    1. use AF_Modules/DynamicConfigurationBean XI standard module to access ASMA.I did it as below:
    add this module in front of my own module, then set key: write http://sap.com/xi/XI/System/Mail SHeaderCC and value :      
    <b>message.refToMessageId</b>(which message property should be put here?). I'm trying to get it by message.getRefToMessageId() in my
    own module. But what happens is not as I expected, I get null instead of CC information. Which step I did wrong?
    2. use mapping api
       DynamicConfiguration conf = (DynamicConfiguration) <b>container</b>
        .getTransformationParameters()
        .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
         DynamicConfigurationKey key = DynamicConfigurationKey.create(
             “http://sap.com/xi/XI/System/Mail”,
             “SHeaderCC”);
    but how can I get <b>container</b> object in my module?
    Is there any other way to access ASMA in customer module?
    Thanks

    hi,
    >>>>but how can I access ASMA in my module?
    have a look at this blog:
    /people/daniel.graversen/blog/2006/10/05/dynamic-configuration-in-adapter-modules
    and try getMessageProperty
    it's also here:
    in Adapter-Specific Message Attributes link
    http://help.sap.com/saphelp_nw04/helpdata/en/17/50d440e14f8431e10000000a1550b0/frameset.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>

  • XI 3.0 SP 20 - Problem with adapter-specific message attributes

    Hi everyone,
    I am using XI 3.0 SP 20, in SP 17 i read who SOAP adapter and mail adapter have additional adapter-specific message attributes in the message header
    But in my XI SP20 dont have that function.
    There arent problem in installation of SP20 (no show errors).
    Can anybody tell me what is happening? Why dont have "adapter-specific message attributes" ?
    Thanks

    Hi,
    you have to import the SAP XI content, SAP BASIS 6.40 have to be updated. Because the new attributes for adapters are saved in the Adapter Metadata located in the Integration Repository. If you have not update the content, you will not be able to find new options.
    Start IR and navigate to the SAP BASIS 6.40, double click on this SWCV and click on the Details tab, you should be able see which Support Package the SAP BASIS has at moment. Update it to SP20 if it is still SP17. You will be able to see the required new attributes in Mail Adapter.
    regards,
    Hai

  • Where can I find Adapter Specific Message Attributes ASMA Schema Definition

    Hi all,
    I'm on PI 7.1 and want to use the Mail adapter in XIPAYLOAD mode.
    I want to map to the ASMA schema definition in the Enterprise Service Builder.
    I'm wondering where I can get this "new" schema?
    For example the "old" mail adapter xml schema could be found in Note 748024.
    REgards,
    John
    Note 748024 - XI Mail Adapter XML Schema "Old"
    https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=748024
    SAP Help Configuring the Receiver mail adapter
    http://help.sap.com/saphelp_nwpi71/helpdata/en/43/96cb0fb9335b77e10000000a11466f/frameset.htm
    Note 856599
    https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=856599
    Should I use MailPackage or ASMA?
               A: SP14 introuced the Adapter Specific Message Attributes (ASMA) that can be used to import and export adapter/transport specific headers into and out of XI. This is a generic mechanism for all adapters and other components such as mapping and routing can directly access or manipulate these values. The functionality provided by MailPackage is available in ASMA. Therefore, it is recommended that new scenarios use ASMA instead of MailPackage.

    John,
    the idea behind ASMA is exactly not to depend on modifying the payload to be able to map data that is just relevant to the communication layer, not the application.
    Instead of having a target XSD that you need to map your source message to, filling the communication details, instead you create XI specific message headers (the so called "adapter specific message attributes") that go in the message within the SOAP Header, hence not requiring any modification of the payload whatsoever.
    Notice that not having to modify the payload doesn't mean not having a mapping program, since the mapping can modify both the payload and the header, and sometimes it's a good approach to fill the ASMAs in a mapping, just bypassing the payload to the output unmodified.
    BR,
    Henrique.

  • Adapter-specific message attributes for the JMS Receiver adapter

    Dear SAP Community,
    We are trying to activate some parameters at message level when SAP XI sent an interface (XML data) to IBM Websphere MQ. Programmaticaly, this is done the following way:
           TextMessage outMessage = session.createTextMessage();
           MQQueue replyToQ = new MQQueue("TESTQM01","SYSTEM.ADMIN.ACTIVITY.QUEUE");
           Destination replyTo = (Destination) replyToQ;
           outMessage.setJMSReplyTo(replyTo);
           outMessage.setIntProperty("JMS_IBM_Report_Exception", MQC.MQRO_EXCEPTION);
           outMessage.setIntProperty("JMS_IBM_Report_Expiration", MQC.MQRO_EXPIRATION);;
           outMessage.setIntProperty("JMS_IBM_Report_COA", MQC.MQRO_COA);
           outMessage.setIntProperty("JMS_IBM_Report_COD", MQC.MQRO_COD);
           outMessage.setIntProperty("JMS_IBM_Report_Discard_Msg", MQC.MQRO_DISCARD_MSG);
    This code is working fine.
    Since the documentation about this feature (Adapter-specific message attributes) is very light, We am not sure about the interpretation we made.
    First, we defined the following attributes: MS_IBM_Report_Exception, JMS_IBM_Report_Expiration, JMS_IBM_Report_COA, JMS_IBM_Report_COD, JMS_IBM_Report_Discard_Msg. All of them are with type int.
    Then we changed the mapping (XSL) to pass the value to the dynamic configuration, using the technical names (DCJMSMessageProperty0, ..., DCJMSMessageProperty4) and the value of the constants. We also specified a value in the Reply To Queue parameter of the adapter. As a test, We also change another parameter via the mapping (the correlation ID, to use the idoc number) and according to the log of the processed message, every thing is finde. According to the trace of the JMS adapter, everything is fine to. However, this has no impact on the message, only the correlation ID is changed.
    The JMS server is IBM Websphere MQ (v6.0.2.1). It is already in production and working fine. This is a change we have been asked to implement.
    Has anyone experience with the JMS receiver adapter-specific message attrbitutes ? What have we done wrong ?
    Any help is greatly appreciated.
    Regards,
    Gregory PFISTER
    SAP XI Analyst - Holcim

    Hi Neha,
    pls do chk the below links for SOAP adapter message attributes
    http://help.sap.com/saphelp_nwpi71/helpdata/en/fc/5ad93f130f9215e10000000a155106/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/43/0a7d1be4e622f3e10000000a1553f7/content.htm
    http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_adapters.doc/doc/sap_xi/sapximst38.htm
    http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_adapters.doc/doc/webservices/webservices16.htm
    Regards
    Sampath

Maybe you are looking for