JMS Queue to accept byte messages

Hi Gurus,
I am using the SOA verion 10.1.3.4 for Siebel to EBS integration. In fusion middleware BPEL I am getting error that ProcessSaleOrder is requiring an XML input. As Transports handle all data as binary data (bytes) so I need to define the queue to accept the byte messages. Can someone please tell me How and where I can make this change.
Thanks
Shashi

If you are looking at how to configure composite to accept bytes message:
Not sure in soa 10 g , but if it is similar as in 11 g andif you have jms adapter you should be able to set this in the .jca file i think ..there is a property called "PayloadType" which can be set to 'BytesMessage'. You might also need to ensure that the jms producer is sending bytes messages to this queue.
If you are looking at how to define an aq with jms bytes message then it should be in queue table definition.
dbms_aqadm.create_queue_table(
queue_table=>"myQueueTable",
queue_payload_type=>'sys.AQ$_JMS_BYTES_MESSAGE',
multiple_consomers=>false
);

Similar Messages

  • How to configure my JMS QUEUE serve only one message at a time?

    Hi All,
    I have requirement where I need to develope a JMS QUEUE in weblogic. This MDB has to serve only one message at a time. Is there any way to configure via annotations or in weblogic server settings ?
    Any help would be really appreciated...
    Thank you,
    K.

    I'm not aware of any way to configure the max pool size via annotations, you might try posting to the EJB newsgroup (please post back the answer). Of course you can set the size via an EJB descriptor, as per the MDB chapter of the Performance and Tuning guide in the edocs.
    By the way, if you have ordered message processing requirements, I highly recommend taking a look at the WebLogic JMS "Unit-of-Order" (UOO) feature as per the UOO chapter of the JMS programmer's guide. For a variety of reasons, the UOO features is often, by far, the best option for handling such requirements. If this feature applies to your use case, then there would be no need to force single threaded message processing in some sort of manual fashion (the feature enforces this for you).
    Tom

  • Multiple Messages in Same JMS queue

    Hello,
    I have interfaces in which different xml messages from the same sender system will be placed in the same MQ queue, is there a way that XI JMS sender channel can differentiate the xml messages based on the payload?
    I can create a single communication channel, but the outbound message interface I cannot create a common structure because the xml messages are huge and there will be future interfaces following the same architecture.
    1. How can I route in interface determination based on the context in the inbound msg interface?
    2. What can I provide as Message interface for the outbound?
    3. MessageSelector attribute in Adapter specific properties - any ideas on this? - I can select this in the condition context in interface determination - can I give any values here to differentiate msges?
    4. Value mapping - is it possible to define the sender message interface through this?
    Any idea is appreciated..THank you..

    Hi Thanujja,
    We have recently completed a project that had this requirement too. We made use of the MessageSelector to solve this problem. You'll need to make use of some advanced (advanced tab)settings in the comm channel. Basically you want to add Additional JMS Message Properties. You can add up to 10 additonal JMS Properties.
    Let's say you've added a property called MESTYP. You then need to get the sender to populate the MESTYP property with a text value for each IDoc involved e.g. DELVRY. You would then set your JMS Message Selector field as follows: MESTYP='DELVRY'.
    You'll have a comm channel for each IDoc. These comm channels will then connect to the JMS Queue & only pick up messages that meet the criteria at set in the Message Selector.
    There was one other problem that encountered with Message Selector, we were on XI version 7.0, the Message Selector was working intermittently & then we applied SAP Note 1256636 & upgraded to 7.01. Everything is working fine after that.
    Trevor

  • 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

  • Receving Value Object from JMS queue

    Hi,
    I want to receive a Value Object from JMS Queue.  I am able to send Value object to JMS queue successfully using "Send Message to Queue". However, Receive message from Queue is not working as expected and throwing below error:
    2013-11-11 00:22:30,456 ERROR [com.adobe.workflow.AWS] (http-0.0.0.0-8080-8) An exception was thrown with name com.adobe.livecycle.jms.exception.JMSReceiverException message:com.TestCustomDataTypes.CustomDataTypes while invoking service JMS and operation receiveMessageFromQueue and no fault routes were found to be configured.
    Class definition:
    public class CustomDataTypes implements java.io.Serializable{
    public String customerId;
        public String customerName;
        public String groupId;
        public String getCustomerName() {
            return customerName;
        public void setCustomerName(String customerName) {
            this.customerName = customerName;
        public String getGroupId() {
            return groupId;
        public void setGroupId(String groupId) {
            this.groupId = groupId;
        public void setCustomerId(String customerId) {
            this.customerId = customerId;
        public String getCustomerId() {
            return customerId;
    Below are the settings used in "Receive Message from Queue" :
    MessagePayLoadType: Serializable
    messagePayLoad: ObjOutput(Datatype: com.TestCustomDataTypes.CustomDataTypes)
    Please find the error screenshot.
    Please suggest how to resolve this.
    Thanks,
    Ramu

    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)

  • Integration with JMS queue from BizTalk 2013R2

    Hi All,
    We are planning to integrate biztalk application with Oracle Siebel CRM (8.1.1.11). they wanted to use JMS queue to receive xml message from BizTalk2013R2 and also send message to BizTalk for more reliability.
    IS there any out of box adapter by which we can connect to their JMS queue.
    We dont want to go with 3rd party software like jt adapter for JMS queue
    Regards,
    Manish
    Manish

    Hi Manish,
    As of now there is no out-box-adapter for JMS queue.
    If you don’t want JNBridge adapter (I hope you’re referring to same. There is no “jt” adapter as you mentioned), you can create a custom adapter which access the JMS queue.
    Use WCF LOB adaper (WCF Lob
    Adapter Wizard)and create an adapter.
    Following article details about the .NET code for messaging with JMS queue, try the code.
    Use JMS Messaging in your C# Applications
    And following articles give details about using WCF LOB adapter/Wizard:
    What Is the WCF LOB Adapter SDK?
    Sample:
    https://msdn.microsoft.com/en-us/library/bb798102.aspx
    http://geekswithblogs.net/michaelstephenson/archive/2009/02/10/129302.aspx
    Use similar code (one from above codeproject article where how to do messaging between JMS queue is shown) to wrapper it around custom WCF LOB adapter.
    Give it a try, if you don’t want to spend anything on a 3<sup>rd</sup> party adapter.
    Regards,
    M.R.Ashwin Prabhu
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • HowTo:Publish Msg to JMS queue deployed in a Weblogic Cluster from a client

    Hello All-
    I am new to Weblogic and need help from this forum. Forgive me for my ignorance. I am learning.
    Below is a brief about the context and the issues that we are facing:
    Background
    =======
    1. We have Oracle Service Bus (OSB) installed on top of Oracle Weblogic Server (ver 10.3). In OSB we have developed a proxy service that listens to a JMS queue for an incoming message
    2. The Weblogic environment is a cluster having 2 managed servers listening to different ports and it is front-ended by a Apache Load Balancer.
    3. Our requirement is to post an XML message from a Java client to the JMS queue which will then initiate the proxy service deployed. We are using t3 protocol to post the message from the client to the JMS queue
    Issue
    ====
    1. To post an XML message from the client, how do we give the address of the JMS queue in the clustered environment to enable failover/loadbalancing if one managed server goes down. I understand from your earlier posts in this forum that directly hitting the JMS queue on a particular managed server will not enable failover/loadbalancing in case one of them goes down
    2. Do we need to modify any config file in the Apache Proxy Plugin?
    3. Do we need to provide the address of the Apache proxy in the client to send the message?
    Kindly clarify and let me know me know if you need any additional information.
    Greatly appreciate your help!!!
    Regards,
    Dibya

    Hi Dibya,
    Please refer to : http://weblogic-wonders.com/weblogic/2010/05/13/apache-proxy-as-static-content-repository/#comment-1379
    Thanks
    Jay SenSharma

  • Polling a JMS Queue

    Hi,
    I am new to ODI,my scenario is that I want to poll a JMS Queue, from ODI for messages, and once I receive the message I want to persist it in DB, I need help to make this work.
    Thanks,
    Rahul

    I think you ran into a known Bug that has been fixed in recent versions/service-packs (sorry, I don't know the version number). Setting the delivery mode override to Persistent is fine as a work-around as long as you're sure that your applications don't send non-persistent messages to the affected destinations. If this is a concern and you need to force the delivery mode override back to its default whilst still keeping your time-to-live override, I think you can probably do this by shutting down your domain, then editing your XML to remove the delivery mode override stanza, and finally restarting...
    Tom

  • JMS Queue monitoring

    Hi everyone,
    is there any way to monitor a jms queue with its contained messages ? i'm talking about a tool like the jmx console in jboss - the JMS Adapter and JMS Notification in the Visual Admin only provide some properties.
    Any suggestions ?

    Hi,
    In short what you want (sending email in case message has stayed too long time in the queue), is NOT possible directly. That's not a standard feature by the JMS spec.   
    What is possible is the is so-called dead messages, once the acknowledgment fails the predefined number of times then the messages will be redirected to a special queue. From there the messages can be exported by telnet.
    Check SAP note 777930 for more info. Btw, it might be a good idea to get familiar with that note, otherwise if the external server let's say always throws an exception while processing the message, it will be moved to this special queue and unless someone issues the appropriate telnet commands, nobody will understand about this.
    However if you disable this  feature, that will mean that the message will be delivered endlessly, causing CPU load. Not nice if you have doubts in your external listeners.                                                                               
    Now about the queue monitoring :
    You could create manually a periodic task (EJB timers in J2EE 1.4 which is covered in the prerelease of the next server version, or if you are using Netweaver 04s or 04s than perhaps java.util.Timer) that will periodically open a JMS browser, check the  messages in the queue, if they have stayed too long time (>100 seconds for example ?) or if the queue is too big (>100 messages) you can send manually the email alert that something has went wrong. By usage of the JAVA API that should be simple
    Another thing you can do is that inside your external listeners and the onMessage method, you could check manually the number of times the message is redelivered, if it is above some threshold (i.e . if it is 3, that means the SAP server has delivered the message 3 times , since the listener have rejected it 2 times already),then you can send the email via the standard java API. The delivery count can be retrieved by using the standard optional property JMSXDeliveryCount from the message.                                                      
    HTH
    Peter

  • How to manage jms queue?

    How to manage jms queue. I want to do operation on messages on jms queue like deleting the messages and hold the message for some time . Please provide the sample code for that.

    Thanks a lot Tom for the reply, I have read about the descriptor setting 'max-beans-in-free-pool' and I searched this concept at the Administration Console without success.
    I suppose other way is create a “Session Pools” under the JMSServer, and then create a “Consumer” and define the setting “Messages Maximum”. One of the disadvantages is that “Session Pools” don’t support JTA, from the documentation:
    +Session pools enable an application to process messages concurrently. Session pools are now used rarely, as they are not a required part of the J2EE specification, do not support JTA user transactions, and are largely superseded by message-driven beans (MDBs), which are a required part of the J2EE specification.+
    I continue reading the MDB chapter of the performance and tuning guide in the documentation, thanks for any contribution to the topic.
    Lucas.

  • Creating a Queue to hold the message with in the program

    Hi
    Iam creating a Queue(linked Queue or any other java Queue) with in my project.The main purpose is to check the acknowledgement message for a any message sent to the client(JMS QUEUE).
    Whenever a message is sent to MQ, it is also sent to the internal Queue so that the return ack message will delete the top most message from the internal queue, thus indicating the left out non-acknowledged messages.
    But the messages inside the internal Queue are not persisting, when ever i call an object( I used singleton to get the object) of the Queue it is giving me a new Queue thus ignoring the previous message.
    Can anybody let me know how can i solve this problem.

    Anyone? Just need to know where I can change that message and also how I can set up the icloud calender to send invites using my work email address (as configured in Mail)?

  • JMS queue getting slower and slower

    We are facing a rather strange behaviour on our WL 8.1.5 cluster (2 nodes).
              One of our JMS queues receives about 400 messages every 5 minutes (the distribution is unbalanced with a peak every 5 minutes). These are forwarded to one MDB instance on every cluster node. Everything works perfect for some time, but there's a creeping performance degradation, although the cluster nodes' resources are far from being exhausted.
              The first message peeks can be processed quite well. After some time, fewer and fewer messages can be processed within a one-minute slot, finally resulting in a queue that gets fuller and fuller. After about 5 hours and some thousand unprocessed (meaning: not processed by the MDB and thus still in the queue) messages the queue becomes a 'storage pipe', forwarding an old message only if the sender inserts a new one.
              Any suggestions ?

    I don't think there is any switch to resolve this issue. You need to conduct JMS tuning to improve performance.
              o Start with downstream , Check if your message processing itself is very slow. Monitor Message Driven bean for any rolledback transactions or timed out transactions. Incremental thread dumps during peak processing time may also help.
              o Monitor memory usage and GC frequency of the server during peak condition. If you see high memory usage and high GC frequency, you might want to
              - Tune JVM with Garbage collection and heap size.
              - Turn on message paging to free up memory resources
              o I am not sure, How well it works ? However you might want to try control flow between producer and consumer.
              http://edocs.bea.com/wls/docs81/ConsoleHelp/jms_tuning.html#1121837
              Good luck !!!

  • Receiving Unknown Byte Messages in JMS Queues from MDM 2.0

    I am receiving unknown Byte messages in JMS CCB MDM Queue from MDM 2.0.
    It keeps on increasing. Please let me know how to avoid this. and what may be the error.

    Hi,
    Set these flags with in your startup script like setDomainEnv.sh file or startWebLogic.sh file.
    set these option near java_properties or options.
    once you set please restart and one more point I missed here once you set these debug flags change the logging patter patter to debug mode under
    server >> logging
    change all the logging severity to debug mode and collect the debug.
    Regards,
    Kal

  • 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)

  • Transform Bytes message to text message using JMS

    please any one tell me how to transform Bytes message coming from Queue to JMS...and i want convert it into text message ...
    please give me the source code or tell me the way to solve this problem...
    i am new to java....
    thanks
    Kiran

    Your question is not clear. Are you getting an object from the queue or are you getting a byte from the queue?
    I am not sure about byte coming from a queue, If you are getting an object then you can do this
    In your MDB onMessage() you can do the following
    public void onMessage(Message myMessage)
         ObjectMessage Obj = (ObjectMessage) myMessage;
         Object Msg = Obj.getObject();
         MyMessage lMessage = (MyMessage) Msg;
         //do your processing here with the object
    }

Maybe you are looking for