JMS Receiver Module configuration

my xml is like this
   <row>
      --<Header>
<key>Header</key>
<name>1111111</name>
      --</Header>
      --<Body>
<key>Body</key>
<name>2222222</name>
      --</Body>
      --<Body>
<key>Body</key>
<name>3333333</name>
      --</Body>
      --<Foot>
<key>Foot</key>
<name>444444</name>
      </Foot>
   </row>
and i want to change it into :
Header+1111111
Body-222222
Body-333333
Foot*444444
and my module config is like this:<b>
Transform.Class = sap.aii.messaging.adapter.Conversion
Transform.ContentType = text/plain;charset=utf-8
xml.conversionType = SimpleXML2Plain
xml.addHeaderLine = 0
xml.recordsetStructure = Header,Body,Foot
xml.fieldSeparator    = 'nl'
xml.Body.fieldSeparator = -
xml.Foot.fieldSeparator = *
xml.Header.fieldSeparator = +
</b>
But the result i get just:
<b>
Header
Body
Body
Foot
</b>
Somebody help me please
Thanks in advance

Hi,
Go thro this guide:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
And i think that there should be a element as a root to all these. Just try with this xml structure.
<resultset>
-<row>
--<Header>
<key>Header</key>
<name>1111111</name>
--</Header>
-</row>
-<row>
--<Body>
<key>Body</key>
<name>2222222</name>
--</Body>
-</row>
-<row>
--<Body>
<key>Body</key>
<name>3333333</name>
--</Body>
-</row>
-<row>
--<Foot>
<key>Foot</key>
<name>444444</name>
--</Foot>
-</row>
<resultset>
Regards,
P.Venkat
Message was edited by:
        Venkataramanan

