Transactional Session JMS Adapter

Hi,
i'm using a JMS sender and receiver adapter. Everything works but i can't understand if it'could be better to use a Transactional Session in Jms setting. I've found a lot of documentation about jms adapter configuration, but not so much information about Transactional Session field.
Could somebody explain me something more??
When can i use transactional session?
Thanks a lot.
Bye, bye..

Hi,
The Transactional Session in JMS is used to persist the messages or may get roll back if in case of failure.
The JMS adapter (Java Message Service) enables you to connect messaging systems to the Integration Engine or the PCK. The messages will be processed in Queue i.e WebSphere MQ series, SonicMQ and others...
Suppose in case of failure of the connectivity the messages maintained in queue may lost. That would be serious problem if the queue is maintained with the messages having important data from production landscape.
If you enable a transactional JMS session, set the indicator. The processing of a message will be safe, a transactional session ends either with a COMMIT, or in the case of an error, with a ROLLBACK. So there will not be any chance of loss of the messages in queue.
If the session is not transactional, there can be duplicates or lost messages.
I hope now it will pretty clear to you the purpose of Transactional session.
Thanks
Swarup

Similar Messages

  • OCEP JMS Adapter implement InboundMessageConverter issue

    Hello,
    I'm new to OCEP. I have a JMS adapter receiving Weblogic JMS message. JMS Message is a TextMessage, so the default MapMessage can't convert it. I need to write my own converter which implement InboundMessageConvert. Eclipse compiles just fine, but when deploying into a runtime OCEP environment, I get an error saying that my custom converter class does not implement InboundMessageConverter which I did. Did anyone encounter this issue and how to get around it?
    I also tried the sample code provided in Developer Guide and it doesn't work. My code bellow is a sample to by pass the deployment issue..
    package com.converter;
    import com.bea.wlevs.adapters.jms.api.InboundMessageConverter;
    import com.bea.wlevs.adapters.jms.api.MessageConverterException;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import java.util.List;
    public class MyMessageConverter
    implements InboundMessageConverter
    public MyMessageConverter(){
    super();
    public List convert(Message message) throws MessageConverterException, JMSException
    return null;
    --- error message when deploy to runtime environment ---
    <Mar 22, 2010 10:30:57 AM PDT> <Error> <Deployment> <BEA-2045010> <The application context "FilteringEvent" could not be started: org.springframework.beans.FatalBeanException: Error in context lifecycle initialization; nested exception is java.lang.IllegalArgumentException: converter-bean com.converter.MyMessageConverter does not implement InboundMessageConverter
    org.springframework.beans.FatalBeanException: Error in context lifecycle initialization; nested exception is java.lang.IllegalArgumentException: converter-bean com.converter.MyMessageConverter does not implement InboundMessageConverter
    at com.bea.wlevs.spring.ApplicationContextLifecycle.onApplicationEvent(ApplicationContextLifecycle.java:136)
    at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
    at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
    at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
    at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235)
    at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:358)
    at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
    at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
    at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136)
    at org.springframework.scheduling.commonj.DelegatingWork.run(DelegatingWork.java:61)
    at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:196)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

    Hi,
    I have included the following two lines into the Manifest file, but this action has not fixed the problem:
    com.bea.wlevs.adapters.jms;version="11.1.1.4_0",
    com.bea.wlevs.adapters.jms.api;version="11.1.1.4_0"
    My EPN file is as shown:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:osgi="http://www.springframework.org/schema/osgi"
    xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
    xmlns:jdbc="http://www.oracle.com/ns/ocep/jdbc"
    xmlns:spatial="http://www.oracle.com/ns/ocep/spatial"
    xmlns:application="http://www.bea.com/ns/wlevs/config/application"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/osgi
    http://www.springframework.org/schema/osgi/spring-osgi.xsd
    http://www.bea.com/ns/wlevs/spring
    http://www.bea.com/ns/wlevs/spring/spring-wlevs-v11_1_1_3.xsd
    http://www.oracle.com/ns/ocep/jdbc
    http://www.oracle.com/ns/ocep/jdbc/ocep-jdbc.xsd
    http://www.oracle.com/ns/ocep/spatial
    http://www.oracle.com/ns/ocep/spatial/ocep-spatial.xsd
    http://www.bea.com/ns/wlevs/config/application
    http://www.bea.com/ns/wlevs/config/application/wlevs_application_config.xsd">
         <bean id="myConverter" class="com.bea.wlevs.adapter.example.jmsclient.JMSClient"/>
         <wlevs:adapter id="jmsInbound" provider="jms-inbound">
              <wlevs:instance-property name="converterBean" ref="myConverter"/>
         </wlevs:adapter>
         <application:jms-adapter>
    <application:name>jmsInbound</application:name>
    <application:jndi-provider-url>t3://localhost:9002</application:jndi-provider-url>
    <application:destination-jndi-name>Queue1</application:destination-jndi-name>
    <application:user>wlevs</application:user>
    <application:password>123456</application:password>
    <application:work-manager>JettyWorkManager</application:work-manager>
    <application:concurrent-consumers>1</application:concurrent-consumers>
    <application:session-transacted>false</application:session-transacted>
    </application:jms-adapter>
    <wlevs:event-type-repository>
    The error showned by Eclipse is:
    Multiple annotations found at this line:
         - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'application:jms-adapter'.
         - schema_reference.4: Failed to read schema document 'http://www.bea.com/ns/wlevs/config/application/
         wlevs_application_config.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the
         document is not <xsd:schema>.
    Thanks!
    Edited by: 899693 on 15-dic-2011 2:48

  • JMS adapter Usage

    Hi,
    JMS Adapter usage: BPEL process1 sends message to a JMS Queue.
    Bpel process2 subscribes to the same queue. For some reason Bpel process2 fails.
    What happens to the message?
    Thanks
    Nirmal

    If the consumer BPEL is asynchrnous, then the BPEL cannot be a part of the global transaction (with JMS Adapter).
    If the consume BPEL is synchronous, then the BPEL can be a part of the global transaction (with JMS Adapter).
    In the second case, if the BPEL transaction fails, then the jca.retry will happen i.e., the message is given to the BPEL instance again for jca.retry number of times, if it fails all the times, we can set paramaters such that the message is redirected to another queue...
    go to the Delivery Failure tab of the JMS queue/topic, and give the values for the following properties...
    Redelivery Limit : 3
    Expiration Policy : Redirect
    And also give the queue name where you want to redirect the message...
    Transaction in Oracle SOA 11g - BPEL
    Hope this helps
    N

  • JMS adapter transaction. Rollback message to queue.

    Hi all !
    A have question about jms adapter transaction. My composite application has 3 steps : JMS adapter (listener), mediator, WS adapter. JMS adapter listen queue push message to mediator, mediator invoke web service. If ws not available (server down), mediator try recovery 5 times. After 5 times, reject message from queue. I wont rollback message to queue. I saw examples with JMS + BPEL, but it not help me. Anybody can help me.

    Hi,
    You don’t need to catch a mediator fault – you can let it rollback to the JMS Queue and let the Queue do the retries.
    To get the retries working, log in to the weblogic console and navigate to JMS Modules -> Your Module -> Your Queue -> Configuration -> Delivery Failure
    Here you will find options for Redelivery Limit. Set this to the number of retries you need.
    Then navigate to the connection factory you want and set the redelivery delay.
    This should get your desired behaviour, but once the message has failed it will be discarded. If you prefer to put it on an error queue you can create an error queue, and in the original queue’s, goto Delivery Failure, change the expireation policy and set the Error Destination to be your error queue.
    Hope that helps!
    Robert

  • How to get transacted session in direct mode with jmsra adapter

    Hi,
    I use MQ 4.4u1 release with GF in EMBEDDED mode. I configured several connection factories with NoTransaction/LocalTransaction/XATransaction support. In my app I get a connection factory from JNDI tree, create connection/session/producer and send several messages to queue. Everything works fine when I don't use transactions. But, when I want to send messages in one transaction, the connection always provided to me non-transacted session. The session created via
    Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
    request. I check the session transacted state and acknowledge mode right after i get it:
    log.fine("Session: " + session + "; transacted: " + session.getTransacted() + "; ackMode: " + session.getAcknowledgeMode());
    The log shows me that the session is not transacted and ackMode is 0 (DUPS_OK_ACKNOWLEDGE). If I try to commit the session after messages were sent I get the correct exception:
    javax.jms.IllegalStateException: MQJMSRA_DS4001: commit():Illegal for a non-transacted Session:sessionId=3361979872663370240
    Does anyone know how to get transactional session in direct mode?
    Thanks, Denis.

    I mentioned LOCAL because I misread your post and thought you were suggesting that LOCAL mode behaved differently.
    If you want to send messages in a transaction from within a Servlet then I think you're expected to use a UserTransaction: Here's an example that worked for me:
            Connection connection = outboundConnectionFactory.createConnection();
            Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
            userTransaction.begin();
            MessageProducer producer = session.createProducer(outboundQueue);
            int numberOfMessages = 10;
            for (int i = 0; i<numberOfMessages; i++) {
                Message message = session.createTextMessage("Hello world");
                producer.send(message);
            userTransaction.commit();
            connection.close();I obtained the UserTransaction with this resource declaration:
        @Resource(name = "java:comp/UserTransaction")
        private UserTransaction userTransaction;The EJB spec explicitly states that local transactions aren't supported in EJBs; I haven't found such an explicit statement for Servlets but suspect that JMSRA is taking the same approach.
    As for imq.jmsra.direct.disableCM property - this appears to disable connection pooling and from your post changes other behaviour as well. How did you find out about it (other than by examining the code)? As far as I can see this is not a documented feature and is not necessarily tested or supported.

  • Transaction Management in JMS adapter

    Hi,
    I am creating a BPEL process for inserting data in a JMS queue (for producing message on queue) with transaction management, and came across the property "isTransacted", can anyone please help me with the functionality of this property, and how to handle transactions with JMS Queue.
    Thanks.

    First of all the JMS specification does not define the behavior for multiple clients accessing a queue. Having said that, most vendors do offer this. Since it is not defined in the specification mileage can vary from provider to provider. However, most vendors do the obvious/intuitive thing.
    When a client receives a message from a queue it is not available to anyone else until the final disposition of that message can be determined. Acknowledge and commit permanently remove the message from the queue. Recover and rollback put the message back in the queue. The death of the client results in a recover or rollback. When a message goes back to the queue, it is made available to all clients who are waiting (possibly even the same client (except in the case of the dead client)).
    With respect to your questions, the intuitive behaviors are:
    1) message goes back and someone else has a chance to get it
    2) If you have a transacted session then the acknowledge is simply ignored, and since you didn't call commit, the message is still considered outstanding (and no one else can get it). If the session is not transacted then the acknowledge causes the message to be permanently removed from the destination (and no one else can get it).
    3) if the session is transacted then the commit permanently removes the message from the destination (and no one else can get it). if the session is not transacted then the commit must throw an exception and since you didn't call acknowledge, the message is still considered outstanding (and no one else can get it).
    Client2 could only receive the same message if client1 rolledback or recovered the message (which should occur if client1 dies).
    _sjz.

  • Weblogic.transaction.internal.TimedOutException  while JMS adapter De queuing

    Hi ,
    I am getting the weblogic.transaction.internal.TimedOutException in SOA logs, when i track the instance using ecid. I am unable to find the flow in EM.
    EM shows that instance as complete and I can able to see only the JMS adapter in flow trace.
    Increasing the timeout is not a good option, I hope. It’s already set to 10800.
    Error msg:
    Failed to handle dispatch message ... exception ORABPEL-05002
    Message handle error.
    error while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the reported exception is: Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out after 10798
    I am not sure y the De queuing take such a long time?? Any other thought guys??
    Regards,
    Ram.

    Could you check the size of the JMS message that is getting polled.
    When the transaction is getting rolled back, is the JMS message getting discarded or present in JMS Queue

  • Sender JMS Adapter - NOT Working

    Hello Everybody - We are on SP13, also installed JMS Driver files on the system. We are running, Central Adapter Engine.
    We configured the Sender JMS Adapter for WBI MQ->XI->SAP scenario. We need to JMS Adapter to be configured to connect to WBI from XI. Everything looks great in configuration but in the Adpater Monitoring, JMS Adapter is with Error Status and Message says "Sender channel. Details: (No detail information set.)".
    Does anybody has any idea about this error ?
    I checked SAP Help link as well on this. Based on this link http://help.sap.com/saphelp_nw04/helpdata/en/ca/e7673c86d19b35e10000000a11402f/frameset.htm. Do we need to configure this JMS Adapter somewhere on teh server as well ? If yes, then where ? Pls respond if you have any clue about it.
    Thanks in anticipation...

    Hello Stefan - Thanks for response.
    Here are the Parameters.......
    Adapter Type: JMS
    Sender Type Clicked
    Transport protocol:WebSphereMQ (non-JMS)
    Message protocol:JMS 1.x
    Adapter Engine:Integration Server
    Queue ConnectionFactory Java Class:com.ibm.mq.jms.MQQueueConnectionFactory
    Queue Java Class:com.ibm.mq.jms.MQQueue
    IP Address or Server Name:10.9.48.154
    Server Port:1414
    Queue Manager Name:WBIDEV
    Channel Name:WBI.XI.SVRCONN
    JMS Queue:XI_REQUEST
    Transport/Network Protocol:TCP/IP
    JMS-Compliant:JMS-Compliant
    Transactional JMS Session:Check box Set
    JMS Queue User:XIUSER
    JMS Queue Password:********
    Set XI message ID(MessageID) to:GUID(recommended value)
    Set XI cenversation ID(conversationID) to:No value
    Mapping of Message:Message Payload=JMS Payload
    Quality of Service:Exactly Once
    Time Period for duplicate check for EO(IO)(secs):86400
    Wait After Message Error(msecs):1000
    Wait before Reconnect(msecs):1000
    Status:Active
    The Error Message I see in the Adapter Monitor is "Sender Channel. Details: (No detail information set.)
    Pls advice If I am missing anything ?
    Thanks....
    Amrish.

  • Configuration for sync/async bridge in Jms adapter

    Can someone give me a hint what I might be doing wrong?
    The scenario is: synchronous proxy to jms.
    Integration repository:
    Created synchronous outbound interface and synchronous inbound interface, message mapping, interface mapping.
    Integration directory:
    Created jms receiver communication channel and jms sender communication channel and configured them according "How to correlate jms messages".
    Created receiver determination, interface determination and receiver agreement.
    No sender agreement necessary for proxy sender.
    So far so good, but...
    Both the receiver and sender jms adapter have its own queue (the receiving system will get the request in one queue and put the response in another).
    <b>How does the waiting jms receiver adapter know where to expect the answer?</b>
    When I test this scenario the (outbound) message get the status "Log version" (abap moni) and "To be delivered" (java moni).
    PS:
    The testing is performed by using the tool rfhutil. With this tool you can read and write directly from/to the MQ queues where the jms adapters are pointing to.
    After receipt of the request in the queue of the reveicer jms communication channel, I manually put a message in the queue of the sender jms communication channel with the XI message ID filled in the correlation ID.

    More information, In the jms adapter the following error appears:
    XI inbound processing failed for message at time 2007-06-11|11:12:48.908+0100. JMS and XI identifiers for the message are ID:414d512052545849444556312020202045f55b6c20d73102 and 4e5bff20-1804-11dc-c2b4-00096b6ed15c respectively. The JMS adapter will rollback the database and JMS session transactions. If the session is transacted, the message is not lost and will be retried later. The exception stack trace is java.lang.Exception: Minimum address data not configured. Field InterfaceNamespace is empty.
         at com.sap.aii.af.service.jms.WorkerJMSReceiver.onMessage(WorkerJMSReceiver.java:1516)
         at com.ibm.mq.jms.MQMessageConsumer.receiveAsyncQ(MQMessageConsumer.java:2538)
         at com.ibm.mq.jms.MQMessageConsumer.receiveAsync(MQMessageConsumer.java:4260)

  • Correlation issue in JMS adapter - SYNC/ASYNC scenario without BPM

    Hi,
    I am working on a SYNC/ASYNC scenario with JMS adapter without using BPM. My scenario is SOAP<>PI>JMS. I configured the interface as below:
    1. SOAP Sender channel
    2. JMS Receiver Channel writing to Queue A.
         Module used:      a. RequestOneWayBean
                   b. WaitResponseBean
         Correlation Settings:
                   a. Set JMS Correlation ID to "XI Message ID"
                   b. Store JMS CorrelationID of request (Checked)
                   c. Set JMS Property to "JMS Correlation Id"
                   d. Value = "XI MEssage ID"
    3. JMS Sender channel reading from queue B ( I am exporting the message from queue A and importing into queue B)
         Module used:      a. NotifyResponseBean
         Correlation Settings:
                   a. Set XI MEssage Id to "GUID"
                   b. Set XI Conversation ID to "Stored JMS COrrelationID of Request"
    I can see the cid in the message from queue A. But I observed thhat the header format of the message in Queue A is "MQSTR".
    ISSUE:
    1. While writing the message to queue A, below adapter log details(part b) concerned me:
         a. Message '8747a7c2-2b06-11df-8055-005056a70ed6' successfully processed by channel
         b. Could not create acknowledgements for message '8747a7c2-2b06-11df-8055-005056a70ed6'
    I am not sure why I am receiving the message that "  could not create acknowledgements"
    2. While reading the message from the sender channel,I consistently get the error message as below:
         a. XI message ID corresponding to JMS message with ID 'ID:414d51205341504449442e514d202020c67b954b20005602'
              will be created as a new GUID with value '21bca916-424f-41f6-3347-c71090392b58'
         b. Error while processing message '21bca916-424f-41f6-3347-c71090392b58';  detailed error description:
              com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: found no correlation ID: RecoverableException:
              found no correlation ID at com.sap.aii.adapter.jms.core.channel.filter.SendToModuleProcessorFilter.filter(SendToModuleProcessorFilter.java:105) ...
    Below are the blogs which I have already gone through:
    1. JMS Synchronous Scenario without BPM - Correlation Settings and Transactional JMS Session
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/b028f6f6-7da5-2a10-19bd-cf322cf5ae7b
    2. Note: 1086303
    3. Sync / Async Bridge without BPM
    In the note, they mentioned something about header being "MQRFH2". BUt in our case, the header is "MSSTR". Not sure whether it makes any difference.
    Please help.
    Edited by: GP on Mar 9, 2010 4:24 AM

    Hi,
    detailed error description:
    com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: found no correlation ID: RecoverableException:
    found no correlation ID at com.sap.aii.adapter.jms.core.channel.filter.SendToModuleProcessorFilter.filter(SendToModuleProcessorFilter.java:105) ...
    This error would generally arose when there are multiple messages, got stuck in the outbound queue. Try to stop both the sender and receiver JMS comunication channels and clear both the inbound and outbound queues.
    Once all the messages in the queue are cleraed, try posting the message again.
    Regards,
    Swetha.

  • 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

  • Sender JMS Adapter

    Hi,
    I am using a sender JMS adapter. Transport Protocol i have given as "Access JMS Provider with JNDI".
    In the field "JNDI Server Address" i have to give the server:port.
    Here i am not sure which port to give.
    Is it the P4 port i.e. 5XX04 or the J2EE port on which the WAS listens i.e. 5XX00.
    Please advise.
    Regards
    Sidharth

    Hello Stefan - Thanks for response.
    Here are the Parameters.......
    Adapter Type: JMS
    Sender Type Clicked
    Transport protocol:WebSphereMQ (non-JMS)
    Message protocol:JMS 1.x
    Adapter Engine:Integration Server
    Queue ConnectionFactory Java Class:com.ibm.mq.jms.MQQueueConnectionFactory
    Queue Java Class:com.ibm.mq.jms.MQQueue
    IP Address or Server Name:10.9.48.154
    Server Port:1414
    Queue Manager Name:WBIDEV
    Channel Name:WBI.XI.SVRCONN
    JMS Queue:XI_REQUEST
    Transport/Network Protocol:TCP/IP
    JMS-Compliant:JMS-Compliant
    Transactional JMS Session:Check box Set
    JMS Queue User:XIUSER
    JMS Queue Password:********
    Set XI message ID(MessageID) to:GUID(recommended value)
    Set XI cenversation ID(conversationID) to:No value
    Mapping of Message:Message Payload=JMS Payload
    Quality of Service:Exactly Once
    Time Period for duplicate check for EO(IO)(secs):86400
    Wait After Message Error(msecs):1000
    Wait before Reconnect(msecs):1000
    Status:Active
    The Error Message I see in the Adapter Monitor is "Sender Channel. Details: (No detail information set.)
    Pls advice If I am missing anything ?
    Thanks....
    Amrish.

  • JMS adapter ModuleProcessorException

    Hello experts,
    I am trying to set up a  MQ -> XI connection through the JMS adapter.
    Setting up the CC was fairly easy, and I can see the nice green light in the adapter monitor for the sender channel. But so quickly I try to send a message from MQ to XI I get the following error:
    26.06.2006 12:38:05.522 ERROR    Error during processing local bean: localejbs/SAP XI JMS Adapter/ConvertBinaryToXMBMessage
    26.06.2006 12:38:05.523 WARNING  Catching com.sap.aii.af.mp.processor.ModuleProcessorException: Error during processing local bean: localejbs/SAP XI JMS Adapter/ConvertBinaryToXMBMessage caused by: com.sap.aii.af.mp.module.ModuleException caused by: com.sap.aii.af.service.cpa.impl.exception.CPAObjectException: Value with name enableDynConfigSender not available
            at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:266)
            at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)
            at com.sap.aii.af.service.jms.WorkerJMSReceiver.onMessage(WorkerJMSReceiver.java:949)
            at com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:861)
            at com.ibm.mq.jms.SessionAsyncHelper.run(SessionAsyncHelper.java:401)
            at java.lang.Thread.run(Thread.java:534)
    Caused by: com.sap.aii.af.mp.module.ModuleException caused by: com.sap.aii.af.service.cpa.impl.exception.CPAObjectException: Value with name enableDynConfigSender not available
            at com.sap.aii.af.mp.jms.ejb.ConvertBinaryToXMBMessage.process(ConvertBinaryToXMBMessage.java:212)
            at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl10.process(ModuleLocalLocalObjectImpl10.java:103)
            at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:250)
            ... 5 more
    Caused by: com.sap.aii.af.service.cpa.impl.exception.CPAObjectException: Value with name enableDynConfigSender not available
            at com.sap.aii.af.service.cpa.impl.container.CPAObject.checkNameForValue(CPAObject.java:380)
            at com.sap.aii.af.service.cpa.impl.container.CPAObject.getValueAsBoolean(CPAObject.java:676)
            at com.sap.aii.af.service.cpa.impl.container.AttributeExtendedCPAObject.getValueAsBoolean(AttributeExtendedCPAObject.java:310)
            at com.sap.aii.af.mp.jms.ejb.ConvertBinaryToXMBMessage.process(ConvertBinaryToXMBMessage.java:143)
            ... 7 more
    I have rasied the trace level, so I was able to see the actual MQ message in the trace, and the first module (convertJMSMessageToBinary) seems to run without any problem.  Furthermore, I have added the 3 mandatory configuration parameters for the ConvertBinaryToXMBMessage module, but it didnt help.
    Any help would be greatly appreciated.<i></i>

    I am getting the following error on a JMS Sender channel
    XI inbound processing failed for message at time 2008-04-21|13:28:09.251+0200. JMS and XI identifiers for the message are ID:ffffffffa4d02a43:57210022:1196FC3DEAC and 04e37730-0f96-11dd-a0ae-001b78018d64 respectively. The JMS adapter will rollback the database and JMS session transactions. If the session is transacted, the message is not lost and will be retried later. The exception stack trace is java.lang.Exception: Value with name enableDynConfigSender not available
    at com.sap.aii.af.service.jms.WorkerJMSReceiver.onMessage(WorkerJMSReceiver.java:963)
    at progress.message.jimpl.Session.deliver(Unknown Source)
    at progress.message.jimpl.Session.run(Unknown Source)
    Any id's
    Sender channel is SONICMQ
    wondering what "Value with name enableDynConfigSender not available " means.

  • Inbound JMS adapter with MapMessage

    I'm sharing the following problem and solution with using the OEP inbound message adapter because it may be
    a common situation occurring to other users.
    Recently was using the inbound JMS adapter with its default (OEP internal) converter from JMS MapMessage
    messages to OEP events. The inbound adapter was receiving MapMessage messages but it was not assigning
    values to the corresponding attributes in the specified input event instance.
    The problem was that I was not properly creating the MapMessage messages in the JMS producer client.
    I was using method setStringProperty() instead of method setString(), which is what is needed to set name/value
    pairs of type String, and similarly with other primitive Java data types. Here's a code snippet for building and sending
    a MapMessage on the client side:
          try {
          mapm = qsess.createMapMessage();
          mapm.setString("valueType1", "value1");
          mapm.setString("valueType2", "value2");
          mapm.setInt("valueType3", 5);
          producer.send(mapm);
         } catch (JMSException jmse) {
         jmse.printStackTrace(System.err);
         System.exit(0);
    Regards,
    Mauricio

    OSB JMS config:
    <queue name="RequestQ">
    <sub-deployment-name>wlsbJMSServer</sub-deployment-name>
    <jndi-name>RequestQ</jndi-name>
    </queue>
    <queue name="ResponseQ">
    <sub-deployment-name>wlsbJMSServer</sub-deployment-name>
    <jndi-name>ResponseQ</jndi-name>
    </queue>
    Business service in OSB from where message is sent to the "ResponseQ" which is consumed by CEP.
    Jms Inbound CEP Config:
    <jms-adapter>
    <name>jmsAdapterInbound</name>
    <jndi-provider-url>t3://10.227.145.164:7005</jndi-provider-url>
    <connection-jndi-name>weblogic.jms.XAConnectionFactory</connection-jndi-name>          
    <destination-jndi-name>ResponseQ</destination-jndi-name>
    <user>weblogic</user>
    <password>weblogic123</password>
    <work-manager>JettyWorkManager</work-manager>
    <concurrent-consumers>1</concurrent-consumers>
    <session-transacted>false</session-transacted>
    </jms-adapter>

  • XI JMS adapter after JMS provider reboot

    Hi All,
    I have problem with XI JMS adapter. Adapter is in a JMS client role and JMS provider is Tibco. After reboot of JMS service in JMS provider, XI JMS adapter loose username and pw in connection and try logon to queue as an anonymous user.
    After deactivation + activation of XI JMS adapter, connection seems to work correctly with uname & pw.
    In JMS adapter we have folloving settings and we are connected straight into queue:
    Transport Protocol = SonicMQ JMS Provider
    General JMS Settings:
    Transactional JMS Session is in use
    Delivery Mode of Message Producer = Persist JMS messages..
    + Queue user & pw
    Error Handling Settings:
    Wait After Message Error(msecs) = 60000
    Wait Before Reconnect(msecs) = 60000
    Does anyone ran into this earlier?
    Thanks in advance.
    -Kimmo

    Hi Saravana,
    It seems that no connection is available to queue. In JMS adapter are you using correct path for finding these provider specifig classes in front of class name. Example: javax.jms.QueueConnectionFactory
    It is also possible that username of JMS provider which you configure to JMS adapter does not have correct rights for reading/writing or accessing to queue.
    We are not using any additional settings for JMS adapter. For server name we have also added protocol which is tcp://<servername> and using transactional JMS session.
    We had this same error when trying connect to queue via JNDI. Then we changed JMS adapter to connect straight to queue and it started to work.

Maybe you are looking for

  • Income statement report ????

    Hello all, I am working on getting an income statement report... My revenue elements are coming from table GLT0 and the expense accounts are coming from COEP table... So i am using the 0fi_gl_6 DS and CO_OM_CO_9 DS for the report... The KF in the FIG

  • WP document table color?

    Hello! I am trying to create a table in a word processing document that has black cells & white text. Is this possible? If so how can it be done? I am using Appleworks 6.2.4 if that helps.

  • Syncing with gCal but NOT Google Contacts

    Everything I've found so far offers instruction on how to sync all of your Google account with your iphone but I only want to sync my gCal. Can't figure it out. Is this possible?

  • Macbook air stops at grey screen

    On startup the sound plays and a grey screen appears then nothing happens. After 5 mins a grey world icon with an exclamation mark appears on the screen below it has apple.com/support and under that -21 00D Is there any way to get the computer to wor

  • Compression setting for videos

    HI, I have 15 HD movies to put into my iBook. Do you know the .mp4 compression settings to optimize my video for iBooks Author? What's the best best to compress these down for full screen viewing? Many thanks, Elaine