Message "Lost" in a JMS adapter.

hi to all,
i need to connect XI to IBM Websphere MQ, using JMS adapter.
I did it well, i can exchange the message perfectly, but i have a strange behavior when websphere send message(XML) on queue with same_msgId for all message.
In this case i receive just the first of a series of message, and i "loose" the other, i know that the problem is the unique msgId of MQ, but how can i catch the error in jms adapter?
or how can i keep persistent the message in queue?
i've check the flag 'Transactional JMS session' to keep it persistent.
I wold like that mine JMS adapter answer with an error or don't consume the message keeping it in the queue.
thanks in advance
Claudio.

Hi Prateek,
i dont think by adapter module in this scenario you can raise an alert......because the problem is with uniqueness of msgID.........but every msg has a msgID so your adapter module will process every msg in the sameway.........but since the msgID is same, then only the first msg will be processed and the other msgs when they will try to store their msg processing data in XI database, they will fail because already the first msg processing data has that msgID, so the remaining msgs will be rollbacked by XI.............
Hi Claudio,
you will have to find a way in MQ to stop this thing of multiple msgs being generated by same msgID......i think there may be some property in MQ which will decide how and when a new msgID should be generated........just see this thing in MQ.............there should be a way in MQ which shall generate a unique msgID for each msg.........
Thanks,
Rajeev Gupta

