AQ JMS CLOB Msg

Hi all,
I have a PLSql proc that enqueues A CLOB to an AQJMS (AQ$_JMS_TEXT_MESSAGE) queue succesfully. You can see the data in the USER data section of the message on the queue table. When I try and dequeue it with a standalone java program the msg is dequeued succesfully, msg id is available and the msg disappears off the queue.
BUT!!!! The msg payload is null. We are using the thin driver db is 9.2.5
Has anyone seen this before or got any ideas? If you think we need to use the thick driver please tell use why we get a propblem with OCIHandles..
Many thanks
Stew

Can you elaborate on how to this. My code is as follows:
CREATE OR REPLACE PROCEDURE pr_enqueue_msg (
pi_Operation IN VARCHAR2,
pi_ObjectXML CLOB
Purpose : Procedure to enqueue a message to the AQ table.
IS
enqueue_options DBMS_AQ.enqueue_options_t;
message_properties DBMS_AQ.message_properties_t;
message_handle RAW (16);
MESSAGE SYS.AQ$_JMS_TEXT_MESSAGE;
BEGIN
               MESSAGE := SYS.AQ$_JMS_TEXT_MESSAGE(NULL, LENGTH(pi_ObjectXML), pi_ObjectXML, NULL);
                              --MESSAGE.set_text(pi_ObjectXML);
                              MESSAGE.set_string_property('OPERATION',pi_Operation);
DBMS_AQ.enqueue (queue_name => 'CRAMER.Abraham_Node_AQ',
enqueue_options => enqueue_options,
message_properties => message_properties,
payload => MESSAGE,
msgid => message_handle
COMMIT;
END pr_enqueue_msg;
If I enqueue the message with
MESSAGE := SYS.AQ$_JMS_TEXT_MESSAGE(NULL, LENGTH(pi_ObjectXML), pi_ObjectXML, NULL);
I can get use the jms code :
message = (AQjmsTextMessage) receiver.receive(5000);
String str = message.getText()
If, however,
If I enqueue the message with
MESSAGE := SYS.AQ$_JMS_TEXT_MESSAGE(NULL, LENGTH(pi_ObjectXML), NULL, pi_ObjectXML);
(The message is created with a CLOB rather than the VARCHAR)
the the get text returns null.
What java method do I need to use to get the CLOB???
Any help is appreciated.
Jon

Similar Messages

  • Invoke Error while inserting consumed JMS Topic msg in table thru DBadapter

    Hi All,
    To brief abt my requirement, I am integrating Peoplesoft HRMS module with Oracle SOA i.e.,
    +
    1. PS HRMS module will publish a JMS msg into a JMS Topic
    2. I will consume the same msg using JMS adapter consume operation in my SOA project
    3. The Payload(msg) is coming into RECEIVE activity and thru ASSIGN activity invoking the DB adapter to insert the msg into a table.
    4. INVOKE activity is throwing the below error(along with the error, able to see the payload in INVOKE activity )
    <part name="summary"> +
    <summary>*Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'insert' failed due to: Mapping Not Found Exception. The mapping [EMPLID] for descriptor [class insert.Employee] could not be found. The input xml record had an element [Employee/EMPLID]. Most likely the wrong xml input variable (not matching the expected xsd) was passed to this invoke. Make sure that the input xml is valid relative to the xsd and that the mapping exists in the Mappings.xml. If an old version of the descriptor without this mapping has been loaded by the database adapter, you may need to bounce the app server. If the same descriptor is described in two separate Mappings.xml files, make sure both versions include this attribute/mapping. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. *</summary>
    </part>
    Please, provide some suggestions.
    Regards,
    Satya

    Hi Satya,
    Try replacing the Assign activity with a Transform acitivity.
    Also please check the schema that comes of the DB adapter is having the similar sort of definition that you are getting in your input.
    What I mean is to check for length of fields, type of the fields etc.
    Thanks,
    Deepak.
    Edited by: DeepakDabbiru on Oct 23, 2012 3:29 AM

  • JMS Text Msg Payload - Oracle 8i

    I am using Oracle8i Enterprise Edition Release 8.1.7.4.0 for creating a queue uisng Oracle AQ with payload type
    SYS.AQ$_JMS_TEXT_MESSAGE. When I tried create a queue, I found some of components in SYS.AQ$_JMS_TEXT_MESSAGE are missing in Oracle 8i. Without those components usage, the message cannot set as payload in the queue. The explanation is as below.
    My script for creation of queue is as follows..
    CREATE OR REPLACE PROCEDURE NCR_ESB_NOL_SCRIPT(order_clob_load in CLOB)
    IS
    qtable_present number;
    queue_present number;
    enqopt dbms_aq.enqueue_options_t;
    msgprop dbms_aq.message_properties_t;
    enq_msgid raw(10000);
    order_headers_clob clob;
    msgsize number(38);
    message sys.aq$_jms_text_message;
    clob_msg_queuetable varchar2(100);
    clob_msg_queue varchar2(100);
    BEGIN
    -- Queue table and queue
    clob_msg_queuetable := 'TEST_QTAB';
    clob_msg_queue := 'TEST_Q';
    order_headers_clob := order_clob_load;
    --create queue table
    select count(*) into qtable_present from user_tables where table_name = 'TEST_QTAB';
         if (qtable_present <> 1)
         then
              dbms_aqadm.create_queue_table(queue_table => clob_msg_queuetable,
                                            multiple_consumers => TRUE,
                                       queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE',
                                       compatible => '8.1');
         end if;
    --create queue 
    select count(*) into queue_present from user_queues where name = 'TEST_Q';
         if (queue_present <> 1)
         then
              dbms_aqadm.create_queue(queue_name=>clob_msg_queue,
    queue_table => clob_msg_queuetable,
    retention_time => 86400);
    dbms_aqadm.add_subscriber(clob_msg_queue, SYS.AQ$_AGENT ('OA', NULL, NULL));
         end if;
    dbms_aqadm.start_queue(clob_msg_queue);
    message := sys.aq$_jms_text_message.construct;
    message.setText(order_headers_clob);
    dbms_aq.enqueue(
    queue_name => clob_msg_queue, -- IN
    enqueue_options => enqopt, -- IN
    message_properties => msgprop, -- IN
    payload => message, -- IN
    msgid => enq_msgid); -- OUT
    COMMIT;
    When I tried the above script, I got error as follows.
    PL/SQL: Statement ignored
    PLS-00302: component 'CONSTRUCT' must be declared
    PL/SQL: Statement ignored
    PLS-00302: component 'SETTEXT' must be declared
    When I tried DESC SYS.AQ$_JMS_TEXT_MESSAGE , it shows as :
    SQL> DESC SYS.AQ$_JMS_TEXT_MESSAGE
    Name Null? Type
    HEADER AQ$_JMS_HEADER
    TEXT_LEN NUMBER(38)
    TEXT_VC VARCHAR2(4000)
    TEXT_LOB CLOB
    It does not show the components CONSTRUCT and SET_TEXT. Also I will be in need of GET_TEXT component also to dequeue the queue data and test it. I would like to know whether the components CONSTRUCT and SET_TEXT are availble in Oracle 8i or not. Without those components, is there any other way to set payload in the queue?
    Help in this regard from any body who knows about this is really appreciated.
    Thanks

    Hi, not sure where you have sorted this out yet, but I ended up creating my own wrappers. Hope these are of use:
    FUNCTION new_properties
    RETURN SYS.AQ$_JMS_USERPROPARRAY
    IS
    l_prop_arr SYS.AQ$_JMS_USERPROPARRAY;
    BEGIN
    l_prop_arr := SYS.AQ$_JMS_USERPROPARRAY();
    RETURN l_prop_arr;
    END new_properties;
    FUNCTION new_agent
    RETURN SYS.AQ$_AGENT
    IS
    c_name CONSTANT VARCHAR2(30) := NULL;
    c_address CONSTANT VARCHAR2(100) := NULL;
    c_protocol CONSTANT NUMBER := 0;
    l_agent SYS.AQ$_AGENT;
    BEGIN
    l_agent := SYS.AQ$_AGENT(c_name, c_address, c_protocol);
    RETURN l_agent;
    END new_agent;
    FUNCTION new_header
    RETURN SYS.AQ$_JMS_HEADER
    IS
    c_type CONSTANT VARCHAR2(100) := NULL;
    c_jms_userid CONSTANT VARCHAR2(100) := 'waveq';
    c_appid CONSTANT VARCHAR2(100) := NULL;
    c_groupid CONSTANT VARCHAR2(100) := NULL;
    c_groupseq CONSTANT INTEGER := 1;
    l_replyto SYS.AQ$_AGENT;
    l_proparr SYS.AQ$_JMS_USERPROPARRAY;
    l_jms_header SYS.AQ$_JMS_HEADER;
    BEGIN
    l_replyto := new_agent();
    l_proparr := new_properties();
    l_jms_header := SYS.AQ$_JMS_HEADER(l_replyto, c_type, c_jms_userid, c_appid, c_groupid, c_groupseq, l_proparr);
    RETURN l_jms_header;
    END new_header;
    FUNCTION new_payload(
    io_message IN OUT NOCOPY VARCHAR2)
    RETURN SYS.AQ$_JMS_TEXT_MESSAGE
    IS
    c_text_len CONSTANT INTEGER := 0;
    c_text_vc CONSTANT VARCHAR2(4000) := NULL;
    c_text_lob CONSTANT CLOB := EMPTY_CLOB();
    l_header SYS.AQ$_JMS_HEADER;
    l_jms_message SYS.AQ$_JMS_TEXT_MESSAGE;
    BEGIN
    l_header := new_header();
    l_jms_message := SYS.AQ$_JMS_TEXT_MESSAGE(l_header, c_text_len, c_text_vc, c_text_lob);
    l_jms_message.text_vc := io_message;
    l_jms_message.text_len := LENGTH(io_message);
    RETURN l_jms_message;
    END new_payload;

  • Problem to send a message with JMS

    Hi
    I'm doing some tests with the api JMS to know how works. I have got some problems. I have been looking for some information but i don't find so much. I have got too doubts.
    I am usinng Netbeans 5.5 with Sun Java System Application Server Platform Edition 9.0_01 (build b14).
    I am trying to do it with ejb. Because in the future the application can have got so many connection in the same time.
    The server shows me the next errors.
    Starting Sun Java System Application Server Platform Edition 9.0_01 (build b14) ...
    CORE5098: AS Socket Service Initialization has been completed.
    CORE5076: Using [Java HotSpot(TM) Client VM, Version 1.6.0_03] from [Sun Microsystems Inc.]
    SEC1002: Security Manager is OFF.
    ADM0001:MBeanServer initialized successfully
    SEC1143: Loading policy provider com.sun.enterprise.security.provider.PolicyWrapper.
    sgmt.service_initialized
    DPL5400:Exception occurred : error in opening zip file.
    ADM1079: Initialization of AMX MBeans successful
    ADM1504: Here is the JMXServiceURL for the Standard JMXConnectorServer: [service:jmx:rmi:///jndi/rmi://t1:8686/jmxrmi].  This is where the remote administrative clients should connect using the standard JMX connectors
    ADM1506: Status of Standard JMX Connector: Active = [true]
    JTS5014: Recoverable JTS instance, serverId = [3700]
    About to load the system app: MEjbApp
    LDR5010: All ejb(s) of [MEjbApp] loaded successfully!
    About to load the system app: __ejb_container_timer_app
    EJB5109:EJB Timer Service started successfully for datasource [jdbc/__TimerPool]
    LDR5010: All ejb(s) of [__ejb_container_timer_app] loaded successfully!
    NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
    EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
    appId=Chat-ejb moduleName=Chat-ejb ejbName=publicarBean
    LDR5004: UnExpected error occured while creating ejb container
    javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:485)
            at com.sun.ejb.containers.BaseContainer.setupEnvironment(BaseContainer.java:2628)
            at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:629)
            at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:163)
            at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:515)
            at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:490)
            at com.sun.enterprise.server.EJBModuleLoader.load(EJBModuleLoader.java:158)
            at com.sun.enterprise.server.AbstractManager.load(AbstractManager.java:206)
            at com.sun.enterprise.server.ApplicationLifecycle.onStartup(ApplicationLifecycle.java:198)
            at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:326)
            at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:112)
            at com.sun.enterprise.server.PEMain.run(PEMain.java:326)
            at com.sun.enterprise.server.PEMain.main(PEMain.java:260)
            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 com.sun.enterprise.server.PELaunch.main(PELaunch.java:272)
    Caused by: javax.naming.NameNotFoundException
            at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:255)
            at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:178)
            at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61)
            at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:98)
            at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:309)
            at javax.naming.InitialContext.lookup(InitialContext.java:392)
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:469)
            ... 17 more
    CORE5021: Application NOT loaded: [Chat-ejb]
    WEB0302: Starting Sun-Java-System/Application-Server.
    WEB0100: Loading web module [__default-admingui] in virtual server [__asadmin] at [/]
    WEB0100: Loading web module [adminapp] in virtual server [__asadmin] at [/web1]
    WEB0100: Loading web module [admingui] in virtual server [__asadmin] at [/asadmin]
    WEB0100: Loading web module [amserver] in virtual server [server] at [/amserver]
    Initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context ''
    Completed initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context ''
    Initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context '/asadmin'
    Completed initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context '/asadmin'
    WEB0712: Starting Sun-Java-System/Application-Server HTTP/1.1 on 8080
    WEB0712: Starting Sun-Java-System/Application-Server HTTP/1.1 on 8181
    WEB0712: Starting Sun-Java-System/Application-Server HTTP/1.1 on 4848
    About to load the system app: __JWSappclients
    WEB0100: Loading web module [__JWSappclients:sys.war] in virtual server [server] at [/__JWSappclients]
    Using MQ RA for Broker lifecycle control
    JMS Service Connection URL is :mq://t1:7676/
    MQJMSRA_RA1101: SJSMQ JMS Resource Adapter starting...
    EB-start:brokerProps={imq.instancename=imqbroker, imq.jmx.rmiregistry.port=8686, BrokerArgs=-port 7676 -name imqbroker -imqhome D:\Sun\AppServer\imq\bin\.. -varhome D:/sun/AppServer/domains/domain1\imq -useRmiRegistry -rmiRegistryPort 8686, imq.jmx.rmiregistry.use=true, imq.portmapper.port=7676}
    [07/nov/2007:18:35:03 CET]
    ================================================================================
    Sun Java(tm) System Message Queue 4.0
    Sun Microsystems, Inc.
    Version:  4.0  (Build 27-a)
    Compile:  Thu 03/02/2006
    Copyright (c) 2006 Sun Microsystems, Inc.  All rights reserved.
    SUN PROPRIETARY/CONFIDENTIAL.  Use is subject to license terms.
    This product includes code licensed from RSA Data Security.
    ================================================================================
    Java Runtime: 1.6.0_03 Sun Microsystems Inc. D:\sun\Java\jdk1.6.0_03\jre
    [07/nov/2007:18:35:03 CET]    IMQ_HOME=D:\sun\AppServer\imq
    [07/nov/2007:18:35:03 CET] IMQ_VARHOME=D:\sun\AppServer\domains\domain1\imq
    [07/nov/2007:18:35:03 CET] Windows XP 5.1 x86 t1 (1 cpu) pepepc
    [07/nov/2007:18:35:03 CET] Java Heap Size: max=506816k, current=46944k
    [07/nov/2007:18:35:03 CET] Arguments: -port 7676 -name imqbroker -imqhome D:\Sun\AppServer\imq\bin\.. -varhome D:/sun/AppServer/domains/domain1\imq -useRmiRegistry -rmiRegistryPort 8686
    [07/nov/2007:18:35:04 CET] [B1060]: Loading persistent data...
    [07/nov/2007:18:35:04 CET] Using built-in file-based persistent store: D:\sun\AppServer\domains\domain1\imq\instances\imqbroker\
    [07/nov/2007:18:35:04 CET] [B1189]: Cluster Service feature is not available
    [07/nov/2007:18:35:04 CET] [B1039]: Broker "imqbroker@t1:7676" ready.
    MQJMSRA_EB1101: run:EMBEDDED broker started with code =0
    MQJMSRA_RA1101: SJSMQ JMS ResourceAdaapter configuration=
            raUID                               =null
            brokerType                          =EMBEDDED
            brokerInstanceName                  =imqbroker
            brokerBindAddress                   =null
            brokerPort                          =7676
            brokerHomeDir                       =D:\Sun\AppServer\imq\bin\..
            brokerVarDir                        =D:/sun/AppServer/domains/domain1\imq
            brokerJavaDir                       =D:/sun/Java/jdk1.6.0_03
            brokerArgs                          =null
            brokerStartTimeout                  =60000
            adminUsername                       =admin
            adminPassFile                       =E:\tempWin\asmq21980.tmp
            useJNDIRmiServiceURL                =true
            rmiRegistryPort                     =8686
            startRmiRegistry                    =false
            useSSLJMXConnector                  =true
            brokerEnableHA                      =false
            clusterId                           =null
            brokerId                            =null
            jmxServiceURL                       =null
            dbType                              =null
            dbProps                             ={}
            dsProps                             ={}
            ConnectionURL                       =
            UserName                            =guest
            ReconnectEnabled                    =true
            ReconnectInterval                   =5000
            ReconnectAttempts                   =3
            AddressListBehavior                 =RANDOM
            AddressListIterations               =3
            InAppClientContainer                =false
            InClusteredContainer                =false
            GroupName                           =null
    MQJMSRA_RA1101: start:SJSMQ JMSRA Connection Factory Config={imqOverrideJMSPriority=false, imqConsumerFlowLimit=1000, imqOverrideJMSExpiration=false, imqAddressListIterations=3, imqLoadMaxToServerSession=true, imqConnectionType=TCP, imqPingInterval=30, imqSetJMSXUserID=false, imqConfiguredClientID=, imqSSLProviderClassname=com.sun.net.ssl.internal.ssl.Provider, imqJMSDeliveryMode=PERSISTENT, imqConnectionFlowLimit=1000, imqConnectionURL=http://localhost/imq/tunnel, imqBrokerServiceName=, imqJMSPriority=4, imqBrokerHostName=localhost, imqJMSExpiration=0, imqAckOnProduce=, imqEnableSharedClientID=false, imqAckTimeout=0, imqAckOnAcknowledge=, imqConsumerFlowThreshold=50, imqDefaultPassword=guest, imqQueueBrowserMaxMessagesPerRetrieve=1000, imqDefaultUsername=guest, imqReconnectEnabled=false, imqConnectionFlowCount=100, imqAddressListBehavior=PRIORITY, imqReconnectAttempts=3, imqSetJMSXAppID=false, imqConnectionHandler=com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler, imqSetJMSXRcvTimestamp=false, imqBrokerServicePort=0, imqDisableSetClientID=false, imqSetJMSXConsumerTXID=false, imqOverrideJMSDeliveryMode=false, imqBrokerHostPort=7676, imqQueueBrowserRetrieveTimeout=60000, imqSetJMSXProducerTXID=false, imqSSLIsHostTrusted=false, imqConnectionFlowLimitEnabled=false, imqReconnectInterval=5000, imqAddressList=localhost:7676, imqOverrideJMSHeadersToTemporaryDestinations=false}
    MQJMSRA_RA1101: SJSMQ JMSRA Started
    endpoint.determine.destinationtype
    NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
    EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
    appId=Chat moduleName=Chat-ejb_jar ejbName=publicarBean
    LDR5004: UnExpected error occured while creating ejb container
    javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:485)
            at com.sun.ejb.containers.BaseContainer.setupEnvironment(BaseContainer.java:2628)
            at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:629)
            at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:163)
            at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:515)
            at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:490)
            at com.sun.enterprise.server.ApplicationLoader.load(ApplicationLoader.java:184)
            at com.sun.enterprise.server.TomcatApplicationLoader.load(TomcatApplicationLoader.java:113)
            at com.sun.enterprise.server.AbstractManager.load(AbstractManager.java:206)
            at com.sun.enterprise.server.ApplicationLifecycle.onStartup(ApplicationLifecycle.java:204)
            at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:326)
            at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:112)
            at com.sun.enterprise.server.PEMain.run(PEMain.java:326)
            at com.sun.enterprise.server.PEMain.main(PEMain.java:260)
            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 com.sun.enterprise.server.PELaunch.main(PELaunch.java:272)
    Caused by: javax.naming.NameNotFoundException
            at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:255)
            at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:178)
            at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61)
            at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:98)
            at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:309)
            at javax.naming.InitialContext.lookup(InitialContext.java:392)
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:469)
            ... 18 more
    Registering ad hoc servlet: WebPathPath: context root = "/Chat", path = "/Chat-app-client'
    Java Web Start services started for application com.sun.enterprise.appclient.jws.ApplicationContentOrigin@aabc2d registration name=Chat
        [email protected]56b4 registration name=Chat, context root=/Chat/Chat-app-client, module name=
    , parent=Chat
    CORE5021: Application NOT loaded: [Chat]
    SMGT0007: Self Management Rules service is enabled
    Application server startup complete.
    JBISE6013: JavaEEServiceEngine : Java EE Service Engine started successfully.
    CORE5024: EJB module [Chat-ejb] unloaded successfully!
    DeployedItemRef postDeregistration failed. Load Balancer Monitoring MBeans might be lying around if this application is being load balanced
    BPEL service engine started
    ADM1064:The upload file at [E:\tempWin\s1astempdomain1server-162970426\Chat-ejb.jar] exists and will be overwritten.
    ADM1006:Uploading the file to:[E:\tempWin\s1astempdomain1server-162970426\Chat-ejb.jar]
    deployed with moduleid = Chat-ejb
    ADM1041:Sent the event to instance:[ModuleDeployEvent -- enable ejb/Chat-ejb]
    endpoint.determine.destinationtype
    NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
    EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
    appId=Chat-ejb moduleName=D__sun_AppServer_domains_domain1_applications_j2ee-modules_Chat-ejb ejbName=publicarBean
    LDR5004: UnExpected error occured while creating ejb container
    javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:485)
            at com.sun.ejb.containers.BaseContainer.setupEnvironment(BaseContainer.java:2628)
            at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:629)
            at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:163)
            at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:515)
            at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:490)
            at com.sun.enterprise.server.EJBModuleLoader.load(EJBModuleLoader.java:158)
            at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:219)
            at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:174)
            at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:406)
            at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleEnabled(StandAloneEJBModulesManager.java:500)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:960)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:941)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:448)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:160)
            at com.sun.enterprise.admin.server.core.AdminNotificationHelper.sendNotification(AdminNotificationHelper.java:128)
            at com.sun.enterprise.admin.server.core.ConfigInterceptor.postInvoke(ConfigInterceptor.java:109)
            at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:97)
            at $Proxy1.invoke(Unknown Source)
            at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:297)
            at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:56)
            at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:142)
            at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:109)
            at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:180)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
            at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:174)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
            at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
            at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
    Caused by: javax.naming.NameNotFoundException
            at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:255)
            at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:178)
            at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:61)
            at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:98)
            at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:309)
            at javax.naming.InitialContext.lookup(InitialContext.java:392)
            at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:469)
            ... 54 more
    CORE5020: Error while loading ejb module
    {code}
    I know it is very large. I think the error it is in this line.
    {code}
    NAM0008 : Invalid Destination: jndi/Topic for java:comp/env/jms/Topic
    EJB5090: Exception in creating EJB container [javax.naming.NamingException [Root exception is javax.naming.NameNotFoundException]]
    {code}
    also I am going to put the code.
    file PublicarBean.java
    {code}
    package org.pepes;
    import com.sun.tools.ws.processor.model.java.JavaArrayType;
    import javax.annotation.Resource;
    import javax.ejb.SessionContext;
    import javax.ejb.Stateless;
    import javax.jms.ConnectionFactory;
    import javax.jms.QueueConnectionFactory;
    import javax.jms.Topic;
    import javax.naming.NamingException;
    * @author pepes
    @Stateless(mappedName="ejb/publicar")
    public class publicarBean implements org.pepes.publicarRemote {
        /** Creates a new instance of publicarBean */
        @Resource(name="jms/QueueConnectionFactory")
        private QueueConnectionFactory connectionFactory;
        @Resource(name="jms/Topic", mappedName="jndi/Topic")
        private Topic topic;
        private javax.naming.InitialContext ctx;
        public publicarBean() {
        public void creaMensaje() throws javax.naming.NamingException , javax.jms.JMSException {
            try {       
                javax.naming.InitialContext ctx = new javax.naming.InitialContext();
                this.connectionFactory = (javax.jms.QueueConnectionFactory)ctx.lookup("jms/QueueConnectionFactory");
                this.topic = (javax.jms.Topic)ctx.lookup("jms/Topic");
                javax.jms.Connection connection = this.connectionFactory.createConnection();
                javax.jms.TopicSession ts = (javax.jms.TopicSession)connection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
                javax.jms.TopicPublisher tp = ts.createPublisher(this.topic);
                javax.jms.TextMessage msg = ts.createTextMessage();
                for (int i = 0; i<3;i++) {
                    msg.setText("Prueba: " + i);
                    tp.publish(msg);
            catch (javax.jms.JMSException jmex) {
                throw jmex;
    {code}
    the file publicarRemote.java
    {code}
    package org.pepes;
    import javax.ejb.Remote;
    * This is the business interface for publicar enterprise bean.
    @Remote
    public interface publicarRemote {
         public void creaMensaje() throws javax.naming.NamingException , javax.jms.JMSException;
    {code}
    file mensaje.java
    {code}
    package org.pepes;
    import javax.annotation.Resource;
    import javax.ejb.ActivationConfigProperty;
    import javax.ejb.MessageDriven;
    import javax.ejb.MessageDrivenContext;
    import javax.jms.Message;
    import javax.jms.MessageListener;
    * Entity class Mensaje
    * @author pepes
    @MessageDriven(mappedName = "jms/Mensaje", activationConfig =  {
            @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
            @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
    public class Mensaje implements MessageListener {
        /** Creates a new instance of Mensaje */
        @Resource
        private MessageDrivenContext mdc;
        public Mensaje() {
        public void onMessage(Message message) {
            javax.jms.TextMessage msg = null;
            try {
                if (message instanceof javax.jms.TextMessage) {
                    msg = (javax.jms.TextMessage) message;
                    System.out.println(msg.getText());
                } else {
                    System.out.println("Message of wrong type: "
                            + message.getClass().getName());
            } catch (javax.jms.JMSException e) {
                e.printStackTrace();
                mdc.setRollbackOnly();
            } catch (Throwable te) {
                te.printStackTrace();
    {code}
    the file prueba.jsp
    {code}
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%--
    The taglib directive below imports the JSTL library. If you uncomment it,
    you must also add the JSTL library to the project. The Add Library... action
    on Libraries node in Projects view can be used to add the JSTL 1.1 library.
    --%>
    <%--
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    --%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
        <h1>JSP Page</h1>
        <%--
        This example uses JSTL, uncomment the taglib directive above.
        To test, display the page like this: index.jsp?sayHello=true&name=Murphy
        --%>
        <%--
        <c:if test="${param.sayHello}">
            <!-- Let's welcome the user ${param.name} -->
            Hello ${param.name}!
        </c:if>
        --%>
        <%    
            try {
            javax.naming.InitialContext ctx = new javax.naming.InitialContext();
            org.pepes.publicarRemote publisher = (org.pepes.publicarRemote)ctx.lookup("ejb/publicar");
            if (publisher==null) {
                System.out.println("INFO: Es null");
            else {
                System.out.println("INFO: No es null");
            publisher.creaMensaje();
            } catch (javax.naming.NamingException ex) {
                System.out.println("ERROR naming: " + ex.getMessage());
            catch (javax.jms.JMSException jmex) {
                System.out.println("ERROR jms: " + jmex.getMessage());
            catch (java.lang.NullPointerException nullex) {
                System.out.println("ERROR null: " + nullex.getMessage());
    %>
        </body>
    </html>
    {code}
    I think the problem is because i don't put destination address. if it is so, the true where do I put this address?. if not where is the problem?
    I hope your help.
    Thanks you  in advanced.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

    Hi,
    Did you create your destinations in your application server? It seems that the destinations such as topics and queues are not created. First you should create them and then start using them.
    For example, in here, it says that jndi/Topic is not valid. To check if the destinations are valid or not; you can do it either through the graphical user interface or the command line console.

  • JMS EBCDIC BytesMessage Problem

    We are using the strict JMS API to send message to MQ which will kick off an IMS transaction. We are connecting to IMS using the OTMA bridge. We are trying to send a BytesMessage which kicks off the transaction successfully and a BytesMessage is returmed to our local queue with the resulting message String from IMS transaction. When we go to pull the
    We get a garbage message along the lines of:
    �����������@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....
    AppServer: Linux box running WAS 5.1
    Mainframe: z/OS box
    Does anybody know what needs to be set before the message is sent and what needs to be done after we get the message in order for us to get the message string into a UTF format that isn't garbled?
    // setting the following JMS props
    msg.setStringProperty("JMS_IBM_Format", "MQIMSVS");
    msg.setStringProperty("JMS_IBM_Character_Set", "819");
    // pulling out the message body
    BytesMessage bymRecv = (BytesMessage)recv.receive(5000);
    // retrieve the message body               
    byte msgInBytes[];
    ByteArrayOutputStream bout;
    int lenRead;
    msgInBytes = new byte[100];
    lenRead = bymRecv.readBytes(msgInBytes, 100);
    bout = new ByteArrayOutputStream();          
    bout.write(msgInBytes, 0, lenRead);
    outputString = bout.toString("CP1047"); // not sure if this is right
    Or, if we are doing this completely wrong, does anybody have any suggestions.
    Thanks!

    Above problem could be resolved.
    1. The problem only occured when sending a message within a transaction. Without transaction everything worked fine.
    2. Due to this strange behaviour we assumed that this is a bug - and it was. This bug has the issue nummer: 5331629. In version 10.1.3.1.0 this issue is resolved. We tested it and indeed it worked as excpected.

  • TransactionRolledbackLocalException in JMS messaging application

    Hi, I have a message driven bean (MDB) that gives the following error and I'm unable to resolve it. Any help would be appreciated. Thanks.
    [1/18/06 15:17:44:977 PST] 7d9913e7 SystemOut O Exception occurred inside AppLogMDBean: java.lang.NullPointerException
    [1/18/06 15:17:44:986 PST] 7d9913e7 ServerSession W WMSG0031E: Exception processing JMS Message for MDB AppLogReceiverMDB, JMS
    Destination jms/appLogQueue : javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJ
    BException
    com.ibm.ws.exception.WsEJBException
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java(Compiled Code))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrat
    egy.java(Compiled Code))
    at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java(Compiled Code))
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
    javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJBException
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSIException(LocalExceptionMappingStrategy.java(Compiled Cod
    e))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java(Compiled Code))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrat
    egy.java(Compiled Code))
    at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java(Compiled Code))
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
    this is the code for the onMessage function of the bean
    public void onMessage(javax.jms.Message msg)
              int executeStatus          = -1;
              Connection con               = null;
              DataSource ds               = null;
              String dataSourceName     = null;
              PreparedStatement stmt     = null;
              MapMessage mapMessage     = null;
              String sqlStatement          = null;
              Properties properties;
              CommonPropertiesHelper propertyHelper;
              try{
                   mapMessage = (MapMessage)msg;
                   propertyHelper = CommonPropertiesHelper.getInstance("EGOVJournal.properties");
                   properties = propertyHelper.getProperties();
                   sqlStatement = properties.getProperty("INSERT_VIRR052U_APP_LOG");
                   dataSourceName = properties.getProperty("DATA_SOURCE");
                   if ( (sqlStatement != null) && (dataSourceName != null)){
                        UserTransaction transaction = fMessageDrivenCtx.getUserTransaction();
                        transaction.begin();
                        javax.naming.InitialContext ctx = new javax.naming.InitialContext();
                        ds = (javax.sql.DataSource) ctx.lookup(dataSourceName);
                        con = ds.getConnection();
                        if (con != null){
                             int x = 1;
                             stmt = con.prepareStatement(sqlStatement);
                             String logId     = mapMessage.getString("LOG_ID");
                             if (logId.length() > 40)
                                  logId = logId.substring(0,39);
                             String jnlId     = mapMessage.getString("JOURNAL_ID");
                             if (jnlId.length() > 40)
                                  jnlId = jnlId.substring(0,39);
                             String appName     = mapMessage.getString("APPLICATION_NAME");
                             if (appName.length() > 30)
                                  appName = appName.substring(0,29);
                             String logLevel     = mapMessage.getString("LOGGING_LEVEL");
                             if (logLevel.length() > 2)
                                  logLevel = logLevel.substring(0,1);
                             String msgName     = mapMessage.getString("MESSAGE_NAME");
                             if(msgName.length() > 100)
                                  msgName = msgName.substring(0,99);
                             String msgDesc     = mapMessage.getString("MESSAGE_DESCRIPTION");
                             if (msgDesc.length() > 1800)
                                  msgDesc = msgDesc.substring(0,1799);
                             stmt.setObject(x,logId);
                             x++;
                             stmt.setObject(x,jnlId);
                             x++;
                             stmt.setObject(x,appName);
                             x++;
                             stmt.setObject(x,logLevel);
                             x++;
                             stmt.setObject(x,msgName);
                             x++;
                             stmt.setObject(x,msgDesc);
                             x++;
                             // Execute the Prepared Statement
                             executeStatus = stmt.executeUpdate();
                             stmt.close();
                             con.close();
                             transaction.commit();
                        else{
                             System.out.println("Connection is null inside AppLogMDBean");
                   else{
                        System.out.println("Either sql or dataSource is null inside AppLogMDBean. Can't continue.");
              catch(NamingException e){
                   System.out.println("NamingException occurred inside AppLogMDBean: " + e);
              catch(JMSException e){
                   System.out.println("JMSException occurred inside AppLogMDBean: " + e);
              catch(Exception e){
                   System.out.println("Exception occurred inside AppLogMDBean: " + e);
              finally{
                   try{
                        if(stmt!=null){
                             stmt.close();
                             stmt = null;
                        if(con != null){
                             con.close();
                             con = null;
                   catch(Exception e){
                        System.out.println("Exception occurred inside AppLogMDBean in finally block : " + e);
         }

    Hi, I have a message driven bean (MDB) that gives the following error and I'm unable to resolve it. Any help would be appreciated. Thanks.
    [1/18/06 15:17:44:977 PST] 7d9913e7 SystemOut O Exception occurred inside AppLogMDBean: java.lang.NullPointerException
    [1/18/06 15:17:44:986 PST] 7d9913e7 ServerSession W WMSG0031E: Exception processing JMS Message for MDB AppLogReceiverMDB, JMS
    Destination jms/appLogQueue : javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJ
    BException
    com.ibm.ws.exception.WsEJBException
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java(Compiled Code))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrat
    egy.java(Compiled Code))
    at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java(Compiled Code))
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
    javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJBException
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSIException(LocalExceptionMappingStrategy.java(Compiled Cod
    e))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java(Compiled Code))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrat
    egy.java(Compiled Code))
    at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java(Compiled Code))
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
    this is the code for the onMessage function of the bean
    public void onMessage(javax.jms.Message msg)
              int executeStatus          = -1;
              Connection con               = null;
              DataSource ds               = null;
              String dataSourceName     = null;
              PreparedStatement stmt     = null;
              MapMessage mapMessage     = null;
              String sqlStatement          = null;
              Properties properties;
              CommonPropertiesHelper propertyHelper;
              try{
                   mapMessage = (MapMessage)msg;
                   propertyHelper = CommonPropertiesHelper.getInstance("EGOVJournal.properties");
                   properties = propertyHelper.getProperties();
                   sqlStatement = properties.getProperty("INSERT_VIRR052U_APP_LOG");
                   dataSourceName = properties.getProperty("DATA_SOURCE");
                   if ( (sqlStatement != null) && (dataSourceName != null)){
                        UserTransaction transaction = fMessageDrivenCtx.getUserTransaction();
                        transaction.begin();
                        javax.naming.InitialContext ctx = new javax.naming.InitialContext();
                        ds = (javax.sql.DataSource) ctx.lookup(dataSourceName);
                        con = ds.getConnection();
                        if (con != null){
                             int x = 1;
                             stmt = con.prepareStatement(sqlStatement);
                             String logId     = mapMessage.getString("LOG_ID");
                             if (logId.length() > 40)
                                  logId = logId.substring(0,39);
                             String jnlId     = mapMessage.getString("JOURNAL_ID");
                             if (jnlId.length() > 40)
                                  jnlId = jnlId.substring(0,39);
                             String appName     = mapMessage.getString("APPLICATION_NAME");
                             if (appName.length() > 30)
                                  appName = appName.substring(0,29);
                             String logLevel     = mapMessage.getString("LOGGING_LEVEL");
                             if (logLevel.length() > 2)
                                  logLevel = logLevel.substring(0,1);
                             String msgName     = mapMessage.getString("MESSAGE_NAME");
                             if(msgName.length() > 100)
                                  msgName = msgName.substring(0,99);
                             String msgDesc     = mapMessage.getString("MESSAGE_DESCRIPTION");
                             if (msgDesc.length() > 1800)
                                  msgDesc = msgDesc.substring(0,1799);
                             stmt.setObject(x,logId);
                             x++;
                             stmt.setObject(x,jnlId);
                             x++;
                             stmt.setObject(x,appName);
                             x++;
                             stmt.setObject(x,logLevel);
                             x++;
                             stmt.setObject(x,msgName);
                             x++;
                             stmt.setObject(x,msgDesc);
                             x++;
                             // Execute the Prepared Statement
                             executeStatus = stmt.executeUpdate();
                             stmt.close();
                             con.close();
                             transaction.commit();
                        else{
                             System.out.println("Connection is null inside AppLogMDBean");
                   else{
                        System.out.println("Either sql or dataSource is null inside AppLogMDBean. Can't continue.");
              catch(NamingException e){
                   System.out.println("NamingException occurred inside AppLogMDBean: " + e);
              catch(JMSException e){
                   System.out.println("JMSException occurred inside AppLogMDBean: " + e);
              catch(Exception e){
                   System.out.println("Exception occurred inside AppLogMDBean: " + e);
              finally{
                   try{
                        if(stmt!=null){
                             stmt.close();
                             stmt = null;
                        if(con != null){
                             con.close();
                             con = null;
                   catch(Exception e){
                        System.out.println("Exception occurred inside AppLogMDBean in finally block : " + e);
         }

  • Issue with MDB (jms Queue) in weblogic 8.1

              Hi all...
              I'm facing a strange kind of problem with MDB using weblogic 8.1.
              The code worked perfectly in weblogic 7.0.
              This is wht i'm trying to achieve..
              i'm having a MDB which implements a onMessage().
              I'm publishing message thru a standalone client. Publishing works fine..
              The problem is onMessage(javax.jms.Message msg) is never been called :-(.
              when i monitor it shows that messages are recieved..
              Am is missing something that is really important..
              here is my code
              package com.csxwt.zodiac.service.domain;
              import javax.ejb.*;
              import javax.jms.*;
              import javax.naming.*;
              import java.io.Serializable;
              //import com.csxwt.zodiac.service.domain.TestObject;
              public class MDBTestBean implements MessageDrivenBean, MessageListener {
              MessageDrivenContext messageDrivenContext;
              public void ejbCreate() throws CreateException {
              System.out.println("into the ejb create");
              /**@todo Complete this method*/
              public void ejbRemove() {
              /**@todo Complete this method*/
              public void onMessage(javax.jms.Message msg) {
              System.out.println("into the onMessage method 1 ");
              ObjectMessage objectMsg = null;
              String strObject = "Test";
              try
              System.out.println("into the onMessage method 2 ");
              if (msg instanceof ObjectMessage)
              System.out.println("into the onMessage method 3");
              objectMsg = (ObjectMessage) msg;
              Serializable serializableObj = objectMsg.getObject();
              String test = serializableObj.toString();
              System.out.println("value of the message sent " + test);
              TestObject test1 = null;
              if(serializableObj instanceof TestObject )
              test1 = (TestObject) serializableObj;
              System.out.println("after getting the test value ");
              System.out.println("getting the test object valuye " + test1.getName());
              else
              return;
              catch (Exception e)
              System.out.println("Message Bean:unexpected Exception thrown ");
              e.printStackTrace();
              public void setMessageDrivenContext(MessageDrivenContext messageDrivenContext)
              System.out.println("into MDB context");
              this.messageDrivenContext = messageDrivenContext;
              here are the 2 xml files....
              <ejb-jar>
              <enterprise-beans>
              <message-driven>
              <display-name>MDBTest</display-name>
              <ejb-name>MDBTest</ejb-name>
              <ejb-class>com.csxwt.zodiac.service.domain.MDBTestBean</ejb-class>
              <transaction-type>Container</transaction-type>
              <message-selector>GATE_LANE</message-selector>
              <message-driven-destination>
              <destination-type>javax.jms.Queue</destination-type>
              </message-driven-destination>
              </message-driven>
              </enterprise-beans>
              <assembly-descriptor>
              <container-transaction>
              <method>
              <ejb-name>MDBTest</ejb-name>
              <method-name>*</method-name>
              </method>
              <trans-attribute>Required</trans-attribute>
              </container-transaction>
              </assembly-descriptor>
              </ejb-jar>
              <weblogic-ejb-jar>
              <weblogic-enterprise-bean>
              <ejb-name>MDBTest</ejb-name>
              <message-driven-descriptor>
              <pool>
              <max-beans-in-free-pool>200</max-beans-in-free-pool>
              <initial-beans-in-free-pool>20</initial-beans-in-free-pool>
              </pool>
              <destination-jndi-name>zodiac.jms.queue.HardWareOutMessageQueue</destination-jndi-name>
              </message-driven-descriptor>
              </weblogic-enterprise-bean>
              </weblogic-ejb-jar>
              Am i missing something somewhere?????
              any help in this is highly appreciated..
              thanks in advance.
              r
              sasi
              

    Check your log for error and warning messages. If there
              are some, they should help trace down the problem. If there
              aren't any, try confirm that your MDB is deploying in
              the first place.
              The MDB below is a Q MDB, but you write below that your client
              is a "publisher". "Publisher" implies a topic producer, not
              a queue producer, and topic producer can't publish to queues.
              Tom
              T. Sasii Dharma wrote:
              > Hi all...
              >
              > I'm facing a strange kind of problem with MDB using weblogic 8.1.
              > The code worked perfectly in weblogic 7.0.
              > This is wht i'm trying to achieve..
              > i'm having a MDB which implements a onMessage().
              > I'm publishing message thru a standalone client. Publishing works fine..
              > The problem is onMessage(javax.jms.Message msg) is never been called :-(.
              > when i monitor it shows that messages are recieved..
              > Am is missing something that is really important..
              >
              > here is my code
              >
              > package com.csxwt.zodiac.service.domain;
              >
              > import javax.ejb.*;
              > import javax.jms.*;
              > import javax.naming.*;
              > import java.io.Serializable;
              > //import com.csxwt.zodiac.service.domain.TestObject;
              >
              > public class MDBTestBean implements MessageDrivenBean, MessageListener {
              > MessageDrivenContext messageDrivenContext;
              > public void ejbCreate() throws CreateException {
              > System.out.println("into the ejb create");
              > /**@todo Complete this method*/
              > }
              > public void ejbRemove() {
              > /**@todo Complete this method*/
              > }
              > public void onMessage(javax.jms.Message msg) {
              > System.out.println("into the onMessage method 1 ");
              > ObjectMessage objectMsg = null;
              > String strObject = "Test";
              > try
              > {
              > System.out.println("into the onMessage method 2 ");
              > if (msg instanceof ObjectMessage)
              > {
              > System.out.println("into the onMessage method 3");
              > objectMsg = (ObjectMessage) msg;
              > Serializable serializableObj = objectMsg.getObject();
              > String test = serializableObj.toString();
              > System.out.println("value of the message sent " + test);
              > TestObject test1 = null;
              > if(serializableObj instanceof TestObject )
              > {
              > test1 = (TestObject) serializableObj;
              > System.out.println("after getting the test value ");
              > System.out.println("getting the test object valuye " + test1.getName());
              > }
              >
              > }
              > else
              > {
              > return;
              > }
              >
              > }
              > catch (Exception e)
              > {
              > System.out.println("Message Bean:unexpected Exception thrown ");
              > e.printStackTrace();
              > }
              >
              > }
              > public void setMessageDrivenContext(MessageDrivenContext messageDrivenContext)
              > {
              > System.out.println("into MDB context");
              >
              > this.messageDrivenContext = messageDrivenContext;
              > }
              > }
              >
              >
              > here are the 2 xml files....
              >
              > <ejb-jar>
              > <enterprise-beans>
              > <message-driven>
              > <display-name>MDBTest</display-name>
              > <ejb-name>MDBTest</ejb-name>
              > <ejb-class>com.csxwt.zodiac.service.domain.MDBTestBean</ejb-class>
              > <transaction-type>Container</transaction-type>
              > <message-selector>GATE_LANE</message-selector>
              > <message-driven-destination>
              > <destination-type>javax.jms.Queue</destination-type>
              > </message-driven-destination>
              > </message-driven>
              > </enterprise-beans>
              > <assembly-descriptor>
              > <container-transaction>
              > <method>
              > <ejb-name>MDBTest</ejb-name>
              > <method-name>*</method-name>
              > </method>
              > <trans-attribute>Required</trans-attribute>
              > </container-transaction>
              > </assembly-descriptor>
              > </ejb-jar>
              >
              > <weblogic-ejb-jar>
              > <weblogic-enterprise-bean>
              > <ejb-name>MDBTest</ejb-name>
              > <message-driven-descriptor>
              > <pool>
              > <max-beans-in-free-pool>200</max-beans-in-free-pool>
              > <initial-beans-in-free-pool>20</initial-beans-in-free-pool>
              > </pool>
              > <destination-jndi-name>zodiac.jms.queue.HardWareOutMessageQueue</destination-jndi-name>
              > </message-driven-descriptor>
              > </weblogic-enterprise-bean>
              > </weblogic-ejb-jar>
              >
              > Am i missing something somewhere?????
              > any help in this is highly appreciated..
              >
              > thanks in advance.
              >
              > r
              > sasi
              

  • XML Element to string conversion returning null

    Hi,
    When i try to convert XML Element to string using toString() API, it returns something like [device: null] where device is element tag.
    Code is as follows -
    Document xmlDoc;
    DOMParser parser = (DOMParser)Class.forName("org.apache.xerces.parsers.DOMParser").newInstance();
    parser.setFeature( "http://apache.org/xml/features/dom/defer-node-expansion", true );
    parser.parse(new InputSource(new StringReader(tableStr)));
    xmlDoc = parser.getDocument();
    Element root = xmlDoc.getDocumentElement();
    NodeList nodeList = root.getElementsByTagName("device");
    Element deviceNode = (Element)nodeList.item(nodeList.getLength()-1);
    System.out.println(deviceNode.toString()); //prints [device: null] ????
    System.out.println(deviceNode.getAttribute("ipAddress")); //prints correct ip address
    Any idea why i am getting [device: null] when trying to convert Element to String though attribute value is retrieved.
    Thanks,
    Deepak

    Hello ,
    I want to get the root node (<ZTOP60_XML_TAG_STRUCTURE>
    ) of the following xml file .
    <?xml version="1.0" encoding="utf-8"?>
    <ZTOP60_XML_TAG_STRUCTURE>
         <MSGTYPE>NAPOBACK</MSGTYPE>
         <SNDPRN>657393485</SNDPRN>
         <RECEIVER/>
         <RCVPRN>GSOHUBDM1</RCVPRN>
         <PONUM/>
         <VENDCODE>0020040266</VENDCODE>
         <VENDUNS>002601768</VENDUNS>
         <PARTNERFUNC_WE>WE</PARTNERFUNC_WE>
         <PARTNERNUM_WE>C240</PARTNERNUM_WE>
         <LINE_ITEMS>
              <item>
                   <ITEMNUM>00687</ITEMNUM>
                   <POQTY>999999999.000</POQTY>
                   <BOQTY>1.000</BOQTY>
                   <GRQTY>7.000</GRQTY>
                   <NETVAL>339.65</NETVAL>
                   <PLANT>C240</PLANT>
                   <MATNUM>FE-26865-01</MATNUM>
                   <MATDESC>PTR, T632, LEXMARK 5-BIN MAILBOX</MATDESC>
                   <PONUMBER>6500022388</PONUMBER>
                   <EKGRP>U17</EKGRP>
                   <DISPO>N07</DISPO>
              </item>
              <item>
                   <ITEMNUM>00178</ITEMNUM>
                   <POQTY>999999999.000</POQTY>
                   <BOQTY>1.000</BOQTY>
                   <GRQTY>303.000</GRQTY>
                   <NETVAL>18.62</NETVAL>
                   <PLANT>C240</PLANT>
                   <MATNUM>FE-ZZYRG-01</MATNUM>
                   <MATDESC>FDD,FDI-PC,1.44MB,3.5 ,HH</MATDESC>
                   <PONUMBER>6500022388</PONUMBER>
                   <EKGRP>U17</EKGRP>
                   <DISPO>N07</DISPO>
              </item>
              <item>
                   <ITEMNUM>00157</ITEMNUM>
                   <POQTY>999999998.000</POQTY>
                   <BOQTY>24.000</BOQTY>
                   <GRQTY>303.000</GRQTY>
                   <NETVAL>26.25</NETVAL>
                   <PLANT>C240</PLANT>
                   <MATNUM>FE-25094-01</MATNUM>
                   <MATDESC>MOUSE,PC,3BUT,,INTELLIMOUSE,PS2</MATDESC>
                   <PONUMBER>6500022388</PONUMBER>
                   <EKGRP>U17</EKGRP>
                   <DISPO>N07</DISPO>
              </item>
              <item>
                   <ITEMNUM>00881</ITEMNUM>
                   <POQTY>999999999.000</POQTY>
                   <BOQTY>1.000</BOQTY>
                   <GRQTY>62.000</GRQTY>
                   <NETVAL>368.80</NETVAL>
                   <PLANT>C240</PLANT>
                   <MATNUM>FD-66515-01</MATNUM>
                   <MATDESC>ITU MODULE ASM</MATDESC>
                   <PONUMBER>6500022388</PONUMBER>
                   <EKGRP>U17</EKGRP>
                   <DISPO>N07</DISPO>
              </item>
              <item>
                   <ITEMNUM>00223</ITEMNUM>
                   <POQTY>999999999.000</POQTY>
                   <BOQTY>1.000</BOQTY>
                   <GRQTY>377.000</GRQTY>
                   <NETVAL>459.28</NETVAL>
                   <PLANT>C240</PLANT>
                   <MATNUM>FD-65336-01</MATNUM>
                   <MATDESC>MAIN SYSTEM BOARD T23 (2647)</MATDESC>
                   <PONUMBER>6500022388</PONUMBER>
                   <EKGRP>U17</EKGRP>
                   <DISPO>N07</DISPO>
              </item>
              <item>
                   <ITEMNUM>00081</ITEMNUM>
                   <POQTY>999999999.000</POQTY>
                   <BOQTY>19.000</BOQTY>
                   <GRQTY>810.000</GRQTY>
                   <NETVAL>217.21</NETVAL>
                   <PLANT>C240</PLANT>
                   <MATNUM>FD-64199-01</MATNUM>
                   <MATDESC>QST- CADET 100</MATDESC>
                   <PONUMBER>6500022388</PONUMBER>
                   <EKGRP>U17</EKGRP>
                   <DISPO>N07</DISPO>
              </item>
              <item>
                   <ITEMNUM>00271</ITEMNUM>
                   <POQTY>999999999.000</POQTY>
                   <BOQTY>1.000</BOQTY>
                   <GRQTY>136.000</GRQTY>
                   <NETVAL>813.76</NETVAL>
                   <PLANT>C240</PLANT>
                   <MATNUM>FD-60065-01</MATNUM>
                   <MATDESC>SMART UPS 3000VA RM</MATDESC>
                   <PONUMBER>6500022388</PONUMBER>
                   <EKGRP>U17</EKGRP>
                   <DISPO>N07</DISPO>
              </item>
              <item>
                   <ITEMNUM>00791</ITEMNUM>
                   <POQTY>999999999.000</POQTY>
                   <BOQTY>1.000</BOQTY>
                   <GRQTY>3.000</GRQTY>
                   <NETVAL>201.73</NETVAL>
                   <PLANT>C240</PLANT>
                   <MATNUM>3X-PBXGG-AA</MATNUM>
                   <MATDESC>ATI 7500 PCI GRAPHICS</MATDESC>
                   <PONUMBER>6500022388</PONUMBER>
                   <EKGRP>U17</EKGRP>
                   <DISPO>N07</DISPO>
              </item>
              <item>
                   <ITEMNUM>00173</ITEMNUM>
                   <POQTY>999999999.000</POQTY>
                   <BOQTY>1.000</BOQTY>
                   <GRQTY>32.000</GRQTY>
                   <NETVAL>7.50</NETVAL>
                   <PLANT>C240</PLANT>
                   <MATNUM>12-56178-01</MATNUM>
                   <MATDESC>CARD GUIDE,SNAP-IN,LOW PROFILE,2.5 INCHE</MATDESC>
                   <PONUMBER>6500022388</PONUMBER>
                   <EKGRP>U17</EKGRP>
                   <DISPO>N07</DISPO>
              </item>
              <item>
                   <ITEMNUM>00309</ITEMNUM>
                   <POQTY>999999998.000</POQTY>
                   <BOQTY>15.000</BOQTY>
                   <GRQTY>71.000</GRQTY>
                   <NETVAL>51.23</NETVAL>
                   <PLANT>C240</PLANT>
                   <MATNUM>30-51476-01</MATNUM>
                   <MATDESC>VHDI-CABLE WIDE 12 FT. DT-AB001-TQ</MATDESC>
                   <PONUMBER>6500022388</PONUMBER>
                   <EKGRP>U17</EKGRP>
                   <DISPO>N07</DISPO>
              </item>
              <item>
                   <ITEMNUM>00194</ITEMNUM>
                   <POQTY>999999999.000</POQTY>
                   <BOQTY>1.000</BOQTY>
                   <GRQTY>147.000</GRQTY>
                   <NETVAL>345.48</NETVAL>
                   <PLANT>C240</PLANT>
                   <MATNUM>29-33689-01</MATNUM>
                   <MATDESC>PTR,IMP9,B/W,PAR/SER,110/240,R</MATDESC>
                   <PONUMBER>6500022388</PONUMBER>
                   <EKGRP>U17</EKGRP>
                   <DISPO>N07</DISPO>
              </item>
         </LINE_ITEMS>
    </ZTOP60_XML_TAG_STRUCTURE>
    I wrote the following lines of code ..
    FTI .. >> String strMsg =((javax.jms.TextMessage)msg).getText();
    StrMsg is a string that represents an xml file .
    DocumentBuilderFactory docfactory = DocumentBuilderFactory.newInstance();
                   DocumentBuilder builder = docfactory.newDocumentBuilder();
                   Document doc = builder.parse(new InputSource(new StringReader(strMsg)));
                   Element root = doc.getDocumentElement();
                   System.out.println("The root is " + root);
                   String strFileName = root+".xml" ;
                   System.out.println("The file name is " + strFileName);
                   File f = new File (strFileName);
                   FileOutputStream fos = new FileOutputStream( f );
                   for ( int j =0 ; j < strMsg.length(); j++)
                        char c = strMsg.charAt(j);
                        fos.write((int)c);
    I am getting the following error ...
    The root is [ZTOP60_XML_TAG_STRUCTURE: null]
    The file name is [ZTOP60_XML_TAG_STRUCTURE: null].xml
    Whey the file name or root is with special character [ ] and null ..
    I want just ZTOP60_XML_TAG_STRUCTURE.xml .
    Can anyone help me .
    thanks
    mahesh

  • Message properties and performance

              Hi
              Our application uses BytesMessage - but we add some userdefined properties in
              the message header area- all string properties. The number of properties that
              we add is around 5-6 and am trying my best to reduce that somehow. Wondering whether
              the number of proerties would matter or is it like black or white? Also if I end
              up with a screwed up design just to reduce 1 or 2 properties out of 5/6 - id it
              really worth it? Also wondering if there is any way that an MDB instance knows
              which Queue the message came from if the message itself does not contain any user
              defined property like "queuename" put by the producer.
              thanks
              Anamitra
              

    One more thing to consider outside of performance
              - message header and property fields do not get paged out.
              This becomes a factor when there
              are a large number of messages on the server
              and at the same time message properties are
              fairly large in comparison to message header information.
              Tom Barnes wrote:
              > Hi,
              >
              > Anamitra wrote:
              >
              >> Hi
              >> Our application uses BytesMessage - but we add some userdefined
              >> properties in
              >> the message header area- all string properties. The number of
              >> properties that
              >> we add is around 5-6 and am trying my best to reduce that somehow.
              >> Wondering whether
              >> the number of proerties would matter or is it like black or white?
              >> Also if I end
              >> up with a screwed up design just to reduce 1 or 2 properties out of
              >> 5/6 - id it
              >> really worth it?
              >
              >
              > Likely not worth it.
              >
              > Its not the number Strings so much as the size of
              > the Strings that matters.
              >
              > The perf gain is likely not measurable except
              > for high throughput non-persistent messaging (rates
              > of 1000 msgs/sec higher) with "small" (few hundred
              > byte) message bodies and Strings greater than 25
              > characters in length. Of course, these are
              > very rough estimates - say plus/minus 75%, with
              > measured perf gains at 5% or more.
              >
              >> Also wondering if there is any way that an MDB instance knows
              >> which Queue the message came from if the message itself does not
              >> contain any user
              >> defined property like "queuename" put by the producer.
              >
              >
              > javax.jms.Destination dest = ((javax.jms.Message)msg).getJMSDestination();
              >
              > // get JMX mbean name of destination
              > String name =
              > ((javax.jms.Queue)dest_.getName();
              >
              >
              >>
              >> thanks
              >> Anamitra
              >
              >
              

  • ABAP and J2EE ports

    Dear @all, I had in past two links to check all available ports smply by requesting two urls like http://hostname.domain.de:8000/sap/public/icf_info/icr_groups; but for J2EE and ABAP ports...
    I'm interested to find out quickly the JMS and MSG Server Ports and Instance ports... could you help me pls to find out?

    thx, but unfortunately this is not was I mean... not for XI engine, I search the info pages for general NW systems...
    if 50110 page is empty; how I have to interprete this?
    I found one of them:
    ABAP message server list:
    http://hostname.domain.de:8101/msgserver/text/logon?version=1.2
    http://help.sap.com/saphelp_nwpi711/helpdata/en/67/f2a88355de4690a429a25ef83c89b2/content.htm
    OK, and it is the same for J2EE ...
    thx for your help
    Edited by: René Schulz on Feb 3, 2010 3:50 PM

  • (261680070) Q WWO-13 What are the difference between WLS6.1 and WLS7.0 web services?

    Q<WWO-13> What are the difference between WLS6.1 and WLS7.0 web services?
    A<WWO-13> The differences are huge, so different in fact that 6.1 web services cannot
    be deployed in 7.0. WLS7.0 and Workshop have much greater functionality than the
    limited stateless session (RPC-style) and JMS destination (MSG-style) approach of
    6.1. Workshop web services can interact with any type of EJB, any JMS destination
    as well as other web services and directly accessing databases. The framework for
    building the web service is better and more adaptable and Workshop provides a fully
    integrated develop, deploy, test and debug environment. Additionally, WLS7.0 have
    the capacity to be much better at performance since due to XML parser enhancements
    and the addition of XML maps.

    If you want to take existing WLS6.1 web services and convert them to WLS7.0 you can
    do so quite easily. The WLS7.0 Ant still supports wsgen so you do not need to even
    change your build.xml file. The generated web service however will be implemented
    is a manner compliant with the WLS7.0 environment. More details are at:
    http://e-docs.bea.com/wls/docs70/webServices/anttasks.html#1070576
    "Adam FitzGerald" <[email protected]> wrote:
    >
    Q<WWO-13> What are the difference between WLS6.1 and WLS7.0 web services?
    A<WWO-13> The differences are huge, so different in fact that 6.1 web services
    cannot
    be deployed in 7.0. WLS7.0 and Workshop have much greater functionality
    than the
    limited stateless session (RPC-style) and JMS destination (MSG-style) approach
    of
    6.1. Workshop web services can interact with any type of EJB, any JMS destination
    as well as other web services and directly accessing databases. The framework
    for
    building the web service is better and more adaptable and Workshop provides
    a fully
    integrated develop, deploy, test and debug environment. Additionally, WLS7.0
    have
    the capacity to be much better at performance since due to XML parser enhancements
    and the addition of XML maps.

  • Bean help..

    how can I get the return value "response" from the below code (sessionbean)
    public String execute(String msg){
              try {
         String response;
              System.out.println("Input msg" + msg);
              ValdatDealer validatedealer = new ValdatDealer();
              response = validatedealer.checkDealer(msg);
              System.out.println( "response message" +response);
              return response;
    into this following bean's onMessage method (message driven bean)
    public void onMessage(javax.jms.Message msg) {
              if (msg instanceof TextMessage) {
              try {
              System.out.println("Invoking MDB onMessage() now.");
         String reqMsg = new String (((TextMessage)msg).getText());
         InitialContext initCtx = new InitialContext();
              DriverValidateHome home =
              (DriverValidateHome) initCtx.lookup("java:comp/env/ejb/DriverValidate");
              PortableRemoteObject.narrow(home, DriverValidateHome.class);
              System.out.println(                                        "CreditAppMDB, onMessage(): Delegate business requirement to Session Bean");
    DriverValidate validate = home.create();
              validate.execute(reqMsg);
    please help..

    Message driven bean don't have a client...So anything exceuting within the onMessage will not be returned to the client.

  • Sending Msg From HTTP client to XI through JMS Adapter using WebSphereMQ

    Hello
    I am trying to send some msg from Http client
    I configured JMS adapter as receiver
    Transport Protocol :WEBsphereMQ JMS provider
    Message  protocol :JMS1.x
    I have given the Ip  address  of my machine where I installed WEB Sphere MQ
    Server Port :1416
    Transport Protocol :WebSphere MQ
    JMS compliant: JMS-compliant
    In SXMB_MONI
    Http client sends message without any error.
    But while tracing I got message
    <Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>
    Can anybody tell me the solution..
    Thnaks

    Hi,
      I have not directly faced this but i may suggest ,
    1. What do you see in sxmb_moni, do you have a queue problem?
    2. see this File-to-File Scenario Stopped Working  the reply from Shravan and the last message.
    <i>The XBTO que was the problem. I deleted all LUWs in it and now new transactions are working again</i>
    3. You may also use this /people/sap.user72/blog/2005/11/29/xi-how-to-re-process-failed-xi-messages-automatically
    Regards,
    Anirban.

  • How to replace/Change the JMS MSG ID in MQ using JMS Receiver Adapter

    Hi Experts,
      I am working on File to JMS Scenario,
      My Requirement i need to chnage the JMS Message ID(not XI Msg ID) Value with My custoimer specific Value,
      How can i achieve this??
    any valuable inputs welcome,
    Thanks advance,
    Raj

    Thanks for your reaply,we can change the value of XI MSG ID using Dynamic Configuration,
    Then set the XI MSG ID and then make use of the correlation settings
    From the help section:
    Correlation Settings
    Define the correlation settings.
    ·        Set JMSCorrelationID To:
    ¡        XI Message ID (MessageID) (default value)
    ¡        XI Reference ID (RefToMessageID)
    ¡        XI Conversation ID (ConversationID)
    ¡        No Value
    But cant we directly make use of the ASMA to configure DCJMSCorrelationID?
    Regards,
    Abhishek.

  • Create and Handle empty msg in JMS receiver Adapter

    Hi,
    In my interface scenario, I will have to create a msg output if certain conditions are met and should not create a msg if otherwise..
    I am using a Graphical Mapping and the receiver is JMS. I have some questions..
    1. Using Graphical mapping, Can I create an empty msg - If I dont map the root node if the conditions are not met, what happens to the msg during runtime ?? Will it create empty payload and does it error out as there is empty payload ??
    2. Like File adapter - is there a way to Ignore empty msg in JMS receiver adapter - so that it doesnt write any empty msgs i nthe queue..
    Any ideas/suggestions/experiences greatly appreciated please...
    Thank you
    Thanujja..

    Natesa,
    My bet. I am sorry I am wrong.
    One thing comes to my mind is you can do a multi mapping. So if it is ok then send to one receiver and if it exception then send as flat file which you dont use.
    Here since only one mapping is going to execute and the other going to fail you can write your own message exception in mapping stating "Its a know error". This is because if it is in produciton if this fails then it creates an alert. So just to tell to the end users it is ok you are populating the generic error. I know its not a good solution, but a work around kind of thing.
    Regards,
    ---Satish

Maybe you are looking for

  • HOW TO SET-UP AN EMAIL ON N81-3 (N81)Anyone can gu...

    Hi to all.. Anyone can guide me how to set-up an email for N81? Should I have an Yahoo Plus email account? I'm really appriciated to all members to guide me on this.

  • Disk Utility results

    A few months ago I migrated from an iBook G4 w/Tiger to a MBP, and installed Leopard. I did a custom install, leaving out printer drivers, extra fonts and additional languages. Since I began using this MBP, whenever I repair permissions I get a long

  • Can mac book air run final cut

    thinking of purchasing 13 inch Macbook air.  Will it run finalcut ?

  • Profit centre in line iteam not found

    Hi Guru, While doing posting, given below error is coming.. Balancing field "Profit Center" in line item 003 not filled Kindly advice to solved this issue. Regards, Sharma

  • Missing "Start Page" Tab.

    I accidentally closed the "Start Page" tab in OWB 11g Design Center. How do I get the "Start Page" tab to open when I launch Design Center? Thanks. Dan