JMS Sending to a Queue

Hi there:
I'm trying to send messages from a Servlet to a queue asynchronously. I've been reading a lot but I still don't have a clear idea about if this is possible or not.
I've created a Connection Factory with One-way message sending enabled for both topics and queues, and I use this code on the sender.
code:
Context ctx = new InitialContext();
qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
qcon = qconFactory.createQueueConnection();
queue = (Queue) ctx.lookup(QUEUE);
qsession = qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
qsender = qsession.createSender(queue);
qcon.start();qsender.send(msg,DeliveryMode.NON_PERSISTENT,4,1000);
qsender.close();qsession.close();qcon.close();
This code works nice but I need to know how to make this sendings asynchronously if it is possible, I don't want to wait to the queues acknowledge.
Is the "QueueSender.send(...)" method valid only for synchronous messaging?
Thanks!

Sorry I didn't address the answers more clearly. You were correct on the answers except with:
          Switch from using a resource-reference to a direct reference for a send? Answer: No. We are only trying a direct send, not utilizing the resource-reference.
          We are already using "false" for the connection.create[Queue]Session code.
          Should we be trying something else because of transactional behavior of not utilizing the resource-reference for the send as you thought?
          We have tried the queue as XA and non-XA and neither work.

Similar Messages

  • JMS Sender Adapter EOIO with different messages in Queue to RFC

    Dear Colleague,
    In one of my scenarios i am using JMS Sender Adapter and Websphere MQ series.
    In my MQ Series Queue i get different Messages with Different Structures.
    for e.g in my MQ Series Queue Q1 i have M1, M2, M3 coming in Order.
    Now i need to doa  Mapping of M1 to a Standard BAPI  B1 call through RFC at the reciever side.
    Now i need to doa  Mapping of M2 to a Standard BAPI B2 call through RFC at the reciever side.
    Now i need to doa  Mapping of M3 to a Standard BAPI B3 call through RFC at the reciever side.
    We are aware that on Receiver side we can have multiple Recievr Determinations.so i can send it to 3 different BAPIs.
    Question:
    But how do i split the Messges which are coming out of MQ series Q from JMS to 3 different Mapping Structures as we knwo that we do not 'Multiple Sender Interface Determinations' from Determined based on the Message which is coming in.
    Hope i have been clear in making myself understand about the problem given above.
    I have alos given below the same in a bit Graphical Form.
    MQ Series --> M3, M2, M1(Messages) --> JMS Adapte(EOIO) --> M1(Message) -> RFC -> B1(Bapi)
                                                             --> JMS Adapte(EOIO) --> M2(Message) -> RFC -> B2(Bapi)
                                                             --> JMS Adapte(EOIO) --> M3(Message) -> RFC -> B3(Bapi)
    Is it possible to achieve the above result. Answers fo the solution are most welcome. These can be also from the new Netweaver Release Versions. If we have the solution to these in New version we will implment the New Netweaver Releases.
    Thanks & Warm Regards
    Venugopal

    Dear Kai,
    if i have 3 MQ series Queues then how are we going to maintain the flow of the Messages in the same order in which has come into MQ series queues.
    this mesans to say that all the Message come in Parallel out from JMS or MQ side and will be mapped onto Reciever side.
    But in my case i wil need to have M1 first M2 second and M3 third.
    This means to say that M1 recived and acknowledged then M2 should come and acknowledged and then M3 should be acknowledged.
    How this will be possible with your solution of making 3 MQ series Queues.
    Please do let me know.
    Thanks
    Venugopal

  • 2 JMS Sender Communication Channels polling 1 MQ Queue

    Hi Experts,
    I have a situation where 2 JMS sender communication channels are polling 2 different message type data (via content conversion in JMS) from 1 MQ queue.  However adapters are having problem polling the right message from the queue.
    Is this something that is not possible?
    I know that we can possibly use 2 MQ queues - one for JMS 1 with message type 1 and the other for JMS 2 with message type 2
    OR
    1 JMS with 1 common message type with 1 MQ queue.
    But I want to confirm whether my current situation is suppose to work or not.
    Thanks,
    Jay

    >
    Jung Sun Ko wrote:
    > Hi Experts,
    >
    > I have a situation where 2 JMS sender communication channels are polling 2 different message type data (via content conversion in JMS) from 1 MQ queue.  However adapters are having problem polling the right message from the queue.
    > Is this something that is not possible?
    Maintain different queues for different message types.
    The adapters else will just pick the message that comes to the queue first based on the polling time irrespective of the message type. It is not intelligent enough
    >
    > I know that we can possibly use 2 MQ queues - one for JMS 1 with message type 1 and the other for JMS 2 with message type 2
    > OR
    > 1 JMS with 1 common message type with 1 MQ queue.
    >
    > But I want to confirm whether my current situation is suppose to work or not.
    >
    > Thanks,
    >
    > Jay
    Hope the above replies answers your question

  • JMS Send Transaction Failing, due to resources could not be assigned

    I am trying to get a transaction of a JMS send to work where the origination of the send occurs in domain A and the message queue is hosted in domain B. I have been able to get this to work; however, this issue has shown up in recent tests. I haven't changed anything other than the version of the Oracle database client that is being used. I don't see any relationship between that and the persistent store.
    Both domains are hosted on the same computer and both domains are simple development domains. Trust is established between the domains using 'global trust'.
    I'm running Weblogic Server 10.3.4..
    I'm not sure how to get around this issue. I can't find any documentation...
    My suspicion is that there needs to be some special configuration for the transaction, since I'm using the default persistence store. The warnings seem to indicate the problem. The AdminServer is hosted on domain A and the AuditAdminServer on domain B...
    Any assistance will be greatly appreciated!
    Thanks in advance...
    Here is the stacktrace:
    <Apr 11, 2013 11:17:05 AM MDT> <Warning> <JTA> <BEA-110405> <Resource WLStore_audit_domain__WLS_AuditAdminServer was not assigned to any of these servers: AdminServer AuditAdminServer >
    <Apr 11, 2013 11:17:25 AM MDT> <Warning> <JTA> <BEA-110405> <Resource WLStore_audit_domain__WLS_AuditAdminServer was not assigned to any of these servers: AdminServer AuditAdminServer >
    <Apr 11, 2013 11:19:47 AM MDT> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB gov.va.med.datasharing.core.ServiceBusImpl.processInbound(java.lang.String,java.lang.Object)],Xid=BEA1-003FA101855115C0DB45(13340960),Status=Rolling Back. [Reason=javax.transaction.SystemException: Aborting prepare because the following resources could not be assigned: WLStore_audit_domain__WLS_AuditAdminServer],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=183,seconds left=22,XAServerResourceInfo[DefaultXADataSource_vhie_domain]=(ServerResourceInfo[DefaultXADataSource_vhie_domain]=(state=rolledback,assigned=AdminServer),xar=DefaultXADataSource,re-Registered = false),XAServerResourceInfo[WLStore_audit_domain__WLS_AuditAdminServer]=(ServerResourceInfo[WLStore_audit_domain__WLS_AuditAdminServer]=(state=new,assigned=none),xar=null,re-Registered = false),XAServerResourceInfo[WLStore_vhie_domain_VhieFileStore]=(ServerResourceInfo[WLStore_vhie_domain_VhieFileStore]=(state=rolledback,assigned=AdminServer),xar=WLStore_vhie_domain_VhieFileStore1316539,re-Registered = false),SCInfo[vhie_domain+AdminServer]=(state=rolledback),SCInfo[audit_domain+AuditAdminServer]=(state=rolling-back),properties=({weblogic.transaction.name=[EJB gov.va.med.datasharing.core.ServiceBusImpl.processInbound(java.lang.String,java.lang.Object)]}),local properties=({weblogic.jdbc.jta.DefaultXADataSource=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+192.168.1.120:7001+vhie_domain+t3+, XAResources={WLStore_vhie_domain_VhieFileStore, SDSDataSource_vhie_domain, DefaultXADataSource_vhie_domain, eis/jms/WLSConnectionFactoryJNDIXA, WSATGatewayRM_AdminServer_vhie_domain},NonXAResources={})],CoordinatorURL=AdminServer+192.168.1.120:7001+vhie_domain+t3+): weblogic.transaction.RollbackException: Aborting prepare because the following resources could not be assigned: WLStore_audit_domain__WLS_AuditAdminServer
         at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1881)
         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:345)
         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:239)
         at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:625)
         at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:49)
         at weblogic.ejb.container.internal.BaseRemoteObject.__WL_postInvokeTxRetry(BaseRemoteObject.java:444)
         at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:53)
         at gov.va.med.datasharing.core.ServiceBus_r6xnti_ServiceBusImpl.processInbound(Unknown Source)
         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:597)
         at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
         at $Proxy89.processInbound(Unknown Source)
         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:597)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
         at $Proxy91.processInbound(Unknown Source)
         at gov.va.med.datasharing.web.ServiceBusDelegate.processInbound(ServiceBusDelegate.java:43)
         at gov.va.med.datasharing.web.adc.PatientServiceImpl.changeADCStatus(PatientServiceImpl.java:58)
         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:597)
         at org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:69)
         at org.springframework.expression.spel.ast.MethodReference$MethodValueRef.getValue(MethodReference.java:97)
         at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:81)
         at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102)
         at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:98)
         at org.springframework.binding.expression.spel.SpringELExpression.getValue(SpringELExpression.java:84)
         at org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:75)
         at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
         at org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
         at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
         at org.springframework.webflow.engine.support.ActionTransitionCriteria.test(ActionTransitionCriteria.java:82)
         at org.springframework.webflow.engine.support.TransitionCriteriaChain.test(TransitionCriteriaChain.java:71)
         at org.springframework.webflow.engine.Transition.canExecute(Transition.java:195)
         at org.springframework.webflow.engine.Transition.execute(Transition.java:211)
         at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:393)
         at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
         at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:119)
         at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555)
         at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:388)
         at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
         at org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:232)
         at org.springframework.webflow.engine.ViewState.resume(ViewState.java:196)
         at org.springframework.webflow.engine.Flow.resume(Flow.java:545)
         at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:258)
         at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
         at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183)
         at org.springframework.webflow.mvc.servlet.FlowController.handleRequest(FlowController.java:174)
         at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
         at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
         at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
         at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:915)
         at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:822)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:796)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:180)
         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    Caused by: javax.transaction.SystemException: Aborting prepare because the following resources could not be assigned: WLStore_audit_domain__WLS_AuditAdminServer
         at weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:1153)
         at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:2200)
         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:279)
         ... 77 more
    .>

    It turns out that those packages are, indeed, in extra.
    I didn't think to look there, since I assumed that everything needed by base would be in [core].
    I assumed wrong.

  • Need help about setting up a JMS sender channel

    I just started to play with PI for a few weeks and I'm trying to setup a simple JMS sender channel to read stuff from a WebSphere MQ.
    I've someone installed JMS adaptor for me, but we never know it is correctly installed or not. First question is "Is there any way we can verify JMS adapter is correctly installed or not?"
    In the Design: integration builder, I've a very defined a very simple data type(src_dt) which is a string and a message type(src_mt) which uses resp_dt. Finally I created a message interface (test_mia_out) that contains src_mt. At this point of time, I don't need message mapping so I didn't configurate this section.
    Then I went to Configuration: Integration builder and created a new communcation channel with the following setting:
    Parameter section:
    Adapter Type: JMS
    Transport Protocol: WebSphereMQ (Non-JMS)  <- if i don't use this option, i can't enter MQ connection detail in the Source section.
    Message Protocol: JMS 1.x
    Adapter Engine: Integration Server
    Source section:
    QueueConnectionFactory Java Class: com.ibm.mq.jms.MQQueueConnectionFactory
    Queue Java Class: com.ibm.mq.jms.MQQueue
    ...MQ connection detail...(IP, Port, Queue Manager, Channel and Queue Name )
    Transport Protocol: TCP/IP  <- this is consists to server side setting
    JMS-Compliant: JMS-Compliant
    Since I only want a very simple working sample, again I didn't change the content in receiver determination, interface determaintion and sender agreement.
    Now when I active this change and I saw the following error in the channel monitor:
    Short Log - Channel has internal error
    Admin Info - Exception: Channel with Status Unknown or Not Registered
    I did stop and start the service, refresh CPA cache and even restart the entire PI server, I always see this message and cannot find any more detail description about what is causing this problem.
    My PI Server version is 7.0 and MQ version is 5.3
    There's very limited resource about how to setup to read MQ message in PI and I'm stuck now. Therefore, I need a help from some experienced people to tell me if I have did something wrong or missed some steps?
    And if possible, could people mind to post a step by step go through how you setup it up?
    Edited by: Robert Fu on Jan 10, 2008 6:51 AM

    Before you use the JMS, you need to deploy some drivers related to specific MQseries, Kindly ensure that proper driver are deployed....
    If you use MQSeries 53x.xxx, you must enter the following JAR files in aii_af_jmsproviderlib.sda.
    com.ibm.mq.jar, com.ibm.mqbind.jar, com.ibm.mqjms.jar, connector.jar (use the JAR file from the J2EE client directory)
    check this link it will give you more inofmration
    http://help.sap.com/saphelp_nw04/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/content.htm
    check this to get the condifuration the JMS
    How to use conversion modules in JMS - https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
    Ref How To Use the Content Conversion Module in JMS Adapter - https://websmp106.sap-ag.de/~form/sapnet?_SHORTKEY=01100035870000582377&

  • JMS Sender Communication  Channel problem

    Hi XI gurus!!
    I have a JMS Sender Communication Channel that cannot get information from JMS TIBCO queue.
    In defaultTrace.XX.trc I see the following information and errors:
    #1.#00144F249F1500C70000087D00002D8300044A22A193A198#1207412506993#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
    #1.#00144F249F1500C70000087E00002D8300044A22A193A201#1207412506993#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildSessions()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
    #1.#00144F249F1500C70000087F00002D8300044A22A193A552#1207412506993#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Error##Plain###2008-04-05 17:21:46 [161906789 SAPEngine_Application_Thread[impl:3]_52] [TIBCO EMS]: createQueueSession qsess=198151 qconn=45502 tran=true ackmode=1#
    #1.#00144F249F1500C70000088000002D8300044A22A193A670#1207412506994#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildSessions()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Info##Java###Sucessfully created session {0} for profile {1}#2#com.tibco.tibjms.TibjmsQueueSession@3a5f233#
    {GenericConnectionProfileImpl
    {Description=ConnectionProfile of channel: JMS_Sender_loginCheckReq_001on node: 21291150 having object id: 7e7ee107bc2031d2bc79fa2fce15bbed,
    JmsMessageSelector=,
    ConnectionFactoryConstructor=null,
    ConnectionFactoryFactoryInvocation=null,
    ConnectionFactoryInvocations=[],
    DestinationConstructor=
    {ConstructorInvocation
    {className=null,
    invokeParams=[]
    DestinationInvocations=[],
    MessageInvocations=[],
    DestinationName=null,
    User=,
    Password=,
    isJmsSessionTransacted=true,
    InitialContextEnvironment={java.naming.provider.url=190.10.0.133:9222, java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory},
    LookupConnectionFactory=QueueConnectionFactory,
    LookupDestination=GALP.PRD.TIGERC.LOGIN.REQ,
    SerializedConnectionFactoryPath=null,
    SerializedDestinationPath=null,
    Flags=0000000000000000000000000000000000000000000000000000100000000010
    #1.#00144F249F1500C70000088100002D8300044A22A193A7EE#1207412506994#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildSessions()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
    #1.#00144F249F1500C70000088200002D8300044A22A193A85F#1207412506994#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createDestination()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
    #1.#00144F249F1500C70000088300002D8300044A22A193B153#1207412506997#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Error##Plain###2008-04-05 17:21:46 [161906789 SAPEngine_Application_Thread[impl:3]_52] [TIBCO EMS]: createQueueConnection qconn=45503 qconfac=QueueConnectionFactory[url=tcp://190.10.0.133:9222;clientID=null;Properties={}] user=null#
    #1.#00144F249F1500C70000088400002D8300044A22A193E3CF#1207412507009#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createDestination()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
    #1.#00144F249F1500C70000088500002D8300044A22A193E571#1207412507010#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeDestinationInvocations#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
    #1.#00144F249F1500C70000088600002D8300044A22A193E64B#1207412507010#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeDestinationInvocations#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
    #1.#00144F249F1500C70000088700002D8300044A22A193E714#1207412507010#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildMessageProducers()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
    #1.#00144F249F1508770000000000002D8300044A22A83A6308#1207412618584#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#Thread[TIBCO EMS TCPLink Reader (45502),5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Error##Plain###2008-04-05 17:23:38 [2092826462 TIBCO EMS TCPLink Reader (45502)] [TIBCO EMS]: received msg from daemon conn=45502 seqid=40664365 msgid=ID:EMS-SERVER.91446ECB042B480:12545#
    #1.#00144F249F1508770000000100002D8300044A22A83A650C#1207412618585#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#Thread[TIBCO EMS TCPLink Reader (45502),5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Error##Plain###2008-04-05 17:23:38 [2092826462 TIBCO EMS TCPLink Reader (45502)] [TIBCO EMS]: post msg to session sess=198151 cons=261547 seqid=40664365 msgid=ID:EMS-SERVER.91446ECB042B480:12545#
    In the last two lines we can see that SAP XI do a connection to TIBCO and is getting an unknown error, even in debug (note 856346) I cannot get any information.
    Actually we are running SAP XI 3.0 SP21, but this was working fine in SAP XI 3.0 SP17. We have more than 100 Communication Channels working fine and only is having this strange behavior.
    BTW if we put manually information in TIBCO QUEUE it works fine, but automatically doesn't pick the message.
    Thanks

    HI,
    As per the trace details given please consider few of the below options....
    What do u see in adapter monitoring tool for JMS adapter?
    http://hostname:5XX00/mdt/amtServlet
    Did you follow the document on correlation of JMS messages?
    In communication channel You have to set
    Correlation ID -> XI conversationID
    XI message ID->GUID
    XI Conversation ID -> JMS correlation ID.
    Now in the custom J2EE application you should set
    jmscorrelationid of message before sending in to queue to jms correlation id of message before receiving from the queue.
    This thread deals with the issue..
    JMS Queue monitoring
    Check  if the JMS Sender adapter EOIO is with serialized messages 
    Thanks
    Swarup

  • JMS (Sender Communication Channel) and MQ in Mainframe (Legacy) System

    Hi All,
    Can we use JMS Sender Communication Channel in XI that runs on Windows 2003 server to DIRECTLY poll messages from MQ in Mainframe (Legacy) system??
    I understand that we can install MQ on XI server and have mainframe push the messages to XI MQ so that JMS can poll but wanted to see if there is a way to do this without having MQ on XI server.
    If you know of any documentation regarding this, can you please post it?
    Thanks,
    Jay

    Jung,
    Are you looking for this help:
    /people/william.li/blog/2006/11/13/how-to-use-saps-webas-j2ees-jms-queue-in-exchange-infrastructure
    Also check this sap help:
    http://help.sap.com/saphelp_nw04/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    ---Satish

  • Problem in JMS Sender Adapter

    Hi All,
      I am trying to Pick two different XML types of Messages from a Single Queue.
    For Example :- Despatch Advice and Replishment Proposal.
    Queue Name is : - JMS_XI_Sender
    SAP XI is not allowing me to create two different sender agreements for the same communication channel.
    Service :- BS_JMS
    Interface : - Despatch_Advice_OB
    CC :- JMS_SENDER
    and
    Service :- BS_JMS
    Interface : - Replishment_Proposal_OB
    CC :- JMS_SENDER
    Can any one tell how can SAP XI will differentiate these two messages and sends to two different receivers.

    Hi Rama,
    I am using XML Despatch Advice and Replishment Proposal types .
    Basically I do have one sender which will post Two types of XML messages in to one single MQ Queue.
    SAP XI/PI has to pick that message and then needs to check what is the Value in the "Message Type" Tag .
    I do also have two different Interfaces and Mappings and Two different Receivers.
    Depending on the value in Message Type SAP XI/PI has to check for the Particular Interface and Mapping, finally needs post the message to Particular Receiver
    You need to have defined two different sender agreements with two different Communication channels.
    In the JMS adapter Sender configuration you can mention the Queue name to pick the message . After picking the message the JMS sender adapter need to map it to the correct message type - it is defined by message interface defined in the sender agreement .
    Please let us know if you need any further calrification.
    Regards,
    kishore

  • JMS sender adapter is not picking up message from MQ

    Hi Experts,
    I have configured the JMS sender adapter for getting message from Websphere MQ. In RWB the adapter and the communicaiton channel all looking good. The trace file tells me the connection to the queue has been established.
    But the problem is this JMS sender adapter is not picking up message from the Queue defined on the MQ site.
    Any Idea what could be wrong?
    Thanks!
    Jason
    Jason

    Hi,
    1) Can you activate the JMS adapter again ( edit save and activate it )
    2) Check whether the right Queue is addressed.
    Regards
    Agasthuri Doss

  • Content conversion at JMS sender communication channel

    Hi friends,
                    I have to convert fixed length flat structure to xml message.Therefor i have to do content conversion at the JMS sender comm channel.Can someone please explainthe procedure?
    data in the queue would be like as follows.
    9999000000124646q12233appej500rc11147822zord

    Hi Manikandan,
    The structure conversion can handle files containing rows with different structures. In
    each row there is a key field to identify the structure. The rows with identical key fields of
    course have identical structures.
    Let us assume that we have a sample file with four rows. Each row has a two-byte key
    field; the first row has a second field with ten bytes; the structure of the second and third
    rows is the same and comprises two additional fields with three bytes each; the last row
    has a second field with five bytes:
    AA1234567890
    BBABCABC
    BBXYZXYZ
    CC12345
    The configuration for the conversion could look like this:
    Module Configuration
    Module Key Parameter Name Parameter Value
    Plain2XML Transform.Class com.sap.aii.messaging.adapter.Conversion
    Plain2XML Transform.ContentType text/xml;charset=utf-8
    Plain2XML xml.conversionType StructPlain2XML
    Plain2XML xml.processFieldNames fromConfiguration
    Plain2XML xml.documentName MyDocument
    Plain2XML xml.documentNamespace http://xi.com/test
    Plain2XML xml.recordsetName MyRecordset
    Plain2XML xml.recordsetStructure NameA,1,NameB,*,NameC,1
    Plain2XML xml.keyFieldName MyKey
    Plain2XML xml.keyFieldType CaseSensitiveString
    Plain2XML xml.NameA.fieldNames MyKey,field-nameA
    Plain2XML xml.NameA.fieldFixedLengths 2,10
    Plain2XML xml.NameA.keyFieldValue AA
    Plain2XML xml.NameB.fieldNames MyKey,field-nameB1,field-nameB2
    Plain2XML xml.NameB.fieldFixedLengths 2,3,3
    Plain2XML xml.NameB.keyFieldValue BB
    Plain2XML xml.NameC.fieldNames MyKey,field-nameC
    Plain2XML xml.NameC.fieldFixedLengths 2,5
    Plain2XML xml.NameC.keyFieldValue CC
    In xml.recordsetStructure, you add a name for each different structure followed by the
    number of occurrences or an asterisk for unbounded occurrences. For each structure
    name, you configure the structure separately in a separate namespace such as
    xml.NameA.fieldNames and so on.
    If your source file is a CSV file, replace each xml.XXX.fieldFixedLengths with
    xml.XXX.fieldSeparator.
    the result of this conversion looks like this:
    <ns:MyDocument xmlns:ns="http://xi.com/test">
    <MyRecordset>
    <NameA>
    <MyKey>AA</MyKey>
    <field-nameA>1234567890</field-nameA>
    </NameA>
    <NameB>
    <MyKey>BB</MyKey>
    <field-nameB1>ABC</field-nameB1>
    <field-nameB2>ABC</field-nameB2>
    </NameB>
    <NameB>
    <MyKey>BB</MyKey>
    <field-nameB1>XYZ</field-nameB1>
    <field-nameB2>XYZ</field-nameB2>
    </NameB>
    <NameC>
    <MyKey>CC</MyKey>
    <field-nameC>12345</field-nameC>
    </NameC>
    </MyRecordset>
    </ns:MyDocument>
    Regards,
    Vinod.

  • EOIO JMS Sender Channel in Error

    Hi All,
    We have a error on JMS sender channels in Pre-Production environment.
    Let me explain you the problem.
    On Dev and QA there is no cluster environment. On Pre-production we have 3 clusters. We tested this Sender JMS channel on Dev and QA without giving a Cluster ID and it worked.
    Now on Pre prod, we had not mentioned the cluster ID and when messages were picked from the Queue, the channel went into a error mode stating the " Channel is locked due to EOIO".
    Then when we added the cluster ID to the channel, in RWB the channel goes into inactive mode. The status is " The EOIO channel has been made inactive on Node 206485150"
    The node mentioned in channel is 251902150. This means that the other node has been made inactive. That sounds logical as it is not supposed to process the message.
    But the node which is mentioned in the channel has also gone into error mode.
    " Error creating JMS connection. failed to create MQManager for ' Hostname:Channel name'". An MQException occured: Completion code 2, Reason 2009
    MQJE016: MQ queue managerclosed channel immediatly during connect. Closure reason= 2009, and erro code as MQJMS2005
    After this all other sender JMS channels have gone into the same error mode on this node.
    We have stopped the JMS service and started it. We also restarted the XI server but no change was encountered.
    Please let us know whether JMS sender with EOIO works with cluster ID as I'm not able to find any document which says that JMS with EOIO works succesfully.
    Please also let us know how to overcome the error on this node.
    Thank you.
    Regards,
    Sarvesh Desai

    Check if there is any unprocessed message stuck in the queue:
    /people/stefan.grube/blog/2006/04/27/how-to-deal-with-stuck-eoio-messages-in-the-xi-30-adapter-framework

  • Error in JMS Sender Adpater

    Hi
    I am doing Weblogic-PI-File scenario
    when i try to pick the XML file from Weblogic JMS queues its giving the follwing error
    Error occurred while processing message: 552eec87-b6c3-4035-2675-cc3cd57b5487. Detailed error (if any):  com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Error in converting Binary message <?xml version="1.0" encoding="UTF-8"?> <ns0:MT_File_Sender xmlns:ns0="urn:XXXXXXXX.com:JMSReciever"><SalesOrderDetails><MRNNumber>1234</MRNNumber><FirstName>ABC</FirstName><LastName>CDE</LastName><SocialSecurity>1234567890</SocialSecurity></SalesOrderDetails></ns0:MT_File_Sender> to XI message for message: 552eec87-b6c3-4035-2675-cc3cd57b5487: TransportException: No MIME header found
    Edited by: S V on Jan 27, 2009 1:08 AM

    Hi I am using Weblogic JMS Queues ..
    and the connection parameters i am using :
    JNDI LOOKUP NAME FOR QUEUE CONNECTION FACTORY:
    mm.jms.VendorConnectionFactory
    JNDI LOOKUP NAME OF JMS QUEUE: mm.jms.PIOutboundTestQueue
    NAME OF JNDI INITIAL CONTEXT: weblogic.jndi.WLInitialContextFactory
    JNDI SERVER ADDRESS : t3://vendor.xxx.xxxxxxx.com:6107
    JNDI LOGON USER : xxxxxx
    JNDI LOGON PWD : XXXXXX
    did i miss anything ... or do i have configure anything on JMS sender adpater so that it will convert the text message into Binary

  • File not getting picked up JMS sender communication chnanel in EOIO mode

    Hi Experts,
    We have a scenario to process the messages in sequence via JMS sender comm channel. We changed the jms channel to EOIO, after the change, the channel is in green but no message arrives to the Adapter engine.
    We are working on a newly installed PI 7.11 system.
    When i change the jms to EO the files are getting picked and processed by the channel from the JMS MQ client.
    Is there any setting that needs to be checked or changed?
    Are any drivers issue?
    Thanks.

    Did you create the Queue to be used for the EOIO messages ?
    For EO it would used any of existing Queues to process the messages for EOIO you have to mention specific Queue name which has to hold the messages in EOIO fasion.
    pls share the config details of JMS Sender Processing Tab. I'm sure once you setup the Queue it should work.
    Thanks
    Kishore

  • Doubts in JMS Sender adapter configuration (SonicMQ JMS Provider)

    Hi All,
    I am doing a TIBCO--> XI integration using JMS sender adapter. Adapter status is as follows..
    <b>"Sender channel. Details: (No detail information set.)"</b>.
    XML Msg in TIBCO-ems queue which JMS adapter access is as follows.....
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_Studdetails xmlns:ns0="http://abc.com/xi101/XSLTmap">
       <Records>
          <student_ID>
             <fname>abc</fname>
             <lname>efg</lname>
             <DOB>11/09/1980</DOB>
             <marks>
                <science>90</science>
                <maths>78</maths>
                <lang>80</lang>
             </marks>
          </student_ID>
       </Records>
    </ns0:MT_Studdetails>
    <u>My Queries...</u>
    what will be the Msg selector entry for my JMS sender Adapter? Is it MT_Studdetails???
    My sender adapter is green in RWB Adapter Monitor, but I am not able see my msg in SXMB_MONI. why it is so??
    regards,
    Raks

    Hi,
    Did you follow the how-to guide available at SAP Marketplace to deploy the JMS Adapter. If so, i believe the information given in that guide is incomplete.
    Once you have installed the JMS Driver, you must deploy the Java libraries on the J2EE server so that the JMS adapter can access the required Java classes at runtime.
    If you use MQSeries 53x.xxx, you must enter the following JAR files in aii_af_jmsproviderlib.sda.
    com.ibm.mq.jar
    com.ibm.mqbind.jar
    com.ibm.mqjms.jar
    connector.jar (use the JAR file from the J2EE client directory)
    and if ur question is, "Where do I get the Java Library from "
    The required Java libraries are product-specific and can be obtained from either the product vendor or other providers.
    And i guess the 4 jar files should be enough. Just remember to add these 4 jar files to 'provider.xml' file inbetween the <jars>..</jars> tag.
    Follow the instructions as per the guide,
    https://websmp205.sap-ag.de/~sapdownload/011000358700003994312004E/HowTo_ConfigExtAdapters.pdf
    But just remember to have all the 4 jar files in aii_af_jmsproviderlib.sda
    Regards,
    Abhy

  • Handling large messages with MQ JMS sender adapter

    Hi.
    Im having trouble handling large messages with a MQ JMS sender adapter.
    The messages are around 35-40MB.
    Are there any settings I can ajust to make the communication channel work?
    Error message is:
    A channel error occurred. The detailed error (if any) : JMS error:MQJMS2002: failed to get message from MQ queue, Linked error:MQJE001: Completion Code 2, Reason 2010, Error Code:MQJMS2002
    The communication channel works fine with small messages!
    Im on SAP PI 7.11, MQ Driver is version 6.
    Best Regards...
    Peter

    The problem solved itself, when the MQ server crashed and restarted.
    I did find a note that might could have been useful:
    Note 1258335 - Tuning the JMS service for large messages or many consumers
    A relevant post as well: http://forums.sdn.sap.com/thread.jspa?threadID=1550399

Maybe you are looking for

  • Communication Express - session timeout too fast

    Hi all, I have problem with communication express. Sometime, users are deconnected with the error : "Connection session time out. Please relog" This error can appear after 2 min, after reading 1 mail, or just after logging. I have tested with differe

  • How check what's stored in the data store at different steps in the model?

    I would like to place a table or form temporarily within the model to display the values in the data store as they change at different points at runtime. I tried simply adding a form, creating the same field types as are in the store, and then mappin

  • ICE Differential package upload - object deletion

    I am having an issue with uploading a differential package into another KM repository. As I understand, a differential package will download the data necessary for an incremental update, i.e. any renamed, new or deleted objects will be updated in the

  • Performance issue after PT Upgrade.

    Hakan and Team , We recently moved from PT 8.48 TO PT8.51.18 on CRM 8.8 Application. After the upgrade, we tremendously saw big performance issues with PeopleSoft CRM Application. It freezes almost every day and all their work-force (call center repr

  • Error message while runing the Synch Job in Background job after Patch Upgd

    Friends We are 5.3 GRC CC on Windows 2003 and ECC 6.0  BI 7.0 We just upgraded the patches to 12 for GRC CC and ran the Synch job in background.... Eveytime we run the Synch job for Usre Roles and profiles or Batch Risk Analysis in Background, job fi