Similar Messages

  • Messages Lost in MQueue: JMS Adapter

    Hi All
    It seems that we are loosing some messages after they have been succesfully send to the Queue using JMS Adapter.
    I checked in Message Monitor and RunTime workbench- Message Monitoring. Have send some 10-15 messages and their status is succesful. Though the message recieved in MQ are only 5. And there are no messages with error.
    What could be the reason, and how to check for the same.
    Best Regards
    Swetank

    Hi Prateek,
    i dont think by adapter module in this scenario you can raise an alert......because the problem is with uniqueness of msgID.........but every msg has a msgID so your adapter module will process every msg in the sameway.........but since the msgID is same, then only the first msg will be processed and the other msgs when they will try to store their msg processing data in XI database, they will fail because already the first msg processing data has that msgID, so the remaining msgs will be rollbacked by XI.............
    Hi Claudio,
    you will have to find a way in MQ to stop this thing of multiple msgs being generated by same msgID......i think there may be some property in MQ which will decide how and when a new msgID should be generated........just see this thing in MQ.............there should be a way in MQ which shall generate a unique msgID for each msg.........
    Thanks,
    Rajeev Gupta

  • Processing messages from MQ by JMS adapter

    Hi,
    I have a JMS adapter which reads messages from MQ and invokes a real time service.
    I am facing a problem.
    Suppose after processing my 3rd message fails , i get the error
    com.acta.adapter.sdk.RecoverableOperationAdapterException: JMS GET OPERATION ERROR : TIMEOUT.UNABLE TO RECEIVE RESPONSE FROM THE INVOKED DATA SERVICES SERVICE.ADAPTER OPERATION TO CONTINUE.
    Now ideally the error messages should go into an error queue and the remaining messages should be processed.
    But the remaining messages are also not getting processed.All subsequent  messages after erroneous message also get into error q.
    I have set continue after error property(In operations configuration) to True.
    I am using Get operation for JMS adapter.
    Any idea what could solve this issue?

    Hi Manoj,
    I have a very similar if not identical issue,
    Error while running realtime jobs that read from JMS tables via JMS MQ adapter:
    15/11/12 09:10:08  JMS GET OPERATION ERROR : TIMEOUT.UNABLE TO RECEIVE RESPONSE FROM THE INVOKED DATA SERVICES SERVICE.ADAPTER OPERA
    TION TO CONTINUE.
    15/11/12 09:10:15  Communication Error. See real time job log for details.
    Dump available:
    https://sapmats.wdf.sap.corp/download/download.cgi?id=5C0KZAHA3RSXBJW3ABLMUUT2P5UUKWO2TM3EJDM5W2HGDZUDID
    Version of DS:14.0.3.273
    Any comments?
    Thansk and kind Regards,
    Kenneth

  • How to set MQ message header properties using JMS adapter? (10.1.2)

    Hello,
    I am trying to send MQ messages from a BPEL process. We are using OAS 10.1.2 and JMS MQ adapter. Could you please let me know how to set the message descriptors like message format, type, report and reply to queue properties and queue open options (in jmsAdapterOutboundHeader).
    Regards,
    Geratayya

    put something like this
    <activationAgents>
          <activationAgent className="oracle.tip.adapter.fw.agent.jca.JCAActivationAgent" partnerLink="PARNERLINKNAME">
            <property name="clusterGroupId">SOMEUNIQUEVALUE</property>
            <property name="portType">PARTNERLINK_PORTTYPE</property>
          </activationAgent>
        </activationAgents>

  • Support for Topics in XI JMS Adapter

    Hello Everyone,
      I am trying to configure Topics instead of queues for JMS Adapter and I am not able to exchange messages with Topics. However, when I change Topics with Queues in JMS configuration file on XI 2.0, the scenario works okay.
      Can anyone let me know if JMS adapter for XI 2.0 or XI 3.0 supports topics. If yes, then what changes should I make in order to exchange messages with Topics via JMS adapter.
    Thanks,

    Hi Lalit,
    No support for JMS topics in SAP XI 2.0 nor XI 3.0.
    I don't know why it isn't supported.  Maybe SAP wants to avoid the hassle of configuring durable subscribers.  And customers forgetting to remove durable subscriptions whereby message pile up until the JMS broker runs out of disk space.
    Kind regards, Guy Crets

  • JMS Adapter Security

    Hi,
    Can any one tell me about JMS Adapter Security. How do we secure the message while using the JMS Adapter as sender/receiver.
    Thanks-
    Gaddale.

    This section summarizes how you can secure adapters running in the Plain J2SE Adapter Engine.
    The Plain J2SE Adapter Engine is only supported for compatibility reasons. It hosts only a subset of the adapter functionality and has fewer security features. You should only use the Plain J2SE Adapter Engine if it is a precondition in your environment. For more information, see the Plain J2SE Adapter Engine.
    User Administration
    The Plain J2SE Adapter Engine has a separate user and password management, which is not integrated into the overall SAP NetWeaver user administration. For more information, see Configuration.
    The Plain J2SE Adapter Engine provides three user roles for interactive users:
    &#9679;     Adapter Engine administrator
    With this role you administer the Plain J2SE Adapter Engine. It includes the user administration itself.
    &#9679;     Adapter configurator
    With this role you configure the individual adapters.
    &#9679;     Adapter user
    With this role you can view the adapter configurations.
    Additionally, there is a role for messaging, which has to be assigned to users that send messages to the Plain J2SE Adapter Engine:
    &#9679;     HTTP server user
    With respect to password management, you should always store passwords in the tokenized and obfuscated form as documented in Password Management.
    Securing Communication
    You should enable SSL for all HTTP-based communication to and from the Plain J2SE Adapter Engine:
    &#9679;     Communication to and from the Integration Server
    &#9679;     Communication to and from an external SOAP communication partner
    If possible, you should also encrypt the communication to and from the JMS provider.
    The J2SE Adapter Engine uses SSL only for communication line encryption, not for client and server authentications. Since this is a drawback with respect to security, you should use the J2EE Adapter Engine in insecure environments.
    Securing Resources
    All configuration data for the Plain J2SE Adapter Engine is maintained in flat property files.
    The file for the engine administration data itself is located in the following directory:
    <installation directory>/tech_adapter/BaseConfiguration
    The file for the adapter configuration data is located in the following directory:
    <installation directory>/tech_adapter/Configuration
    The adapters of the Plain J2SE Adapter Engine are configured locally and not in the Integration Directory. Exchanged messages are also stored directly in the file system.
    Therefore, ensure that only the operating system user, who has started and therefore owns the adapter engine process, can read the property files and has access to the directories used for message exchange.
    Thanks
    Prabhakar....

  • Missing Messages by JMS Adapter

    We are using JMS adapter to send the X12 messages to XI and we are having intermittent issues when the server load is high or server is given a restart.
    Some of the messages from MQ are not processed by the adapter and are lost.
    We have to resend  the messages again.
    has anyone face similar problems in prod. Solution for the problem would be awarded full points

    Hi,
    check the "Transactional JMS Session (Recommended)" check box.
    Then no message loss will happen from MQ.If there is any messages loss, go and check the dead lock Queue.

  • 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

  • JMS Adapter setting the header data of MQ message

    Hi All,
    I need to set the properties in JMS adapter for setting the header data of MQ message.
    JMS_IBM_MQMD_Format = MQFMT_NONE.
    Thanks in advance
    Ravijeet

    Hi All,
    I am stuck in a typical XI issue.......I have a scenario where my input to XI is IDoc and output is xml message going to IBM MQ.
    The IDoc is sending some chineese character which is fine is SXMB_MONI Integration server and also fine in the payload of message monitoring, so feel the message is going fine from XI to MQ.
    But the receiver EDI system which is picking the message from MQ queue says the chinese characters are getting corrupted. They say that you need to set the additional properties in MQ header data
    JMS_IBM_MQMD_Format = MQFMT_NONE.
    How do I do this in communication channel for jms adapter ? How to I set the MQ header data in jms communication channel ?
    Thanks in advance
    Ravijeet
    Edited by: RAVIJEET DAS on May 12, 2009 8:27 AM
    Edited by: RAVIJEET DAS on May 12, 2009 8:27 AM

  • 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

  • How to hanlde breaked large messages in sender JMS adapter

    Hi,
    I have been asked like 'how can we handle breaked large messages in sender JMS adapter?'and lets say I am getting some messages as it is and some are breaked into small segements for the mesaages that are large....
    do we need to use module,if so is there any standard module that we can use to hanlde this type of scenarios?
    thank you in advance.
    babu

    http://biemond.blogspot.com/2009/10/jms-request-reply-interaction-pattern.html
    if you check the blog of edwin, see his comments at the bottom
    there he gives a suggestion how to add the selector properties to filter on
    and this one is maybe helpfull
    http://blogs.oracle.com/adapters/2010/05/configuring_request-reply_in_jmsadapter.html

  • Missing message in JMS adapter sender

    Hi,
    we have a synchronous interface with a JMS adapter. The scenario is:
    ECC 5.0 -> XI -> MQSeries -> XI -> ECC 5.0
    We put the message in the queue MQ correctly and we get the response message. I can see this in the adapter monitoring in RuntimeWorkbench. But from this moment the message is missing. I can't see anything in the bpm monitoring (SXMB_MONI_BPE). The bpm stops in workitem receive but doesn't return any error.
    I don't know how to see where we lose the message and why.
    Thanks for advance.
    Paloma

    Hi,
    Can you see your message in SXMB_MONI? Is your BPM is in running state in sxmb_moni?
    You can double click on "PE" in sxmb_moni. It will take you to the Workflow display. Then click on button Technical details,which will show you all steps and if you expand all branches..you should be able to see your error / exception message in case if any.
    Please check n let us know the result.
    Nilesh

  • Adapter Status Error :  Error in creating message ID map for JMS message:

    Currently in the SAP XI 3.0 JMS Adapter, I am receiving the following error
    Error in creating message ID map for JMS message:
    ie. Error while processing message 'de8265f6-c864-4479-1137-9bab17b78b3b';  detailed error description: com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Error in creating message ID map for JMS message: ID:c3e2d840d8d4d7f14040404040404040c44f8e2213630b01 at com.sap.aii.adapter.jms.core.channel.filter.InboundDuplicateCheckFilter.filter(InboundDuplicateCheckFilter.java:103)
    Although I am receivng this error, when I check the details of the message processing, all steps are successful and the message is set to status : DLVD
    Audit Log for Message: de8265f6-c864-4479-1137-9bab17b78b3b
    Time Stamp     Status     Description
    09.06.2009 13:27:24     Success     New JMS message with JMS message ID ID:c3e2d840d8d4d7f14040404040404040c44f8e2213630b01 received. The XI message ID for this message is de8265f6-c864-4479-1137-9bab17b78b3b
    09.06.2009 13:27:24     Success     JMS message converted to XI message format successfully
    09.06.2009 13:27:24     Success     RRB: entering RequestResponseBean
    09.06.2009 13:27:24     Success     RRB: suspending the transaction
    09.06.2009 13:27:24     Success     RRB: passing through ...
    09.06.2009 13:27:24     Success     RRB: leaving RequestResponseBean
    09.06.2009 13:27:24     Success     Transform: using Transform.Class: com.sap.aii.messaging.adapter.Conversion
    09.06.2009 13:27:24     Success     Transform: transforming the payload ...
    09.06.2009 13:27:24     Success     Transform: successfully transformed
    09.06.2009 13:27:24     Success     Application attempting to send an XI message synchronously using connection JMS_http://sap.com/xi/XI/System.
    09.06.2009 13:27:24     Success     Trying to put the message into the call queue.
    09.06.2009 13:27:24     Success     Message successfully put into the queue.
    09.06.2009 13:27:24     Success     The message was successfully retrieved from the call queue.
    09.06.2009 13:27:24     Success     The message status set to DLNG.
    09.06.2009 13:27:25     Success     The application sent the message synchronously using connection JMS_http://sap.com/xi/XI/System. Returning to application.
    09.06.2009 13:27:25     Success     The message was successfully transmitted to endpoint http://sapxia.swets.nl:8000/sap/xi/engine?type=entry using connection JMS_http://sap.com/xi/XI/System.
    09.06.2009 13:27:25     Success     The message status set to DLVD.
    Not sure why this is occurring.......

    No, not using correlation id.
    I was able to resolve the issue on this queue by changing the following setting
    Under the PROCESSING tab, under XI SETTINGS
    Time period for Duplicate Check for EO(IO) (secs) it was set to 86400
    I have changed this to 300 seconds and the adapter has now gone green.
    BUT......
    That said, I have the exact scenario on another sender JMS channel set to 300 seconds and it exhibits the same issue.
    correlation settings:
    Set XI message id  to  = GUID
    Set Xi conversation

  • JMS adapter could not receive message from Tibco EMS topic

    I'm trying to consume message from tibco EMS topic using Oracle SOA JMS adapter. Can anyone please let me know the steps to do this. Appreciate your help.
    Thanks,
    SB

    Increase Log level for cube.activation to debug and check the logs by stopping & starting the activation agent(I mean Retire and activate the process) .. It should give a clue on what's happening..

  • JMS Adapter - Queue Message Loss

    Hi Folks,
    I am working on MQ - to - File Scenario, working fine. But some Cases message is fail in SMQ1 & SMQ2, I am not able to re-process that message because of that messages are System Error.
    So My Problem was, Once JMS Adapter is pick the Data from MQ, no more data in MQ, some cases message is fail, We can't re-process that message, So i dont want to lose that data.
    How can i recover that MQ Data...
    Thanks for help,

    Hi S R,
    What is the error detail in SMQ1,SMQ2?
    Did you try to reprocess them from execute luws? try to change the status to recorded if possible.then execute again.
    thanks

