Reading JMS queue

Hi all,
Reading messages from a JMS queue is possible using the JMS API. Looking up the topic or queue in the JNDI tree and listen for new messages.
When the client is deployed remotely (over Internet) it will be difficult to use JNDI to lookup to access the topic/queue.
Is it possible to use SOAP to read messages from the queue? SOAP will run over HTTP which will not cause any problems on the firewalls.
Any ideas on how to design these things is greatly appreciated.
Kind regards,

Hi all,
Reading messages from a JMS queue is possible using the JMS API. Looking up the topic or queue in the JNDI tree and listen for new messages.
When the client is deployed remotely (over Internet) it will be difficult to use JNDI to lookup to access the topic/queue.
Is it possible to use SOAP to read messages from the queue? SOAP will run over HTTP which will not cause any problems on the firewalls.
Any ideas on how to design these things is greatly appreciated.
Kind regards,

Similar Messages

  • Problem Reading JMS queue

    I have written a jms client to read a queue in weblogic. Specifically the wlai
    event queue. However, I have tried to read other not-wli specific queues with
    the same error. I get an access denied error even trying the system user!
    I have even played with the ACL for the queue.
    Anyone have any ideas?
    Thanks

    You need to add a 'browse' permission for your user to the ACL for that queue (or
    the weblogic.jms ACL). It worked for me.
    If you look in the stack, it mentions that your user was denied for the action
    'browse'.
    "Ryan Richards" <[email protected]> wrote:
    >
    Thanks for the help. I am not dequeueing any messages when I read them.
    I have
    also verified that there are messages on the queue. Here is the access
    denied
    message I am receiving.
    Start server side stack trace: weblogic.jms.common.JMSSecurityException:
    Access
    denied to resource: type=<jms>, application=, destinationType=queue,
    resource=RyanTestQueue,
    action=browse at weblogic.jms.JMSService.checkPermission(JMSService.java:1065)
    at weblogic.jms.JMSService.checkBrowsePermission(JMSService.java:1081)
    at weblogic.jms.frontend.FESession.browserCreate(FESession.java:1100)
    at weblogic.jms.frontend.FESession.invoke(FESession.java:2254) at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:602)
    at weblogic.jms.dispatcher.DispatcherImpl.dispatchAsync(DispatcherImpl.java:152)
    at weblogic.jms.dispatcher.DispatcherImpl.dispatchSyncFuture(DispatcherImpl.java:303)
    at weblogic.jms.dispatcher.DispatcherImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
    at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
    End server side stack trace
    at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:109)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:127)
    at weblogic.jms.dispatcher.DispatcherImpl_WLStub.dispatchSyncFuture(Unknown
    Source) at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:282)
    at weblogic.jms.client.JMSSession.createBackEndBrowser(JMSSession.java:1749)
    at
    weblogic.jms.client.JMSQueueBrowser.<init>(JMSQueueBrowser.java:46) at
    weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1344)
    at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1324)
    at Test.init(Test.java:41)
    at Test.main(Test.java:115) Exception in thread "main"
    Thanks for any help Ryan
    "Karthik V" <[email protected]> wrote:
    Check if you have selected the running server as target for your connection
    factory and JMS server config (from admin console).
    If still problem exists, can you post the exception and portion of your
    client code causing the problem?
    Remember one thing when trying to listen on any wli specific queues:
    there
    might be MDBs that consumes the message before your client code canread
    from the queue. So avoid creating listeners on wli specific queues.(topic
    is not a problem)
    /k
    "Ryan Richards" <[email protected]> wrote in message
    news:[email protected]...
    I have written a jms client to read a queue in weblogic. Specificallythe
    wlai
    event queue. However, I have tried to read other not-wli specific
    queues
    with
    the same error. I get an access denied error even trying the systemuser!
    I have even played with the ACL for the queue.
    Anyone have any ideas?
    Thanks

  • BPEL not able to read JMS Queue defined on a remote Application Server

    We are trying to access a JMS queue (defined on an Oracle AS different from the SOA Suite AS) through BPEL and read the payload. When I am trying to read the JMS queue, somehow it is trying to get the queue information from my local application server and not going to the remote one.
    I have done the following setups on my local SOA Suite Enterprise manager for the queue connection factory. The adapter name is "eis/jms/XXXQueueAdapter"
    connectionFactoryLocation: jms/ESBSubscriberQueue
    factoryProperties:
    java.naming.factory.initial=oracle.j2ee.rmi.RMIInitialContextFactory;java.naming.provider.url=opmn.ormi://hostname:port; java.naming.security.principal=oc4jadmin;java.naming.security.credentials=Password
    Where "hostname:port" is for the remote Application Server.
    On the BPEL side, I have created a connection for the Remote server in the Enterprise Manager. Then I have created a partnerlink using this connection. The OEMS is "File/Memory". The Destination Name is the Queue name on the Remote AS which I can browse. The JNDI name is "eis/jms/XXXQueueAdapter" (Which is the name of the connection I created on my local). Somehow when the BPEL process is run, it is trying to look for the JMS Queue on my local server.
    I have also used the Third Party option instead of Oracle AS with the same configuration and it does not work either.
    Any help would be really appreciated.
    Asif Hussain

    Got a solution.

  • How to read the messages in the JMS Queue using JMX

    Hi,
              I want to read messages in the JMS queue using JMX. I was able to read using QueueBrowser but want to modify priority of the messages using JMX.
              I tried to use JMSDestinationRuntimeMBean but it does not allow us to read messages unless we pass the message Id. Is there any way that I can get all the messages in the queue.
              I am using Weblogic 8.1 SP4
              Can someone please help me in this regard.
              Thanks,
              Kiran.
              Edited by KGudipati at 10/22/2007 1:22 AM

    Hi,
    As far as i know, JMS Object Messages is not supported by XI JMS adapter.
    you need to have the JMS provider to transform the message to bytes messages.
    (Refer to SAP note 856346)

  • Reading Message from Foreign JMS Queue in SOA Suite 11g.

    Hi,
    I am trying to read a JMS message that has been put into a JMS Queue on a remote weblogic Server.
    The steps that I know is that I need to create a foreign JMS Server and then probably use JMS Adapter to subscribe to the message that is lying in the remote queue.
    Has anybody been able to achieve this kind of scenario working for a remote JMS queue? Also, is this supported by JMS Adapter in SOA11g?
    Any help will be appreciated.
    Regards,
    Varun Maheshwari

    Hi Atheek1,
    Thanks for your reply.
    The confusion that is pondering me is that do I need to create a Foreign JMS Server or should I create a JMS adapter and override the properties.
    I have tried the steps for creating a Foreign Server from the below link
    Unable to access remote JMS Queue through JMS Adapter
    But I am not able to find the Foreign Server created and any connection factories and Destinations related to foreign Server in my JMS Destination while configuring JMS Adapter.
    I am not sure how to do step2 as entailed by you.
    Could you please explain me in little detail on how to do this or redirect me to some blog or forum which will be really helpful.
    Cheers,
    Varun

  • Reading Opaque data from jms queue  and decoded  in java embedding

    Hi ,
    Objective:Fetch text message from queue and print it from java embedding in BPEL
    I am fetching text message from a jms queue using JMS adapter in BPEL.Then converting the opaque data(Base64 binary)to string using java embedding.My build got successful but I am getting runtime error at the time of deployment.
    I have added fabric-runtime.jar file into SCA-INF\lib folder as well as project library directory.
    <extensionActivity>
    <bpelx:exec name="Java_Embedding1" version="1.5" language="java">
    <bpelx:exec import="java.io.*"/>
    <bpelx:exec import="oracle.soa.common.util.Base64Decoder"/>
    <![CDATA[//Write your java code below e.g.        
         System.out.println("Hello, World");       
    //   String input = ((Element)getVariableData("Receive1_Consume_Message_InputVariable")).getTextContent();              
      // String inputName = (String)getVariableData("input");     
      String input = (String)getVariableData("Receive1_Consume_Message_InputVariable");            
    //Receive1_Consume_Message_InputVariable.opaque          
          System.out.println("input:"+input);          
          addAuditTrailEntry(input);           
          Base64Decoder Decoder = new Base64Decoder();             
         try {            
          String decoded = Base64Decoder.decode(input);            
          setVariableData("Variable_opaque_decoded",decoded);            
          addAuditTrailEntry(decoded);           
    catch(UnsupportedEncodingException uee)
    uee.printStackTrace();
    }]]>
    </bpelx:exec>
    </extensionActivity>
    Error:
    Error deploying archive sca_JMSToDBInsert_rev1.0.jar to partition "default" on server AdminServer [http://localhost:7001]
    HTTP error code returned [500]
    Error message from server:
    There was an error deploying the composite on AdminServer: Error occurred during deployment of component: BPELProcess1 to service engine: implementation.bpel, for composite: JMSToDBInsert: ORABPEL-05250
    Error deploying BPEL suitcase.
    error while attempting to deploy the BPEL component file "C:\Oracle\Middleware\user_projects\domains\soa_domain\servers\AdminServer\dc\soa_0fb06e23-bac3-4753-aae9-0fc4b54b4dd1"; the exception reported is: java.lang.RuntimeException: failed to compile execlets of BPELProcess1
    This error contained an exception thrown by the underlying deployment module.
    Verify the exception trace in the log (with logging level set to debug mode).
    Check server log for more details.
    Error deploying archive sca_JMSToDBInsert_rev1.0.jar to partition "default" on server AdminServer [http://localhost:7001]
    #### Deployment incomplete. ####
    Error deploying archive file:/C:/SOA Suite/SOA_POC/Client2JMSapps/Client2JMSapps/JMSToDBInsert/deploy/sca_JMSToDBInsert_rev1.0.jar
    (oracle.tip.tools.ide.fabric.deploy.common.SOARemoteDeployer)
    Could you guys please help me regarding this?
    Thanks & Regards,
    Souvik
    Edited by: Souvik Pal on Apr 16, 2012 9:40 PM

    You probably want to try the SOA Suite forum for OSB questions.
    SOA Suite
    There is an excellent book also:
    http://jeffdavies.org/
    The documentation goes over the fundamentals, but the book will be better for step by step examples.

  • Message Driven Bean reading multiple times from a jms queue

    Hi,
    I am facing a strange problem with my message driven bean. Its configured to read message from a jms queue. But sometimes it read the same message multiple times from the jms queue.
    We are using weblogic server 8.1 sp5.
    Please find below our descriptor files
    ejb-jar.xml  
    <ejb-jar>  
      <display-name>ClarifyCRM_Process_Manager_13.1</display-name>  
      <enterprise-beans>  
        <session>  
          <display-name>ProcessManager</display-name>  
          <ejb-name>ProcessManager</ejb-name>  
          <home>com.clarify.procmgr.ejb.ProcessManagerHome</home>  
          <remote>com.clarify.procmgr.ejb.ProcessManagerRemote</remote>  
          <ejb-class>com.clarify.procmgr.ejb.ProcessManagerEJB</ejb-class>  
          <session-type>Stateless</session-type>  
          <transaction-type>Container</transaction-type>  
        </session>  
        <message-driven>  
          <display-name>ProcessManagerListener</display-name>  
          <ejb-name>ProcessManagerListener</ejb-name>  
          <ejb-class>com.clarify.procmgr.ejb.ProcessManagerMDB</ejb-class>  
          <transaction-type>Bean</transaction-type>  
          <acknowledge-mode>Auto-acknowledge</acknowledge-mode>  
          <message-driven-destination>  
            <destination-type>javax.jms.Queue</destination-type>  
          </message-driven-destination>  
        </message-driven>  
      </enterprise-beans>  
      <assembly-descriptor>  
        <container-transaction>  
          <method>  
            <ejb-name>ProcessManager</ejb-name>  
            <method-name>*</method-name>  
          </method>  
          <trans-attribute>Required</trans-attribute>  
        </container-transaction>  
      </assembly-descriptor>  
    </ejb-jar>  
    weblogic-ejb-jar.xml  
    <weblogic-ejb-jar>  
      <weblogic-enterprise-bean>  
        <ejb-name>ProcessManager</ejb-name>  
        <stateless-session-descriptor>  
          <pool>  
            <max-beans-in-free-pool>100</max-beans-in-free-pool>  
            <initial-beans-in-free-pool>10</initial-beans-in-free-pool>  
          </pool>  
        </stateless-session-descriptor>  
        <enable-call-by-reference>False</enable-call-by-reference>  
        <jndi-name>ProcessManagerHome</jndi-name>  
        <dispatch-policy>PMExecuteQueue</dispatch-policy>  
        <remote-client-timeout>0</remote-client-timeout>  
      </weblogic-enterprise-bean>  
      <weblogic-enterprise-bean>  
        <ejb-name>ProcessManagerListener</ejb-name>  
        <message-driven-descriptor>  
          <pool>  
            <max-beans-in-free-pool>100</max-beans-in-free-pool>  
            <initial-beans-in-free-pool>10</initial-beans-in-free-pool>  
          </pool>  
          <destination-jndi-name>clarify.procmgr.jms.queue.Execution</destination-jndi-name>  
          <connection-factory-jndi-name>clarify.procmgr.jms.factories.ExecConnection</connection-factory-jndi-name>  
        </message-driven-descriptor>  
        <enable-call-by-reference>True</enable-call-by-reference>  
        <dispatch-policy>PMListenerExecuteQueue</dispatch-policy>  
        <remote-client-timeout>0</remote-client-timeout>  
      </weblogic-enterprise-bean>  
    </weblogic-ejb-jar>   The MDB is sometimes reading multiple times from clarify.procmgr.jms.queue.Execution
    Also i would like to add here that the connection factory we are using clarify.procmgr.jms.factories.ExecConnection is having the following properties
    ServerAffinity Enabled=true
    XA connection factory enabled=false.
    Please help me out here!!

    Maybe, your MDB "sometimes" throws an Exception in onMessage.
    Check if this happens when you set <max-beans-in-free-pool>1</max-beans-in-free-pool>.

  • Read message synchronously from JMS queue using OSB

    Hi,
    Is it possible to read message from the JMS queue using OSB based on the request invocation. I know messages can be read from the queue but it will be polling based.
    The requirement is to have an OSB proxy service (HTTP service ) an an interface to the client application. Client application invokes the proxy service and the proxy service need to read message from the JMS queue and provide the message as response to the client.
    Let me know if there are any pointers.
    Thanks
    Sandeep

    Hi,
    I spent some time trying to do this and apart from creating custom database tables etc. I was not able to achieve this.
    We wanted to use in memory JMS queues in our situation.
    In the end we developed a Java Web Service which preformed the on-demand read from the queue (using a particular message selector)
    This is working for us without a problem
    Robert

  • BAM EMS to read payload from JMS queue in remote weblogic domain

    Hi ,
    I am trying to connect to JMS queue located in different web logic domain using oracle BAM EMS configuration. But my EMS configuration is not able to start .
    Please find below details,
    Name:
    OSBBAM_EMSProcessor
    Owner:
    XXXXX
    Created:
    9/23/2014 12:05:21 AM
    Last modified:
    9/24/2014 10:58:58 PM
    Status:
    Test failed - BAM-00553: Resources start operation for destination jms/OSBBAM_EMSQ failed.
    Initial Context Factory:
    weblogic.jndi.WLInitialContextFactory.
    JNDI Service Provider URL:
    t3://xx.xxx.xx.xx.:xxxx.
    Topic/Queue Connection Factory Name:
    jms/osbConnectionFactory.
    Topic/Queue Name:
    jms/OSBBAM_EMSQ.
    JNDI Username:
    XXXX
    JNDI Password:
    XXXXXXX
    JMS Message Type:
    TextMessage.
    Durable Subscriber Name (Optional):
    Message Selector (Optional):
    Data Object Name:
    /BAMPOC/BAM_AuditTable.
    Operation:
    Insert.
    Batching:
    No.
    Transaction:
    No.
    Start when BAM Server starts:
    Yes.
    JMS Username (Optional):
    JMS Password (Optional):
    Can any one guide me how to proceed with that?I have already tried with trusted setup in WLS and foreign server but It did not work.

    You can refer to the following link for the detailed steps :-
    Link :[http://www.informit.com/articles/article.aspx?p=170722&seqNum=3]

  • How to read Java Object message from JMS Queue using JMS Adapter .

    Dear All,
    In my scenario i have to read a java object message from JMS Queue . I tried by using the JMS Adaper ,but i am not getting any Payload . Can any one tell me is there any special settings for JMS Adapter to read the Java Object message .
    I am able to read the Message successfully thru JMS Adapter but in SXMB_MONI it is not showing any payload .
    I also went in Message monitoring but i am getting this type of message in Sender JMS Adapter  in Audit Log.
    JMS Message ID XXXXX Message Type Null unknown.Payload can not be read and will be empty.
    JMS Message ID XXXXX Payload Empty can not read.
    Please Help.
    Lateef

    Hi,
    As far as i know, JMS Object Messages is not supported by XI JMS adapter.
    you need to have the JMS provider to transform the message to bytes messages.
    (Refer to SAP note 856346)

  • I want to use ODI to read XML messages from JMS queue and then process it..

    I want to use oracle ODI (Oracle Data Integrator) to read XML messages from JMS queue and then process it.. i also want to process and validate the data in it....
    Could anyone please tell me the steps to achieve the same. I tried some ways which i got on OTN, but not able to implement it exactly...
    As i m very new to ODI, it will be great if you provide detailed steps..
    Thanks in advance for your help....

    Hi,
    Were you able to do it? We are facing this same issue now and, despite the fact the docs say otherwise, it does not seem to be a trivial task.
    TIA,
    Tedi

  • How to Read Message from JMS Queue using Business Service(ALSB3.0)

    Hi,
     My Project Set up is as follows(using ALSB3.0).
    1>One Proxy Service with transport as HTTP.
    2>The Proxy service is calling another Business Service.
    3>The Business Service has transport layer as JMS.
    So here the business service is posting Request Message into the JMS queue.
    I want at the same time it(The Business Service) should listen to another queue and from there it should read Response Message and forward back to the caller proxy service.
    Can any one help me regarding this...
    Thanks in advance...
    Deba

    Hi ,
    Problem in : Reading / writing messages to the JMS Queue -
    I am stuck with the same problem and I am not able to proceed futher, Can you please help me out in sending an example of how to do right configurations in ALSB and on the server. I read the documentation but still I dont see messages in the queues.
    please help me out. can you post a small sample example
    thanks
    adi

  • How to read message from JMS queue as a ByteMessage

    Hi,
    i want to browse a xml message from a JMS queue(in Weblogic 8.1) as a ByteMessage instance and then need to put it into byte array .
    Then i want to read each byte by byte from that array.
    Can any one please help me to solve it.
    (i am using java language in the program to browse message from a queue).
    Thanks in advance.
    Regards,
    Deba

    You can refer to the following link for the detailed steps :-
    Link :[http://www.informit.com/articles/article.aspx?p=170722&seqNum=3]

  • JMS Bulk Read of Queue

    does anyone have jms code sample to perform bulk reads from a jms queue?
              

    What the heck is a bulk read from a JMS Queue, how is that different from
              the work a regular QueueReceiver performs? You may get better results by
              posting this to the JMS forumn
              ~Ryan Upton
              "bea user" <[email protected]> wrote in message
              news:4022872c$[email protected]..
              > does anyone have jms code sample to perform bulk reads from a jms queue?
              

  • Recieve/Read  Messages  from JMS Queue through ALSB

    Hi,
    I have configured JMS Queue in weblogic server.
    I have created Messaging Service in ALSB which sends messages in MESSAGE QUEUE.
    Now Is it possinle to receive messages from JMS Queue by creating business service in Aqualogic Service bus???

    Hi dear,
    <br>
    I am sending Message through Serializable Object.
    <br>
    I have JMS Proxy which gets invoked when i send message to JMs Queue. JMS Proxy then calls business service.
    <br>
    <br>
    Business Service has two functions. One is taking String as input and one is taking Serializable Object as Input.
    <br>
    <br>
    public void recieveString(String str)<br>
    public void recieveObject(Trade obj)<br>
    --------------------------------------------------<br>
    Now I have configured Proxy Services' Request and Response
    Message Type as a "TEXT". and I am sending ObjectMessage here so what kind of change I require.
    <BR>
    I also want to configure my proxy so that if JMS queue recieves TextMessage then it should invoke reciveString() function and if Object Message then vice versa.....
    <BR><BR>
    But i am not able to handle object even...
    When I am sending Object Message it takes as a TextMessage.
    I am getting following exception when I am sending Object Message to JMS QUEUE. Request and Response Message types are XML Schema of that object.
    <BR>
    <BR>
    <Nov 30, 2006 4:57:19 PM IST> <Warning> <EJB> <BEA-010065>
    <BR>
    <MessageDrivenBean threw an Exception in onMessage(). The exception was: java.lang.AssertionError.<BR>
    java.lang.AssertionError at com.bea.wli.sb.transports.jms.JmsInboundMDB.onMessage(JmsInboundMDB.j
    ava:112)
    at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:42
    9)
    at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDL
    istener.java:335)
    at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:
    291)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4060)
    Truncated. see log file for complete stacktrace
    >
    Message was edited by:
    alwaysvaghu

Maybe you are looking for

  • Diff between oracle 10g and 11g

    Can any one could tell me what is the main diff between oracle 10g and 11g ? Thanks in Advance Venkat

  • Is it possible to launch native app through third party app.

    I am making the app in which I want to launch the others app,I am able to launch the third party app but not the mobile native app. Is it possible to launch native app through third party app. Thanks in advance. Solved! Go to Solution.

  • Syslog fails [SOLVED]

    Today about an hour ago I did a pacman -Syu. The most relevant part was : upgraded filesystem (2012.7-1 -> 2012.8-1) [2012-08-30 17:34] ln -s '/usr/lib/systemd/system/[email protected]' '/etc/systemd/system/getty.target.wants/[email protected]' [2012-08

  • Often cannot open e-mail on ATT. Can open it on Safari

    I go to firefox and click on ATT for mail. I often cannot get the e-mail to open. When I go to Safari it always opens. I prefer Firefox, but am about to give up on it.

  • Barcodes in Crystal 11

    Hi, I have an existing report that we have migrated to Crystal 11 on a Windows 2008 64 bit machine.  Barcodes used to work on the report but no longer do.  I get a message that: UFL 'u2lbar' that implements this function is missing. It looks like the