UTF-8 enabling JMS message read from MDB

Hi,
I need to read a Chinese name from the JMS topic through the onMessage event of a EJB3.0 MDB. I'm using the ESB 10.1.3 JMS adapter to push data into my DemoTopic.
But, when I read the JMS message from the MDB, I get '????' as part of Chinese name value.
How and where do I have to set the character set to UTF-8?
Vikas

Check where your MDB sends the [response] messages to.

Similar Messages

  • How to read JMS message properties from BPEL or BPMN process

    Hi all,
    I have a JMS Adapter that consumes messages from a remote ActiveMQ queue and I don't find the way the get the properties of the JMS message as I would like to map them in BPEL or BPMN process variable. I only manage to get the content of the message.
    I've also read that if using a MapMessage, one of the map entry can be mapped directly and that the other map entries go to jca.jms.Map.xxxx where xxxx is key of the map entry.
    But how can I map those "jca.jms.Map.xxxx" properties on process variables ? and how to map JMS Properties (that seem to be mapped on jca.jms.JMSProperty.xxxx) to process variables ?
    I use SOA Suite version : 11.1.1.4.0
    Thanks for your help

    SOA Suite 11g - how to set/get JMS headers ?

  • Problem reading JMS message received from MQSeries

    I have a message listener listening on an MQSeries queue.
    I'm expecting a text message back, but what I get is
    partially listed below.
    Any idee's to what I need to do would be greatly received.
    thanks
    JMS Message class: jms_bytes
    JMSType: null
    JMSDeliveryMode: 2
    JMSExpiration: 0
    JMSPriority: 0
    JMSMessageID: ID:414d51205344454e44553031202020203dc7e0ff00223082
    JMSTimestamp: 1038261667350
    JMSCorrelationID:null
    JMSDestination: null
    JMSReplyTo: null
    JMSRedelivered: false
    JMSXDeliveryCount:1
    JMS_IBM_MsgType:8
    JMSXAppID:MQSeries Client for Java
    JMS_IBM_Format:
    JMS_IBM_Encoding:273
    JMS_IBM_PutApplType:28
    JMS_IBM_Character_Set:ISO8859_1
    JMSXUserID:mqm
    JMS_IBM_PutTime:22010735
    JMS_IBM_PutDate:20021125
    Integer encoding: 1, Floating point encoding 256
    3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c52
    65706c79437573746f6d65725374617475735f3030313e3c434e54524f4c415245413e3c4253523e

    I have a temporary/partial solution to this problem.
    As we control the application adapter that is posting messages to the MQSeries queue, we have changed the sender to put the text into the bytes message object using writeUTF rather than writeText that it was using. My reader the does a readUTF.

  • JMS Message reading problem

    Hi all
    I have a problem with MQJMS...I am successful in putting the message to the queue and also reading it...but the problem is that i was trying to put a string message in the queue...but i am not able to read the original string from the message.this is the code i used....
    Putting the message in the queue
    String Buffer = "Message";
    boolean transacted = false;
    session = qconnection.createQueueSession( transacted, Session.AUTO_ACKNOWLEDGE);     
    BytesMessage message =
    session.createBytesMessage();
    message.setJMSType("DATAGRAM");               
    message.setStringProperty("Fmt","PLAINTEXT");               
    message.writeBytes(Buffer.getBytes());                              
    qSender = session.createSender(ioQueue);               
    qSender.send(message);
    Reading the message from the queue
    QueueReceiver queueReceiver = session.createReceiver(ioQueue);     
    Message msg = queueReceiver.receive(Long.parseLong(pollTime));     
    If I try to print the msg i am getting the details as
    JMS Message class: jms_bytes
    JMSType: String
    JMSDeliveryMode: 2
    JMSExpiration: 0
    JMSPriority: 4
    JMSMessageID: ID:414d5120454149544553544d47522020456e8f002004d901
    JMSTimestamp: 1165040197487
    JMSCorrelationID:null
    JMSDestination: queue://EAITESTMGR/BALU.IN
    JMSReplyTo: null
    JMSRedelivered: false
    JMSXDeliveryCount:1
    JMS_IBM_MsgType:8
    Fmt:PLAINTEXT
    JMSXAppID:java
    JMS_IBM_Format:
    JMS_IBM_Encoding:273
    JMS_IBM_PutApplType:6
    JMS_IBM_Character_Set:UTF8
    JMSXUserID:eaijdev
    JMS_IBM_PutTime:06163748
    JMS_IBM_PutDate:20061202
    Integer encoding: 1, Floating point encoding 256
    54484953204d45535341474520495320564941204a4d53204348414e4e454c
    But the thing i need is to get the same string value ie Message
    Anyone out there could please help me out with this
    Thanks in advance
    Balagopal

    See: http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/jms_tutorialTOC.html
    BTW you are diplaying the toString() value of the Message object itself. You need to call the Message class's method to get the message out of the Message object.

  • Sending/Receiving JMS message to WMQ from Automated Task

    Hi All,
    I am new to OSM and working on a POC for the implementation of OSM in our company. We have WebSphere MQ for messaging and want to use same for OSM implementation. We don't want to create bridges, foreign server etc configuration in weblogic, rather just connect with MQ objects over JNDI (as supported) from OSM automated task. Having said that, we have following two scenarios:
    1- JMS message is received at OSM
    2- JMS message initiated from OSM (automated task)
    Now our requirement is to create a sort of JMS inbound gateway for first scenario i.e. reading a message from a Queue and CreateOrder and then reply back to caller using JMSReplyTo header.
    Second as JNDI support is available for automated task, can we send JMS message using direct JNDI look up for MQ JNDI objects i.e. using .bindings file (JNDI URL for MQ objects).
    Thanks

    Hi All,
    I am new to OSM and working on a POC for the implementation of OSM in our company. We have WebSphere MQ for messaging and want to use same for OSM implementation. We don't want to create bridges, foreign server etc configuration in weblogic, rather just connect with MQ objects over JNDI (as supported) from OSM automated task. Having said that, we have following two scenarios:
    1- JMS message is received at OSM
    2- JMS message initiated from OSM (automated task)
    Now our requirement is to create a sort of JMS inbound gateway for first scenario i.e. reading a message from a Queue and CreateOrder and then reply back to caller using JMSReplyTo header.
    Second as JNDI support is available for automated task, can we send JMS message using direct JNDI look up for MQ JNDI objects i.e. using .bindings file (JNDI URL for MQ objects).
    Thanks

  • Consuming JMS messages Asynchronously

    Can any one let me know how to consume the JMS messages Asynchronously from Queues.
    Thanks,
    Naveen

    well for instance with an MDB
    if you want a long, theoretical explanation here you are http://docs.oracle.com/javaee/5/tutorial/doc/bncgl.html#bncgq
    otherwise some examples with a lot of explanation here http://www.roseindia.net/ejb/example-of-messageBean.shtml

  • Do not disturb enable text messages?

    Hi!
    Sorry if I posted this in the wrong place, I'm pretty new to apple forums.
    Anyways, I was wondering if it was possible to enable text messages/imessages from particular contacts (or favorites, etc.) when do not disturb is active just like you can enable calls from favorites?  In case someone needs to contact you in an emergency but can't call for some reason.
    And if not, are there any apps that could do this?
    I want to be able to sleep at night, but if family has to text me in an emergency I would like to be woken up.
    Thanks!

    Do Not Disturb does not have setting to let Text Messages through like phone calls. I agree it would be a useful feature.
    Give Apple Feedback > http://www.apple.com/feedback/
    Hope that helps

  • How to stop reading foreign queue message from MDB using weblogic 6.1? thanks,

    Hi, I am using weblogic 6.1 to communicate with IBM MQseries foreign
    queue. I use the asychronous way "onMessage()"(properly the only
    known way) to listen the messages from the queue. I like to stop
    receiving messages if my south bound stream has problems and not able
    to process the message, I would like to stop fetching the message with
    my MDB(message driven bean) untill the down stream problem is cleared.
    As weblogic uses container to create the multiple session and
    connections internally, how can I efficiently stop the message
    delivery, do I have to locate all the connections and issue
    connection.stop()for each one, or there is better way to do this.
    Thanks in advance.

    If you never use FaceTime on your Mac, open the FaceTime app on it and sign out. Also, the following instructions are from Connect your iPhone, iPad, iPod touch, and Mac using Continuity - Apple Support
    Turn off iPhone cellular calls
    To turn off iPhone cellular calls on your iPad or iPod touch, go to Settings > FaceTime and turn off iPhone Cellular Calls.
    On your Mac, open the FaceTime app and go to FaceTime > Preferences. Click Settings and deselect the iPhone Cellular Calls option.

  • 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

  • How to stop and start MDBs to listen for JMS messages

    Hello! This might be more of an architecture question rather than a technical questing, but I post it here, in the lack of a better place...
    For several years I have been using Webster and Webster MQ to send messages back and forth to clients. The architecture for the middleware platform has been designed around the functionality of ListenerPorts. Listenerports is a Webster functionality that let you "stop" and start to listen to JMS messages for a given MDB either by admin console, or by JMX.
    The arhitecture we used was something like this :
    1.Client sends a persistent message to a queue. (order)
    2. An MDB pics up the order message, calls a SessionBean that "fronts" the IIOP back end system.
    This is quite "out of the box" architecture, but we used the Listenerports to solve a stability problem for our back end system.
    The backEnd system was quite unstable, so the EJB threw an exception (typically because of timeout or connection refused) back to the MDB.
    The Listenerport was "defined" to handle 3 errors before stopping, so the MDB resent the message twice before the listenerport automatically stopped. The nice thing about this feature was that the client could continue to send orders, and was not bothered when the back end system was down.
    When the backEnd system was up and running, we could start the listenerport and it was all back to normal state. We even had a start script that checked the state of the listenerport every 30 minute, and started it automatically if it was stopped, making the admin task of starting the MDB unnecessary..
    Now.. Why am I telling this story..
    I would like to know how this could be done using "clean" J2EE technologies..That is..Not using any technology that is not portable..
    I`m playing with glassfish at home, and it struck me that there is nothing in the J2EE spec that defines the functionality described above ? Am i missing something ?
    I Do not want to stop My application because the back end system is down? That is the only way (i know of) that i can "stop" to listen for messages..
    I can put all the messages on an error queue when the backbend system is down, but that would lead to more code just to handle the error messages. Maybe the easiest way to solve this is to "move" (programmatically) all messages from the error queue over to the "standard" queue every XX minute, but somehow that sounds "wrong"
    Can anyone give me some advice to how this problem situation should be solved ? I`m interested in the solution both from an architectural perspective and from a more technical perspective..
    Best regards
    Hans-Jacob Melby

    Breakpoints, whether normal or conditional, are just meant for debugging of your code.  I had the sense from your question that the pausing you want to do is a part of normal operation of your code.  I would NOT recommend using a breakpoint for that situation.  It would bring up the block diagram showing the breakpoint when it occurs.  A user besides the programmer would not know what to do in that case.
     Yes, both the inner and outer loops would have shift registers.
    Putting a case structure with a small while loop inside the "Pausing Case" is doable.  It just depends on what you are doing or waiting for while the program operation is "paused".

  • When using rabbitmq-jms for vFabric RabbitMQ javax.jms.Message.getJMSDestination does not return the actual destination when it is received from a consumer listening on a Topic with a wild card

    When using rabbitmq-jms for vFabric RabbitMQ javax.jms.Message.getJMSDestination does not return the actual destination when it is received from a consumer listening on a Topic with a wild card. I have tested with both 1.0.3 and 1.0.5 clients with RabbitMQ 3.1.5.
    I was wondering if the community was aware of this problem and if there are any workarounds? If not what is the proper channel to file a bug report. An example code snippet is below. The test fails because the TextMessageMatcher expects the destination passed in on construction (second parameter) to equal the desination on the message received (aquired from getJMSDestination).
            Mockery context = new Mockery();
            final MessageListener messageListener = context.mock(MessageListener.class);
            final Latch latch = new LatchImpl();
            final String prefix = "test" + System.currentTimeMillis();
            context.checking(new Expectations() {
                    oneOf(messageListener).onMessage(with(new TextMessageMatcher("MSG1", prefix + ".1234")));
                    will(new CustomAction("release latch") {
                        @Override
                        public Object invoke(Invocation invocation) throws Throwable {
                            latch.unlatch();
                            return null;
            final Connection connection = createConnection(null, null);
            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
            connection.start();
            Topic wildcardTopic = (Topic) getInitialContext().lookup(prefix + "." + "#");
            Topic destination = (Topic) getInitialContext().lookup(prefix + ".1234");
            final MessageConsumer consumer = session.createConsumer(wildcardTopic);
            consumer.setMessageListener(messageListener);
            MessageProducer producer = session.createProducer(null);
            producer.send(destination, session.createTextMessage("MSG1"));
            latch.await(5000);
            connection.close();
            Thread.sleep(5);
            context.assertIsSatisfied();

    Check where your MDB sends the [response] messages to.

  • MDB sending a JMS message to a queue (WLS 8.1.4)

    We are trying to implement a MDB to send a JMS message to a dynamically created JMS queue. Is this possible? We have found documentation stating the JMS Queue destination needs to be in the deployment descriptor, but in our case it changes so this is not an option. Any help would be appreciated.

    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.

  • Sending jms message from bc4j session bean

    Hi,
    i need to send some message from my bc4j (deployed as session bean).
    i have successfully deployed my mdb to listen for these message via Queue. I try to send some message from test client it works well, this the code snippet :
    String connectionFactoryName = "java:comp/env/jms/QueueConnectionFactory";
    String queueName = "java:comp/env/jms/demoQueue";
    JMSSender sender = new JMSSender(connectionFactoryName,queueName);
    sender.send("test");
    sender.close();
    when i move this code to my bc4j(session bean), message is sent, but my mdb doesn't receive it !( onMessage procedure doesn't come out )
    Really appreciate for help,
    Ricky H.P.

    sorry, this is JMSSender class source code:
    public class JMSSender{
    Context jndiContext;
    QueueConnectionFactory connectionFactory;
    QueueConnection connection;
    QueueSession session;
    TextMessage message;
    QueueSender queueSender;
    Queue queue;
    public JMSSender(String connectionFactoryName,String queueName){
    init(connectionFactoryName,queueName);
    void init(String connectionFactoryName,String queueName){
    * Create a JNDI InitialContext object.
    try {
    jndiContext = new InitialContext();
    } catch (NamingException e) {
    e.printStackTrace();
    * Look up connection factory and queue. If either does
    * not exist, exit.
    try {       
    //connectionFactory = (QueueConnectionFactory)jndiContext.lookup("java:comp/env/jms/QueueConnectionFactory");
    //queue = (Queue)jndiContext.lookup("java:comp/env/jms/demoQueue");
    connectionFactory = (QueueConnectionFactory)jndiContext.lookup(connectionFactoryName);
    queue = (Queue)jndiContext.lookup(queueName);
    }catch (Exception e) {
    e.printStackTrace();
    public void send(String strMessage){
    try {
    connection = connectionFactory.createQueueConnection();
    session = connection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
    String correlationId = Long.toString(System.currentTimeMillis());
    message = session.createTextMessage();
    message.setText(strMessage);
    queueSender = session.createSender(queue);
    queueSender.send(message);
    } catch (Exception ex) {
    ex.printStackTrace();
    } finally {
    System.out.println("message sent success !!!");
    public void close(){
    try {
    queueSender.close();
    session.close();
    connection.close();
    } catch (Exception ex) {
    ex.printStackTrace();
    } finally {
    public static void main(String args[]){
    new JMSSender("java:comp/env/jms/QueueConnectionFactory","java:comp/env/jms/trgBctQueue");
    }

  • I tunes: when trying to burn a playlist I keep getting the message: the attempt to burn a disc failed. The disc could not be read from or written to. I am using version 12

    I tunes: I am using version 12 of I tunes. Ever since downloading it I get the message when trying to burn a playlist it says, The attempt to burn a disc failed. The disc could not be read from or written to.
    I uninstalled V-12 and then reinstalled it. This enabled me to burn a disc again but after a couple of tries I received the same error message again. Has Apple put out a fix to this problem that anyone is aware of?
    Thanks.

    Hi rossfrombluffton,
    Welcome to the Support Communities!  The resource below provides some general things to consider when burning a disc with iTunes.  I would also try burning a music CD and a data disc from a different application in the Windows OS and trying a different brand CD just to confirm the issue is not with the optical drive.
    Can't burn a CD in iTunes for Windows - Apple Support
    http://support.apple.com/en-ae/HT203173
    Find out what to do if you can't burn an audio CD using iTunes for Windows. Sometimes an audio disc may not burn as expected. Here are some things to check.
    Update iTunes
    Download and install the latest version of iTunes for Windows.Check for unauthorized songs
    iTunes will stop burning a disc if you purchased one or more of the songs in a playlist from the iTunes Store and the songs aren't authorized to play on your computer. This message should appear: "Some of the files can not be burned to an audio CD. Do you still want to burn the remainder of this playlist? For more information on why some files can not be burned, click below."
    To find out which songs aren't authorized, play each song in the playlist. Songs that play are authorized. Songs that don't play aren't authorized. You'll be asked to authorize any unauthorized songs.Make sure your playlist will fit on a single CD
    If there are too many songs in a playlist to fit on a single CD, iTunes should ask if you want to burn multiple discs or cancel the burn. This message should appear: "The songs in this playlist will not fit on one Audio CD. Do you want to create multiple Audio CDs with this playlist split across them? This will require more than one blank CD to complete."
    If you click the Audio CDs button, the burn will continue and you'll be asked to insert blank CDs until the playlist is completely burned. If you click cancel, the burn will be canceled.
    To make the playlist shorter so that it will fit on a single CD, select a song to remove from the playlist and choose Edit > Clear. Repeat this step until the duration of the playlist is between 60 and 80 minutes. The duration appears at the top of the playlist window. Most CD-R discs can hold 60 to 80 minutes of music.
    Check how many times you've burned the playlist
    An unchanged playlist that contains songs purchased from the iTunes Store can be burned no more than seven times.Additional steps and submitting feedback
    Go to iTunes Support to get additional troubleshooting suggestions specific to your optical drive configuration or to submit feedback to Apple.Learn more
    For additional troubleshooting, please see these steps:
    Additional troubleshooting tips for burning issues
    iTunes for Windows doesn't recognize my audio CDs
    Last Modified: Feb 3, 2015
    Have a good day ...
    - Judy

  • Message failing in SXMB_moni----Error while reading from the secure store

    Hi,
    The scenario is as below
    A file is picked up from a folder and processed to enrich it.This enriched file is then written back in a different folder.
    The message is failing in sxmb_moni while trying to write the file in the folder.
    The PI system is a system copy of another system and few of the configuration objects are transported through a tpz file to this PI system.The file receiver channel used to write this file is also transported through this tpz file.
    Below is the error seen in moni.:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Call Adapter --> <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:Category>XIServer</SAP:Category><SAP:Code area="INTERNAL">AE_DETAILS_GET_ERROR</SAP:Code><SAP:P1/><SAP:P2/><SAP:P3/><SAP:P4/><SAP:AdditionalText>Error while reading from the secure store: ERROR_U: No service user password found for Adapter Engine</SAP:AdditionalText><SAP:Stack>Error while reading access data (URL, user, password) for the Adapter Engine
    </SAP:Stack><SAP:Retry>M</SAP:Retry></SAP:Error>
    Below is Trace log:
    <Trace level="1" type="B" name="PLSRV_CALL_ADAPTER"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL"></Trace><!-- ************************************ -->
    <Trace level="1" type="B" name="CL_XMS_PLSRV_IE_ADAPTER-ENTER_PLSRV">
    <Trace level="1" type="B" name="CL_XMS_PLSRV_CALL_XMB-CALL_XMS_HTTP"></Trace><!-- ************************************ -->
    <Trace level="1" type="T">error reading secstore:Error while reading from the secure store: ERROR_UNKNOWN: System-dependent data for entry  changed:  / (SECSTORE,031) </Trace>
    <Trace level="1" type="System_Error">Error while reading access data (URL, user, password) for the Adapter Engine  </Trace>
    </Trace>
    </Trace>
    <Trace level="1" type="System_Error">Error exception return from pipeline processing! </Trace>
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST"></Trace><!-- ************************************ -->
    Is this because  PI system is a system copy of another system ?
    Regards,
    Sneha

    Error while reading access data (URL, user, password) for the Adapter Engine
    Check out Michal's reply:
    Re: URL for Central Adapter Engine
    As you said there was a system copy it may be the case that some things were not configured properly

Maybe you are looking for

  • Interface determination did not yield any actual interface

    Hello, I'm doing a file to proxy scenario where I sent a csv file to proxy. I'm using POD SAP 7.4 and I have done all the configurations properly. I'm getting this error - "interface determination did not yield any actual interface". Please help. Tha

  • The registry setings for burning discs are missing notice

    how can i set my registry settings to burn cds

  • MIRO -additional filed XREF3

    Hi Team, Question:1 We have requirement to add XREF3 field in MIRO/MIR7. Our ABAPer  activate the reference key filed .when we try to open this MIRO we can able to see the reference key field but after entering the PO this field not appearing  what i

  • How to display leading zeros in a report

    Hi folks, I am doing a HR report and the users are very much used to seeing a two digit numeric value as the pay scale since their legacy days. In BW, I have the Pay Scale defined as a character (2) and it shows the values on the report as follows: P

  • Export content from cluster table RSZWOBJ

    Hello, i need the html-cotent of the SAP BW cluster table 'RSZWOBJ'. I've tried this about the ABAP statement IMPORT FROM DATABASE rszwobj(bm) ID key but the results wasn' t very succesfully. The goel is to get the html-coding of the relevant BW-book