Maybe you are looking for

  • Issue with paper type when remote printing

    Hello we have an issue with printing from redirected printer on the local machine Windows 8.1 i have a printer installed and when i try to print from a remote pc to my installed printer on my local pc the paper type is replaced. on the local printer

  • Want to store the text of most recently executed query in a table

    Hi, I know that there is a data dictionary table or view (i forget the name, if someone can tell, i will appreciate) which can show me the most recently executed query. If i am using some web based front end and want to store the most recently execut

  • Reuse_alv_grid_display enable the row  in newly entered row

    Hello gurus, there is custom program where they have used the REUSE_ALV_GRID_DISPLAY,in this i have added one custom button by clicking on it, in the output a new row should be entered so that the user can enter new record and able to save , in my ca

  • Starting J2EE(ABAP+Java Add In)

    Hi We've got BW 3.5 on Sap NetWeaver 2004 ABAP + Java (Java Add-In). We've got the problem with starting it. Our system is on 1 server x64. We've got Windows 2003 Server. DataBase Oracle. So in MMC everything is OK. We've got ABAP + Java instance (pr

  • Need help PS.

    Hi BW Experts,   I am new to Project Systems.In one of my report, I want to display the Project details.I hope in PS, Project definition is the top layer , behind that WBS Element,Activity and Networks are the sub divisions.I would like to know is th