Similar Messages

  • Receiver Module Configuration Issue

    Hi All,
    I have done the following Module Configuration in Receiver JMS Adapter, but facing issue in the Length of the Flat File received in JMS.
    it is having only 512 characters, i got clue that is because of   localejbs/SAP XI JMS Adapter/ConvertMessageToBinary.
    Binary can accept only 512 characters.
    I  need convert the message to TEXT. Please help me on this.
    Processing Sequence
    1                  localejbs/AF_Modules/MessageTransformBean            Local Enterprise Bean                          XML2Plain
    2                  localejbs/SAP XI JMS Adapter/ConvertMessageToBinary   Local Enterprise Bean                          convert_XI2Bin
    3                  localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService  Local Enterprise Bean     exit
    Module Configuration.
    XML2Plain     Transform.Class     com.sap.aii.messaging.adapter.Conversion
    XML2Plain     Transform.ContentType     text/plain;charset=utf-8
    XML2Plain     xml.addHeaderLine     0
    XML2Plain     xml.conversionType     SimpleXML2Plain
    XML2Plain     xml.endSeparator     'nl'
    XML2Plain     xml.fieldFixedLengths     10,15,10,10,15,13,13,13,15,2,30,1,10,10,10,10,8,10,10,10,8,11,11,3,3,1,1,15,10,15,1,30,15,15,10,8,15,10,10,15,15,4,8,1,2,8,35,11,10,10
    XML2Plain     xml.fixedLengthTooShortHandling     Cut
    exit     JMSMessageType     Text
    Regards,
    R.Ragu

    Hi Ragu,
    Can you please elaborate on this issue a bit more...?
    The Module Configuration looks fine to me.....
    Thanks
    Dhwani

  • JMS Receiver Adapter configuration help

    Hi Experts,
    In our scenario, we need to integrate MQ series with SAP PI, where in we are using JMS Sender and Receiver adapters to put and get the mssg from correponding IBM MQ queues.
    Using Sender JMS Adapter we are consuming a txt mssg by specifying corresponding module configuration parameters, which is for converting into a XML mssg.
    The issue is with JMS Receiver adapter, Inorder to get an XML mssg apart from standard/default entries ... do we need to maintain any module configuration parameters?
    thnx

    Hi RajSekhar,
    We have maintained the below modules in the respective comm channels:
    Sender JMS channel:
    ConvertJMSMessageToBinary
    ConvertBinaryToXMBMessage
    MessageTransformBean
    CallSapAdapter
    Note: Maintained the necessary message transform bean module key parameters in the module configuration
    Receiver JMS Channel:
    ConvertMessageToBinary
    SendBinarytoXIJMSService
    Did not alter the by default modules in the Receiver JMS comm channel.
    Am i missing any other configuration.
    Thnx

  • JMS receiver adapter configuration error

    Hi All,
    I am facing an issue with JMS receiver adapter. My Configuration parameters for receiver adapter are as follows.
    1.Transport protocol:WebspherMQ (MQSeries) JMS provied
    2.Message porotocol:JMS 1.x
    3.Adapter Enigen: Integration Server
    4.QueueConnecation Factory Java Class:com.ibm.mq.jms.MQQueueConnectionFactory
    5.Queue Java Class:com.ibm.mq.jms.MQQueue
    6.IP Address or server name:<Host Name>
    7.Server port:1414
    8.Queue Mannager Name:TestQM
    9.channal name:Recv_Channel
    10.JMS queue:SAP_PI
    11.Transport/netwrok protocol:TCP/IP
    12.JMS compliant:WebSpherMQ(non jms)
    13.Delivery mode of message Producer:Persist JMS Messages in the JMS provider
    14.Mapping of message:Message Payload=JMS Payload
    In adapter monitor, the adapter status shows below error.
    <b>Receiver channel. Details: (No detail information set.)</b>
    I have already installed the external drivers for JMS adapter. Can someone help me if I am missing some parameter in the above configuration.
    Thanks in advance
    Regards,
    Ashish

    Hi,
    I am getting the below error in Audit Log.
    Error - Exception caught by adapter framework: The JMSSender returned no JMSTextMessage to use. Must abort send process.
    Error - Delivery of the message to the application using connection AFW failed, due to: The JMSSender returned no JMSTextMessage to use. Must abort send process..
    Can someone please help me in resolving this issue...
    Thanks in advance.
    Regards,
    Ashish

  • Sync/Async communication with JMS Receiver

    Hi all,
    I am working on one Sync/Async model without BPM. Sender is  RFC which is expecting some response, but we know receiver jms doesnt support response message directly. For this i used modules provided by SAP.
    While developing interface i used below objects.
    One Outbound Synchronous interface--> for Sender RFC channel
    Inbound Synchronous Interface----->for Receiver JMS Channel
    outbound asynchronous interface--->for Sender JMS channel
    one request mapping and one response mapping
    Operational mapping between outbound Synchronous to inbound synchronous.
    ID Objects:
    2 sender agreements: one with sender jms channel
                                         one with sender rfc channel
    1 receiver agreement: with jms receiver channel
    1 receiver determination
    1 interface determination
    In receiver jms and sender jms channels i used modules as specified in the document http://help.sap.com/saphelp_nw04/helpdata/EN/45/20d2b4c20a0732e10000000a155369/content.htm
    But my interface is not working end to end successfully.
    Please confirm below points
    1)do i need to have other external application put response message to response queue or will the MQ automatically generates the response message and put into response queue
    2)In receiver jms channel is it ok if i will put response queue(Q2) name in the field JMS ReplyTo Queue Name or do i need to put in the form queue://<ReplyToQMgr>/<ReplyToQ>
    3). what is the format of data type for asynchronous outbound interface which i used for sender agreement of jms sender channel.
    4). Do i need to do any other special settings at MQ settings in MQ server.
    Note: i am using PI7.1 and i selected the option JMS-compliant for target client in jms channels.
    Thanks,
    Madhu
    Edited by: Madhusudana Reddy on Nov 4, 2009 9:38 AM

    1)do i need to have other external application put response message to response queue or will the MQ automatically generates the response message and put into response queue
    The following information is available in SAP note-
    Message correlation implies correlating a response message with a request message. With respect to the JMS adapter, this means that you sent have sent a message through a JMS receiver channel to some JMS queue (say queueA) , some external application processes this message and puts the response onto another JMS queue(say queueB) which is then picked up by a JMS sender channel. You need to relate this response message with the original request message.
    In the simple case, for all JMS compliant providers this can be done in a straightforward manner:
    a) In the JMS receiver channel configuration, set the JMSCorrelationID to the XIMessageID. (or some other XI header which is applicable)
    b) Ensure that your external application does not change the value of the JMSCorrelation
    c) In the JMS sender channel configuration, set the XIConversationID to the JMSCorrelationID
    d) The XIConversationID header of the response XI message now contains the XIMessageID of the request XI message.
    For some providers such as Websphere MQ in legacy/native mode this is not so straightforward.
    Do i need to do any other special settings at MQ settings in MQ server.
    If your using Websphere MQ, refer que#4 in sap note :1086303
    Edited by: nagarjuna _s on Nov 4, 2009 11:02 AM

  • Debugging JMS adapter with Module Configuration

    Hi.
    I have a problem debugging my JMS adapter with module configuration.
    All I get from the Message Monitor is a status "System Error", and no error category or error message.
    I know there's an error in my Module configuration design, since it works fine without.
    My configuration looks like this:
    PROCESSING SEQUENCE:
    1     localejbs/AF_Modules/MessageTransformBean     Local Enterprise Bean     XML2Plain
    2     localejbs/SAP XI JMS Adapter/ConvertMessageToBinary     Local Enterprise Bean     convert_XI2Bin
    3     localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService     Local Enterprise Bean     exit
    MODULE CONFIGURATION:
    XML2Plain     Transform.Class     com.sap.aii.messaging.adapter.Conversion
    XML2Plain     Transform.ContentType     text/plain;charset=utf-8
    XML2Plain     xml.conversionType     StructXML2Plain
    XML2Plain     xml.addHeaderLine     0
    XML2Plain     xml.recordsetStructure     STARTRECORD,DATARECORD,SERVICEYDELSERRECORD,SLUTRECORD
    XML2Plain     xml.STARTRECORD.fieldFixedLengths     2,8,6,7,10,7,3,3
    XML2Plain     xml.DATARECORD.fieldFixedLengths     2,8,6,4,35,17,7,7,7,5,5,5,18,18,18,18,18,18,18,18,18,9
    XML2Plain     xml.SERVICEYDELSERRECORD.fieldFixedLengths     2,8,6,4,3,20,18,18,18
    XML2Plain     xml.SLUTRECORD.fieldFixedLengths     2,8,6,7,10,7
    XML2Plain     xml.STARTRECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.DATARECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.SERVICEYDELSERRECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.SLUTRECORD.fixedLengthTooShortHandling     Cut
    The structure of the message looks like this:
    <STARTRECORD> (occurence = 1)
    <DATARECORD> (occurence = 1..unbounded)
    --- <SERVICEYDELSERRECORD> (occurence = 0..unbounded)
    <SLUTRECORD> (occurence = 1)
    I've crosschecked every field, and it length and all looks like it should!
    The worst part is the one not getting the reason why it fails. Any way I can get this information?
    I've tried to look in the Adapter Framework log, but I have no clue where to look for anything usefull.
    Help
    Regards Peter

    Hello,
    Below is the module configuration in my JMS sender channel:
    Check Message          Local Enterprise Bean          key
    ConvertJMSMessageToBinary      Local Enterprise Bean      convert_JMS2Bin
    ConvertBinaryToXMBMessage     Local Enterprise Bean      convert_Bin2XI
    CallSapAdapter                Local Enterprise Bean          call_AF_MS
    CheckMessage is a custom module which does some check on the incoming message.
    Now what I want to know is at which position should I include the DynamicConfiguration Bean? Should it be included at position 1 or at position 2 or someother position?
    ~Thanks.

  • PI SFTP RECEIVER ADAPTER MODULE CONFIGURATION

    Hi,
    I am new in SFTP adapter. I want to transfer file from proxy to SFTP. I want to output file is in csv format. But now it is in  xml format.
    Please help me!!!
    My module configuration is in attachment..

    Hi
    I have got the problem. You have to modify your target structure in the below format
    <row>
    <column-name1>ABC</column-name1>
    <column-name2>12345</column-name2>
    <column-name3>Text1</column-name3>
    </row>
    Create any parent node and inside that create the sub-eliment STATUS and USERID
    something like
    MT_Succefactor
       <record>
       <STATUS>
       <USERID>
        </record
    Then you will get the desired output. Use the below content conversion paramters

  • Issue with JMS Receiver Comm. Channel using Seeburger AttribMapper

    Hello,
    I'm using a JMS_RECEIVER Comm. Channel on which the Seeburger AttribMapper is configured (I need to use the DCJMSCorreleationID dynamic attribute).
    In the module tab, I added a new module:
    Module Name Module Type Module Key
    localejbs/Seeburger/AttribMapper Local Enterprise Bean map
    And I added the following parameter:
    Module Key Parameter Name Parameter Value
    map http://sap.com/xi/XI/System/JMS/DCJMSCorreleationID "TEST"
    When processing a message, I get the following error on the Communication Channel Monitoring:
    Message processing failed. Cause: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of AttribMapper.
    Does anyone has an idea on how to fix this problem?
    Thanks for your help!
    Benoit

    HI,
    Refer the discussion of
    Setting DCJMSCorreleationID in JMS RECEIVER using Seeburger AttribMapper
    Dynamic subject in AS2 receiver
    Thanks
    Swarup

  • Send Idoc flat file message in JMS receiver adapter

    Hello,
    I am working on a scenario where we send Delvry 03 idoc from ECC to external system. To external system, we send the whole Idoc in flat file structure through JMS queue. I have used Idoc to flat file program in my interface mapping and have configured JMS receiver adapter with just default Module configs but, I am getting an error in communication channel monitoring for the messages.
    Please note that Idoc xml to flat file structure conversion is already done in the mapping, I need to just pass this idoc flat structure in the jms adapter. Hence ther eis no content conversion i nthe adapter..
    Please give some inputs..Here are the modules in my receiver adapter and nothing else..
    SAP XI JMS Adapter/ConvertMessageToBinary
    SAP XI JMS Adapter/SendBinarytoXIJMSService
    The error I get is in audit log
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: No transition found from state: ERROR, on event: process_commence for DFA: CC_JMS_R:ca336a6689f837da8bd3387140fc4447
    in turn the message has this error if I open the message
    Whitespace is not allowed at this location. Error processing resource 'http://host:port/mdt/messageconten...
    and it shows one of the lines from idoc..flat file
    Any idea is greatly appreciated..Thank you..Thanujja

    The difference in what I suggest is that it is way simpler.
    Maybe you did not understand this, so will try to explain it better. Its not the best thing to do, but if JMS adapter doesn't budge then you can give it a shot.
    1. You continue to use the ABAP mapping in your interface mapping to map the Idoc xml to Idoc flat.
    2. Write a Java Map that will take the output of the ABAP mapping ; and then create a XML output which would be something like,
    <Root>
    <Idoc_Flat>
    <Data>ABAP Mapping Output<Data>
    </Idoc_Flat>
    </Root>
    3. Now use the simple content conversion in the JMS adapter to convert this to flat file.
    Regards
    Bhavesh

  • JMS Type in JMS Receiver

    Experts
    I need to send JMS Type to the JMS Receiver.
    The following UDF was used.
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey keyHeader1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS","DCJMSType");
    String a="341";
    conf.put(keyHeader1,a);
    return "";
    Selected ASMA in the Receiver channel. Anything else needs to be done ?
    Thanks and regards,
    J Augastine

    Abhishek
    Modified the UDF.
    Also
    In the  JMS Receiver channel did the following
    - Checked the box for 'Use Adapter Specific Message Attributes'
    - Checked the box for 'Fail if Adapter Specific Message Attributes missing'
    - Checked the box for 'Specify Additional JMS Message Properties'
    - Defined  property in the table and set the Java type
    DCJMSMessageProperty0      String
    Under the Module tab,
    - Added the module AF_Modules/DynamicConfigurationBean in position 1 with module key HEADER
    - Added module configuration as follows:
    Module key HEADER
    Parameter name key.0
    Parameter value write http://sap.com/xi/XI/System/JMS DCJMSMessageProperty0
    Module key HEADER
    Parameter name value.0
    Parameter value JMS DCJMSMessageProperty0
    What change needs to be done ???

  • Setting DCJMSCorreleationID in JMS RECEIVER using Seeburger AttribMapper

    Hello
    Has anyone managed to set the DCJMSCorreleationID dynamic attribute in a JMS RECEIVER using Seeburger AttribMapper module?
    Here is how I configured the JMS_RECEIVER:
    In the module tab, I added a new module:
    Module Name     Module Type     Module Key
    localejbs/Seeburger/AttribMapper     Local Enterprise Bean     map
    And I added the following parameter:
    Module Key     Parameter Name                                                       Parameter Value
    map                     http://sap.com/xi/XI/System/JMS/DCJMSCorreleationID  "TEST"
    When I process a message, I can see in the adapter engine Audit log the following lines:
    SEEBURGER/AttribMapper: Setting dynamic property http://sap.com/xi/XI/System/JMS - DCJMSCorreleationID = TEST
    SEEBURGER/AttribMapper: Finished succesfully, 1 properties set or deleted     
    However looking at the Message Content/SOAP Document, I can see no dynamicConfiguration (it should be the case according to Seeburger documentation).
    If I check the message properties on the JMS queue, I can see the correlation ID is not set to TEST.
    Any idea?
    Thanks in advance!
    Greg

    Are you using the AttribMapper in the Sender or in the Receiver Channel ? Please be aware that you will not be able to see the change of attribmapper in the message content in receiver channels (they are not updated/persisted there).

  • JMS Receiver Adaptor error

    Hi,
    I am facing issue in JMS receiver adapter can you please give me some suggestions.
    JMS adaptor: Message processing failed. Cause: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Path to object does not exist at ABC_JMSReceiver_ModuleEAR, the whole lookup name is localejbs/sap.com/XXX_JMSReceiver_ModuleEAR/parseOutputStream.
    Thanks&Regards
    Sreenath

    Hi Sreenath,
    It seems that you have defined some module at the JMS Receiver end.....can you tell me what module have you defined....
    This error is related to that module.....and there may be an error in the module configuration...
    Request you to recheck the module configuration.
    Cheers
    Dhwani

  • JMS Receiver channel : No Correlation ID

    Hi,
    JMS Receiver channel to WebSphere MQ,
    I want to put a message on the queue with correlation ID left blank (= no correlation ID), because this causes problems on the receiving side.
    Is there a way to achieve this?
    I have tried several different settings, but the message appears always with correlation ID.
    Kind Regards
    Edmond Paulussen

    I think you should use the notify response bean on the sender channel
    Configuring the Sync/Async Bridge Using the JMS Adapter -  Adding Modules to the Module Processor - SAP Library
    Sync/Async communication in JMS adapter without BPM (SP19)

  • MessageSplit from JDBC-Sender to JMS-Receiver

    Dear all,
    we are getting data in a resultset from JDBC-Sender and have to process each row as a own message. When we use message-splitting we are not able to generate plainText for the receiving JMS-channel. So we thought that we first have to generate xml and afterwards in JMS-Receiver-Adapter we have to use MessageTransformBean Struct2XML, but it does not work.
    Howcan we achieve this?
    Here is our mapping:
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0"
         xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:output method="text" encoding="utf-8" />
         <xsl:template match="//resultset">
              <xsl:text disable-output-escaping="yes">&lt;ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"></xsl:text>
              <xsl:text disable-output-escaping="yes">&lt;ns0:Message1></xsl:text>
              <xsl:for-each select="row">
                        <xsl:value-of select="NODENAME" />
              </xsl:for-each>
              <xsl:text disable-output-escaping="yes">&lt;/ns0:Message1></xsl:text>
              <xsl:text disable-output-escaping="yes">&lt;/ns0:Messages></xsl:text>
         </xsl:template>
    </xsl:stylesheet>

    Hi Abid,
    we've tried it with MessageTransformBean, but unfortunately we were'nt able to generate the correct messages for JMS.
    If we adapt our original mapping to that one below than we are able to send  2 messages to JMS having the xml-structure. Now, we just have to remove the xml structure. How do we have to configure the Module-Tab? Which one's are the exact parameters we have to use?
    new MAPPING:
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0"
         xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:output method="xml" encoding="utf-8" />
         <xsl:template match="//resultset">
              <xsl:text disable-output-escaping="yes">&lt;ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"></xsl:text>
              <xsl:text disable-output-escaping="yes">&lt;ns0:Message1></xsl:text>
              <xsl:for-each select="row">
                   <MSG>
                        <xsl:value-of select="NODENAME" />
                   </MSG>
              </xsl:for-each>
              <xsl:text disable-output-escaping="yes">&lt;/ns0:Message1></xsl:text>
              <xsl:text disable-output-escaping="yes">&lt;/ns0:Messages></xsl:text>
         </xsl:template>
    </xsl:stylesheet>
    resulting messages:
    <?xml version="1.0" encoding="utf-8" ?><MSG>VALUE_1</MSG>
    <?xml version="1.0" encoding="utf-8" ?><MSG>VALUE_2</MSG>
    Kind regards, Stefan

  • How to avoid end separator in JMS receiver adapter

    Hi All,
    I don't want to have any end separator for the JMS receiver adapter. By default it is line break. But my requirement is I don't want any end separator i.e.I want the output to be a single line of text.
    What should I do in the module configuration of JMS receiver adapter to achieve this?
    If any body can help me in this I promise to reward the answer.
    Thanks
    Abinash

    I have solved the problem .
    Thanks
    Abinash

Maybe you are looking for