Accessing Adapter specific message in Module

Hi ,
      I am developing a module to set the content type in the mail adapter. I need to determine the content type based on the file name. If I am sending a PDF, then i need to set the content type as "application/pdf". I also need to set the file name.
I have enabled the adapter specific attribute in the sender file adapter. How to access the adapter specific attribute in the module.
With regards
K.Varadharajan

Hi,
   Now i am able to determine the file name using getMessagePrperty(). But i am unable to set the file name to the payload. The Payload it self comes as an attachment. The attachment name is some thing as shown below
" [email protected]"
We used SetName property also, but it is not working
Does anyone know how to resolve the problem
With regards
K.Varadharajan

Similar Messages

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

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

  • Adapter Specific Messages

    Hi all,
    I need a help to access the Adapter Specific Messages in
    UDF.
    I have seen all the help/fourms and blogs for this. I
    got only the File Adapter Specific Messages. My need is
    to use this feature for other adapters too.
    As the first step, I have few doubts on using it.
    1. To access the adapter specific messges, initially we
    need to set the runtime
    constant "DYNAMIC_CONFIGURATION". After that we need to
    set the DynamicConfigurationKey by the following
    statement.
    DynamicConfigurationKey key =
    DynamicConfigurationKey.create
    ("http://sap.com/xi/XI/System/File","FileName");
    This is specific to the File Adapter. In this statement,
    <i>http://sap.com/xi/XI/System/File</i> is the name
    space of the adapter meta data.
    And <i>FileName</i> is the technical name of the
    attribute.
    Where we need to find out the technical name? Is it the
    same name near to the check box when we set the adatper
    specific attributes in the communciation channel or is
    it something different. If it is the same name as it is
    in the communciation channel, then is it case sensitive?
    Regards,
    Prasad U

    Hi Stefan,
    How to overwrite the PIPInstanceIdentifier in the Service Header of RNIF adapter in receiver side.
    I have tried RNIF module setting by using Process Instance Identifier: "Proc Inst Identifier" with the following code :
    Processing Sequence:
    1. AF_Modules/DynamicConfigurationBean / Local Enterprise Bean /
    write http://sap.com/xi/XI/System/RNIF "Proc Inst Identifier"
    module.rnif_id
    But it can't overwrite the pipInstanceId of serviceheader
    Any help on this will highly be appreciated.
    Regards,
    Rick

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

  • 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

  • SOAP Use Adapter-Specific Message Properties and Variable Transport Binding

    Hi Friends,
       I am new to use to Soap Adapter. Please help me out bellow doubts.
       1.When you use Use Adapter-Specific Message Properties and Variable Transport Binding .
       2. Where exactly  we r using below parameters.
    Remote User : (technical name: SRemoteUser )
    Remote Host : (technical name: SRemoteHost )
    SOAP Action (technical name: SHeaderSOAPACTION )
    To transfer further header fields, set the relevant indicator. You can then store the following attributes and their values in the XI message header:
    Variable Header : (technical name: XHeaderName1 )
    Variable Header : (technical name: XHeaderName2 )
    Variable Header : (technical name: XHeaderName3 )
    Thanks&Regards
    G.Bhanuprakash

    Hi,
       1.When you use Use Adapter-Specific Message Properties and Variable Transport Binding .
    SAP Help says both are needed to be checked when you want to process adapter attributes
    Configuring the Receiver SOAP Adapter - SAP NetWeaver Exchange Infrastructure - SAP Library
    These attributes can be get/set using dynamic configuration and their technical names are what you have pasted:
    Remote User : (technical name: SRemoteUser )
    Remote Host : (technical name: SRemoteHost )
    SOAP Action (technical name: SHeaderSOAPACTION )
    To transfer further header fields, set the relevant indicator. You can then store the following attributes and their values in the XI message header:
    Variable Header : (technical name: XHeaderName1 )
    Variable Header : (technical name: XHeaderName2 )
    Variable Header : (technical name: XHeaderName3 )
    Remote User - the username used to send a message to the adapter engine using SOAP
    Remote Host - hostname which the remote user used
    SOAP Action - SOAP Action of the XI webservice (sender) / SOAP Action of the receiver webservice
    Variable Headers are additional key-value pairs in the HTTP Header that could be accessed in the XI Header using dynamic configuration. The limit is only three though.
    Regards,
    Mark

  • 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 Properties not available in SP 15

    Hi
    In the <b>/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14 blog Michal is saying that <b>Adapter Specific Message Properties </b> option in File adapter  will be avalible from XI with SP 14. But i am using SP 15 and i am not getting this option in the file to file adapter. Can u please tell me the why its not available.
    Thank & Regards
    Ravi Shankar B

    Hi,
    Try reloading SAP BASIS software component version of SP15 only (check ) into repository.This might enable that option in the ftp/file adapter.
    also see the below links
    /people/daniel.graversen/blog/2006/10/05/dynamic-configuration-in-adapter-modules
    /people/daniel.graversen/blog/2006/10/05/dynamic-configuration-in-adapter-modules
    /people/michal.krawczyk2/blog/2006/10/09/xi-dynamic-configuration-in-adapter-modules--one-step-further
    Regards
    Chilla

  • 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

  • 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

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

  • Purpose of adapter specific message atributes at sender,reciever file adapt

    hi.
    i want know birefly about adapter specific message atributes at sender ,reciever  adapters.
    and what would be the result if we enable this adpspecmessatb checkbox
    waiting for your response.
    bye.
    regards.
    seeta ram.

    hi santosh .
    thanks for yor your answer.
    but when i mapped constant  a to the udf and mapped to target and while iam testing i got the error like
    10:38:30 Start of test
    Compilation of MM_SapIsuTo3rdpartyAccountStatementExtraction successful Runtime exception during processing target field mapping /ns0:MT_SapisuTo3rdpartyAccountStatementExtraction/accstmtdetails/body/status. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8] com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:MT_SapisuTo3rdpartyAccountStatementExtraction/accstmtdetails/body/status. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8] at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:350) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8] at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:56) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:282) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:47) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:282) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: java.lang.NullPointerException at com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_.filename$(_MM_SapIsuTo3rdpartyAccountStatementExtraction_.java:119) ... 26 more RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:MT_SapisuTo3rdpartyAccountStatementExtraction/accstmtdetails/body/status. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8]
    10:38:37 End of test
    what would be the reason for this.
    waiting for u r response.
    bye.
    regards.
    seeta ram.

  • Using adapter specific message attributes in SOAP adapter configuration

    Hi,
    Can you please let me know how to use adapter specific message attributes in receiver and sender SOAP adapter configuration. If possible , with example.

    See here:
    Adapter-Specific Message Attributes in the Message Header
    http://help.sap.com/saphelp_nw04/helpdata/en/43/0a7d1be4e622f3e10000000a1553f7/frameset.htm
    Sender Soap Adapter:
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/frameset.htm
    Receiver Soap Adapter
    http://help.sap.com/saphelp_nw04/helpdata/en/29/5bd93f130f9215e10000000a155106/frameset.htm

  • 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

Maybe you are looking for

  • Create a .pdf file that expires

    I would like to creat a .pdf in Acrobat that expires after a set period of time. My client would be able to use it, print it, etc., then after a year (or whatever period of time I set), it would expire and not be usable. Or would put a big watermark

  • How can I filter data by row contents? Similar to Excel's filter feature.

    I would like to view only the rows in which the data in column x is some particular value. For instance, I'd like to view (and create a group of channels) containing only data from rows where the text in column 2 is MC1. ... guess I can't put a pictu

  • Urgent,Flashback Query............

    hi all, I did an update statement that updates 71500 records and i want to retrieve them my undo retention is 4 hours ,how can I retrieve them from SQLPLUS as text file to show all undo sql coz from the enrtreprise manager it will take a lot of time

  • Problem With Starting Mac

    Hi I have this problem with my Powerbook that Im trying to solve without having to reinstall the operating system. Heres what happened. I was using the Mac when an update popped up that was for the PowerPC and so i clicked install. As the update was

  • REP-52251 Cannot get output of job ID -2

    When Trying to Run a Report Getting This Error and only one person is getting this error as there are around 1000 + customers for whom the application is working fine and can generate the Report. REP-52251: Cannot get output of job ID -2 you requeste