Errors with PTP JMS queue

here the command from the c prompt and the message I get
C:\JAVA>java -Djms.properties=%J2EE_HOME%\config\jms_client.properties SimpleQue
ueSender MyQueue 3
Queue name is MyQueue
ERROR! Shared library ioser12 could not be found.
Exception in thread "main" java.lang.UnsatisfiedLinkError: specialLoadClass at com.sun.corba.ee.internal.util.JDKClassLoader.specialLoadClass(Native
Method)
at com.sun.corba.ee.internal.util.JDKClassLoader.loadClass(JDKClassLoade
r.java:58)
at com.sun.corba.ee.internal.util.JDKBridge.loadClassM(JDKBridge.java:18
0)
at com.sun.corba.ee.internal.util.JDKBridge.loadClass(JDKBridge.java:83)
at com.sun.corba.ee.internal.javax.rmi.CORBA.Util.loadClass(Util.java:37
8)
at javax.rmi.CORBA.Util.loadClass(Unknown Source)
at javax.rmi.PortableRemoteObject.createDelegateIfSpecified(Unknown Sour
ce)
at javax.rmi.PortableRemoteObject.<clinit>(Unknown Source)
at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.jav
a:57)
at com.sun.enterprise.naming.SerialContext.<init>(SerialContext.java:79)
at com.sun.enterprise.naming.SerialInitContextFactory.getInitialContext(
SerialInitContextFactory.java:54)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at SimpleQueueSender.main(SimpleQueueSender.java:40)

There is a DLL file located in the nativelib directory of the J2EE installation directory called ioser12.dll. That file needs to be placed in a directory in the library path (e.g., the windows system directory) or the nativelib directory needs to be added to the PATH (I'd choose the latter). I suspect you are running Win95 as WinNT environments don't need to take that extra step of adding the nativelib directory to the PATH.

Similar Messages

  • Issue with internal JMS queue

    Hi,
    We discovered following issue with Netweaver version:
    SAP EP 6.0 ON WEB AS 6.20
    J2EE version:
    Cluster-Version: 6.40   PatchLevel 106831.313
    Build-On:Thursday, October 26, 2006 18:56 GMT
    Perforce-Server:
    Project-Dir:JKernel/630_VAL_REL
    JKernel Change-List:106831
    Build machine:SAPInternal
    Build java version:1.3.1_18-b01 Sun Microsystems Inc.
    SP-Number: 19
    Source-Dir: D:\make\engine\630_VAL_REL\builds\JKernel\630_VAL_REL\archive\dbg
    During sending messages into internal JMS queue we sent messages bigger than 1MB. After that, JMS queue was not able to process any other messages even if it was smaller than 1MB. Same issue occured if there was more smaller messages sent in short time (e.g. in 2 seconds). We don't have any significant error message in any log.
    See information thath we have found in dump stack trace file (ix.log):
    "SAPEngine_Application_Thread[impl:3]_25" prio=5 tid=0x0000000101f5ebf0 nid=0x37 in Object.wait() [fffffffe0bdfd000..fffffffe0bdff8b0]
    at java.lang.Object.wait(Native Method)
    - waiting on <0xfffffffe2ebfa1b8> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:429)
    at com.sap.jms.client.memory.MemoryManager.allocate(MemoryManager.java:132)
    - locked <0xfffffffe2ebfa1b8> (a java.lang.Object)
    at com.sap.jms.client.memory.MemoryManager.allocateMemoryForBigMessage(MemoryManager.java:92)
    - locked <0xfffffffe2ebfa1b8> (a java.lang.Object)
    at com.sap.jms.client.session.Session.processFinalMessage(Session.java:1732)
    at com.sap.jms.client.session.Session.run(Session.java:675)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    which indicates to us that initializing of memory is locked.
    Please let us know:
    -if there is any log which indicates this behaviour without making thread dump
    -which limits must be fulfilled to process messages without this error
    -how to unblock this lock for processing correct messages without restarting NW - or if there is any predefined timout which kill this locked session and disable uncorrect message
    -how to manage records in bc_jmsqueue table for removing big messages from queue if there were loaded already
    -how to stop application which caused this problem. If we try to stop it through standard stop_App, application stays in Stopping mode forever.
    This problem occured in test environment and also in productive environment using the same SAP NW. Now - we do not have any work around solution..... therefore periodically we need to restart SAP NW....
    Thx for any suggestions.....

    Hi,
    We are also facing the same problem of restarting the SAP NW each time, if you have found the solution, please let me know.
    Thx in advance.
    Ramanath

  • 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
              

  • Error writing to JMS queue

    I am trying to write to a JMS queue using the following cod:
    Hashtable rmiEnvironment = new Hashtable();
    rmiEnvironment.put(Context.INITIAL_CONTEXT_FACTORY,"com.evermind.server.rmi.RMIInitialContextFactory");
    rmiEnvironment.put(Context.SECURITY_PRINCIPAL, "admin"); // username
    rmiEnvironment.put(Context.SECURITY_CREDENTIALS, "welcome"); // pwd
    rmiEnvironment.put(Context.PROVIDER_URL,"ormi://10.10.50.50:9127/APP");
    Context ctx = new InitialContext(rmiEnvironment);
    QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory)ctx.lookup("jms/APP_QueueConnectionFactory");
    The last line throws this exception:
    javax.naming.NamingException: Lookup error: java.io.EOFException: Disconnected; nested exception is:
         java.io.EOFException: Disconnected [Root exception is java.io.EOFException: Disconnected]
         at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:176)
         at javax.naming.InitialContext.lookup(InitialContext.java:347)
         at tests.TestJms.main(TestJms.java:35)
    Caused by: java.io.EOFException: Disconnected
         at com.evermind.server.rmi.RMIConnection.connect(RMIConnection.java:2507)
         at com.evermind.server.rmi.RMIConnection.connect(RMIConnection.java:2355)
         at com.evermind.server.rmi.RMIConnection.lookup(RMIConnection.java:1782)
         at com.evermind.server.rmi.RMIServer.lookup(RMIServer.java:686)
         at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:157)
         ... 2 more
    On the server side (OC4J standalone), in jms.log the following is printed:
    javax.jms.JMSException: [PROTOCOL ERROR] JMSRequestHandler[5:testsrv:46202]: "JMS protocol" error, expected "-559,038,735", got "-485,684,723".
    at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1909)
    at com.evermind.server.jms.JMSRequestHandler.readCheck(JMSRequestHandler.java:272)
    at com.evermind.server.jms.JMSRequestHandler.protocol(JMSRequestHandler.java:282)
    at com.evermind.server.jms.JMSRequestHandler.run(JMSRequestHandler.java:124)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)

    For the record, if you want to run that sample code:
    http://www.oracle.com/technology/sample_code/tech/java/jms/index.html
    edit the classpath section of build.xml (provided with sample) as follows:
    <!--Set the classpath-->
    <path id="classpath">
         <pathelement location="${OC4J_HOME}/j2ee/home/lib/jms.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/lib/jndi.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/oc4jclient.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/lib/javax77.jar"/>
         <pathelement location="${OC4J_HOME}/lib/dms.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/lib/bcel.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/oc4j-api.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/oc4j.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/lib/oc4j-internal.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/oc4jclient.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/rmic.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/lib/adminclient.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/lib/connector.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/lib/jmxri.jar"/>
         <pathelement location="${OC4J_HOME}/j2ee/home/lib/jta.jar"/>
         <pathelement location="${OC4J_HOME}/opmn/lib/optic.jar"/>
    </path>
    (class packaging has changed since this sample was written. Note that the above is really a superset of classes you would need for that simple example).

  • How can  SAP XI JMS Queue communicate with external JMS Queue

    Dear All ,
    we are Implementing SAP XI . Sender business system is splitting a file into small files and keeping them into JMS queues we want SAP XI JMS queue should communicate directly with the sender JMS queue (which is an external JMS queue) without any Adapter ,programming efforts and Middleware.
    Can you please tell me is it possible?

    I dont think it is possible directly without adapter

  • Error While accessing JMS Queue on Weblogic***** ASSERTION FAILED *****[ Environment not found on thread ]

    Hi,
    I am trying to read response from JMS Queue hosted on Weblogic server and getting below exception. Any help on this will be appreciable.
    weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Environment not found on thread ]
          at weblogic.jndi.internal.NamingNodeReplicaHandler.<init>(NamingNodeReplicaHandler.java:148)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
          at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
          at java.lang.Class.newInstance0(Class.java:308)
          at java.lang.Class.newInstance(Class.java:261)
          at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:90)
          at weblogic.common.internal.ChunkedObjectInputStream.readObjectWL(ChunkedObjectInputStream.java:159)
          at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.readObjectWL(ChunkedObjectInputStream.java:341)
          at weblogic.rmi.cluster.ReplicaAwareRemoteRef.readExternal(ReplicaAwareRemoteRef.java:356)
          at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1686)
          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1644)
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
          at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
          at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:452)
          at weblogic.rmi.internal.StubInfo.readObject(StubInfo.java:95)
          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:324)
          at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
          at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
          at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
          at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:111)
          at weblogic.common.internal.ChunkedObjectInputStream.readObjectWL(ChunkedObjectInputStream.java:159)
          at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.readObjectWL(ChunkedObjectInputStream.java:341)
          at weblogic.jndi.internal.WLContextImpl.readExternal(WLContextImpl.java:425)
          at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1686)
          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1644)
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
          at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
          at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
          at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
          at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
          at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
          at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:111)
          at weblogic.rjvm.ResponseImpl.getThrowable(ResponseImpl.java:117)
          at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:106)
          at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:127)
          at weblogic.jms.dispatcher.DispatcherImpl_1035_WLStub.dispatchSyncNoTranFuture(Unknown Source)
          at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSyncNoTran(DispatcherWrapperState.java:341)
          at weblogic.jms.client.JMSSession.createDestination(JMSSession.java:1735)
          at weblogic.jms.client.JMSSession.createQueue(JMSSession.java:1296)
    Thanks

    Hi,
    I am trying to read Queue standalone. Please find the code snippet below.  code highlighted in  where i am getting exception.
    public static void main(String[] args) {
    String jmsServerUrl = "t3://10.51.245.45:5858";
    String jmsUserName = "weblogic";
    String jmsPassword = "welcome123";
    String jndiFactory = "weblogic.jndi.WLInitialContextFactory";
    String jmsFactory = "jms/CBCMReplyConnectionFactory";
    String qName = "jms/CBCMOrderReplyQueue";
    QueueReceiver qReciever = null;
    JMSQueueReader.getQueueSession(jmsServerUrl,jmsUserName,jmsPassword,jndiFactory,jmsFactory);
    qReciever = JMSQueueReader.getQueueReceiver(qName);
    if (qReciever == null) {
    System.out.println("Unable to find JMS Queue Reciever for Queue Name: "
    + qName + " and JMS Server URL:"
    + jmsServerUrl);
    //isProcess = false;
    private static InitialContext getInitialContext(String url, String userName, String password,  String jndiFactory) throws NamingException {
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, jndiFactory);
    env.put(Context.PROVIDER_URL, url);
    env.put(Context.SECURITY_PRINCIPAL, userName);
    env.put(Context.SECURITY_CREDENTIALS, password);
    return new InitialContext(env);
    public static QueueReceiver getQueueReceiver(String qName) {
    try {
    if(qReceiver == null || !qName.equals(queueName))
    queueName = qName;
    if(qReceiver != null)
    qReceiver.close();
    qReceiver = null;
    javax.jms.Queue queue = qSession.createQueue(queueName);
    //qReceiver = qSession.createReceiver(queue);
    qReceiver = qSession.createReceiver(queue, "JMSCorrelationID LIKE '"+SOHConstant.CBCM_BSCS_CORRELATION_ID_PREFIX+"%'");
                } catch (Throwable e) {
    e.printStackTrace();
    return qReceiver;

  • Enterprise Link with external JMS queue

    We have an external Non-Oracle JMS server and queue setup on a different box.
    How do I use Architect/Admin to configure it and then use it as an Enterprise Message Source? I followed the guide , but when I run the Plan in Elink Studio, I get java.lang.ClassNotFoundException.
    Any clues/ideas please?
    Thanks

    Not knowing your complete configuration and lib path etc. Let me try to anwer your questions. I can only suggest these work arounds or verifications (refer fig 1 in pg 4, of doc cookbook-9x-OracleBAM-AQ-Db-config in your training docs)
    (a) You have to set your webmethods libraries (complete path incl filename to all the required **.jar files for webmethods queues).
    (b) preserve start quote, end quote, no-spaces in dir names, start of JMS*".....
    (c) You should make the change in webmethods definition and ALL other message types. (duplicate this entry in all other places)
    (c) Restart all BAM services for this to take effect
    Let me know if this helps.

  • JMS Queue: External

    Dear All
    I need to test a JMS scenario where my ECC system is receiving message from an external JMS Queue.
    As the external source system is down I want to test my scenario with any JMS Queue which is available. The requirement is such that I cannot use SAP's Web AS J2EE JMS Queue in PI.
    Can anyone tell me are there any JMS queus available (or can be configured) so that I can test the scenario
    Regards
    Sourabh

    Hi,
    What do you mean by exteral source system down?? We can create local queues in PI it self,we can work the same scenariomwhen we are facing problems with MQ system down or we dont have any MQ system.
    I am not getting your exact requirement,suppose if you are trying to send message to MQ or retrieving message from MQ ,if queue dowm in this case we can create other queues in MQ , we can connect to the other queues.we can execute same scenario.
    suppose if your MQ System down means its not possible,but as i meantioned alredy we can crete queues in PI it self we have a feature.
    refer below thread
    Remote queue in XI server for IBM MQSeries
    Regards,
    Raj

  • BAM plans stacking up when JMS queue input source is blocked

    I have a BAM installation that receives data from a JMS queue through Enterprise Message Source connections, using Enterprise Link plans to manipulate the data and insert/update it into data objects. I also use BAM alerts to trigger the plans to run every 20 minutes to check for data to pull from the queues.
    The data is coming in from several batch processes that insert records to an external Oracle table, that uses triggers to push the data into the JMS queues. Some of these batch processes are currently written poorly so that they run for long periods of time and tie up the Oracle table.
    The BAM plans are running every 20 minutes, as expected. However, if one of these batch processes is running and it ties up the source table, it also ties up the queue table. The BAM alerts continue to kick off the plans every 20 minutes. But, if the resources are being blocked, the Enterprise Message Source doesn't appear to be able to connect with the JMS queue table, and the plan hangs up - continuing to "run" while waiting for the connection. If the batch jobs run for some length of time, the next iteration of the plans is kicked off, queuing up behind the still-running previous iteration. Then 20 minutes later, the next execution of the plan kicks off and also hangs. And so on until all the database connections are being tied up.
    Other than process improvements to the batch jobs to prevent/minimize locking of the source table (which is being done), are there any settings that would allow the BAM alert-based execution of the plans to "time out" if a connection cannot be established in a matter of minutes, or a way to prevent the same plan from initiating if a copy of that plan is already executing? I would like to prevent having the executions of the plans "queue up" and cause even more database contention.

    the script for the triger where missing some parameters this resolve the insert problems.
    create or replace trigger employee AFTER INSERT OR Update ON employee
    FOR each row
    declare
    xml_complete varchar2(1000);
    v_enqueue_options dbms_aq.enqueue_options_t;
    v_message_properties dbms_aq.message_properties_t;
    v_msgid raw(16);
    temp sys.aq$_jms_text_message;
    v_recipients dbms_aq.aq$_recipient_list_t;
    Begin
    temp:=sys.aq$_jms_text_message.construct;
    v_recipients(1) := sys.aq$_agent('bamclient',null,0);
    *# v_recipient is case sensitive, this is the name of the external user who should pick up this AQ*
    message from the bus. (should match on BAM side)
    v_message_properties.recipient_list := v_recipients;
    xml_complete :=
    '<?xml version="1.0"?><row>' ||
    '<EMPNO>' || :new.EMPNO || '</EMPNO>' ||
    '<ENAME>' || :new.ENAME || '</ENAME>' ||
    '<JOB>' || :new.JOB || '</JOB>' ||
    '<MGR>' || :new.MGR || '</MGR>' ||
    '<HIREDATE>' || :new.HIREDATE || '</HIREDATE>' ||
    '<SAL>' || :new.SAL || '</SAL>' ||
    '<COMM>' || :new.COMM || '</COMM>' ||
    Tech Note: Oracle BAM: Integration with Oracle AQ / Database
    TechNote_BAM_AQ_Configuration.doc
    Page 4 of 9
    Nov 6, 06 (version 10.1.3)
    Document version (5)
    Oracle confidential, All rights reserved
    '<DEPTNO>' || :new.DEPTNO || '</DEPTNO>' ||
    '</row>' ;
    temp.set_text(xml_complete);
    dbms_aq.enqueue(queue_name => 'bam_ttq',
    enqueue_options => v_enqueue_options,
    message_properties => v_message_properties,
    payload => temp,
    msgid => v_msgid );
    commit;
    end ;

  • Report and Alert don't executed in the error handler with a JMS proxy service

    Hi,
    I'm working with OSB 11.1.1.4.0 and I'm facing a problem with the error handler of my JMS proxy service.
    My error handler contains two main elements :
    - a Report action
    - an Alert with a JMS destination defined
    When the business service failed the message remain in the queue. It's the expected behavior.
    The problem is :
    - the report is missing
    - the alert is raised but missing in the JMS destination defined in the Alert setting.
    I've noticed if I add a Reply with Failure or Success, Report and Alert are successfully executed.
    Unfortunately the message don't remain in the JMS queue.
    What can I do in order to have my report/alert done and the JMS transaction rollback in order to keep the message in the queue ?
    I've already met this problem in the past with alsb v3 and my solution was to add Service Callout in the error handler in order to externalize these actions.
    This solution is not convenient and I hope another solution is possible.

    Inventorying workgroups can be difficult, especially when it comes to remote access and network security. Because workgroups are not centrally managed, some of the items discussed in this
    wiki article on preparing your workgroup environment may require you to visit each machine individually.
    For non-domain credentials, you do not use the <systemname>\<user> format, you simply enter the user name. Regarding how to enter the credentials, if you have an account that uses the same username and password on all machines and is an administrator
    on all of those machines, then you can enter that in the All computers credentials page of the wizard. You can also do this if they are different user names. However, if some machines have an account with the same user name, such as Administrator,
    but different passwords on each machine, you will need to use the Manually enter computer names discovery method, and then enter the information for each group or each machine.
    As you can tell, workgroup environments can quickly negate any benefit that the agentless inventory nature of MAP provides.
    Please remember to click "Mark as Answer" on the post that helps you, and to click
    "Unmark as Answer" if a marked post does not actually answer your question. Please
    VOTE as HELPFUL if the post helps you. This can be beneficial to other community members reading the thread.

  • Error while sending the messages to JMS Queue

    Hi ,
    I am trying to pick the file from JMS Queue and send the response xml as outbound message to JMS Queue again using XAI Sender
    I Created XAI Sender, Outbound Message Type(DM-RCVRESP) and configured these two with External System.
    I am able to pick the file from JMS Queue but unable to send the message through XAI Sender (Real-time)
    Plz find below the error trace getting.
    [Wed Jun 15 16:12:09 IST 2011] Error while processing sender "UPLOADSTG" : Unable to update response in staging table: Row id not given.
    com.splwg.mpl.sending.SameThreadSendingManager$ProcessException
         at com.splwg.mpl.sending.SameThreadSendingManager.processDestination(SameThreadSendingManager.java:341)
         at com.splwg.mpl.sending.SameThreadSendingManager.sendResponse(SameThreadSendingManager.java:293)
         at com.splwg.mpl.sending.SameThreadSendingManager.doSend(SameThreadSendingManager.java:249)
         at com.splwg.mpl.server.async.ExecSendRequestProcessor.ProcessRequest(ExecSendRequestProcessor.java:61)
         at com.splwg.mpl.server.async.RequestProcessingThreadAdapter.run(RequestProcessingThreadAdapter.java:46)
         at com.splwg.mpl.server.PooledThread.run(PooledThread.java:91)
         at java.lang.Thread.run(Thread.java:662)
    Please guide me in this regard..
    Thanks,
    sukumar

    What have you configured for the response tab for the sender? Are you using the MPL or the MDB?
    Take a look at:
    MPL Best Practices (Doc Id 1308165.1)
    Oracle WebLogic JMS Integration (Doc Id: 1308181.1)

  • Dynamic queue name with JMS Queue XML?

    Hi,
    Is it possible to use dynamic queue name with JMS Queue XML?
    I tried using a variable in the JNDI URL, and supply the value in a package. I specified the following in the JNDI URL in the Topology:
    e.g.
    <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=#PROJECT_NAME.dest_var
    I declared and set the variable in a package, then tried to load data from the above data server to database. But executing this package gave me the following error:
    7000 : null : java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
    java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
         at com.sunopsis.jdbc.driver.bg.executeQuery(bg.java)
         at com.sunopsis.jdbc.driver.bh.executeQuery(bh.java)
         at com.sunopsis.jdbc.driver.l.f(l.java)
         at com.sunopsis.jdbc.driver.l.executeUpdate(l.java)
         at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execSrcOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    Am I doing it wrongly?
    Thanks!

    hi,
    as it's not in Adapter-Specific Message Properties
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    looks like you cannot do it with jms adapter in standard
    use proxy or your own adapter instead
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Error in Access JMS with JNDI

    Hi all,
    I am trying DB>XI>TIBCO (EMS).
    I have included tibjms.jar library in aii_af_jmsproviderlib.sda and deployed using SDM.
    In JMS receiver adapter I am using the following:-
    Transport protocol: Access JMS Provider with JNDI.
    JNDI Lookup Name of Queue connection factory: com.tibco.tibjms.TibjmsQueueConnectionFactory
    JNDI Lookup Name of JMS Queue: com.tibco.tibjms.TibjmsQueue
    Name of JNDI Initial Context Factory:
    com.tibco.tibjms.naming.TibjmsInitialContextFactory
    In RWB i am getting the following for this scenario:
    2005-04-17 19:55:05 Success Using connection AFW. Trying to put the message into the receive queue.
    2005-04-17 19:55:05 Success The message was successfully retrieved from the receive queue.
    2005-04-17 19:55:05 Success The message status set to DLNG.
    2005-04-17 19:55:05 Success Deliver to channel: TIB_Receiver_JNDI
    2005-04-17 19:55:05 <b>Error Exception caught by adapter framework: Object not found in lookup of XIJMSService.</b>
    2005-04-17 19:55:05 Success XI message converted to binary format successfully
    2005-04-17 19:55:05 <b>Error Delivery of the message to the application using connection AFW failed, due to: Object not found in lookup of XIJMSService..</b>
    2005-04-17 19:55:05 Success The asynchronous message was successfully scheduled to be delivered at Sun Apr 17 20:00:05 GMT+05:30 2005.
    2005-04-17 19:55:05 Success The message status set to WAIT.
    Kindly help what other configurations are required.
    Regards,
    Arpit Seth

    Hi all,
    Me too have the same problem.
    I am trying to integrate XI with OpenJms (server) using JMS adapter.
    But the error that i am getting is similar to yours:
    Error Exception caught by adapter framework: Object not found in lookup of XIJMSService.
    I am very interested to the solution.
    Thanks in advence.
    Best regards.
    Lemin
    Message was edited by: lemine ould-cheikh

  • Error in Access JMS with SoniqMQ

    Hi,
    I am trying to integrate XI with SoniqMQ using JMS Adapter( as receiver) with SoniqMQ as Transport protocol. I have deployed the necessary jar files using SDM.
    File > XI> SoniqMQ ( using JMS Adapter)
    The parameters that i ahve specified here are exactly what have been mentioned in help.sap.com (JMS Adapter:
    QueueConnectionFactory Java Class : progress.message.jclient.QueueConnectionFactory
    Queue Java Class : progress.message.jclient.Queue
    Server Name  :localhost
    Server Port  : 2506
    JMS Queue    : SampleQ1
    When i got to RWB>Component Monitoring-> Adapter Engine-> Adapter Monitoring>JMS, after activating the Object and it is showing following error:
    Receiver Channel. Details: null
    When i run the scenario, i get the following error in RWB,
    Exception caught by adapter framework: The JMS channel with channel ID 5ecf574401ed3c6cafdf35f1536a2bf3 is errornous. Details:null
    Error Delivery of the message to the application using connection AFW failed, due to: The JMS channel with channel ID 5ecf574401ed3c6cafdf35f1536a2bf3 is errornous. Details:null.
    Please guide me, how to go about.
    Regards,
    Siva Maranani.

    Hi all,
    Me too have the same problem.
    I am trying to integrate XI with OpenJms (server) using JMS adapter.
    But the error that i am getting is similar to yours:
    Error Exception caught by adapter framework: Object not found in lookup of XIJMSService.
    I am very interested to the solution.
    Thanks in advence.
    Best regards.
    Lemin
    Message was edited by: lemine ould-cheikh

  • JMS Queue working with only one AIA instance.

    Hi,
    We are having a Web-Logic JMS Queue configured for an instance. I have developed a consumer in AIA instance to pull the messages from the Queue.
    And this works fine.
    Now I have an another instance consumer which is pointing to the same Queue, but it fails to get the messages from it.
    I have switched off the consumer in the FIRST instance, but even then consumer from the SECOND instance was not able to pull the messages.
    Later, I tried switching on the consumer of the FIRST instance, and all the messages were pulled in this instance.
    So how can I make it work with two AIA instances and one JMS Queue, provided only one AIA instance consumer is active at a time.
    Thanks in Advance.
    Regards!

    * Likely your best bet is to check your server logs for "Error" and "Warning" messages, and/or, since these questions are specific to AIA's usage of JMS, post your questions to the AIA newsgroup.
    * WL JMS does not impose a limit on the number of consumers on a queue, but it does only allow one named connection with the same "client id" to connect at a time. Its unusual to name connections in queueing applications, but possible - and AIA may be doing this. (If this is the problem there should be "client id in use" style log messages or exceptions.)
    * Another possibility is a misconfiguration of your remote consumer. Make sure the URL is correct, and remember, if an application is running in the same cluster as the remote destination, don't specify a URL.
    * Also, if the remote consumer is running in a different domain, make sure the domains are named differently, and that no two JMS servers in the two domains have the same name (as per the unique naming restrictions documented in the Best Practices section of the JMS configuration guide -- http://download.oracle.com/docs/cd/E14571_01/web.1111/e13738/best_practice.htm#CACJCGHG ).
    Regards,
    Tom

Maybe you are looking for

  • Problem with printing pdf file

    hello, lately i have problem with printing pdf file: i click on the print button and the respod is very slow it takes more than a minute till the print window apears. i tryied to install version X but it's the same, the problem exist only when printi

  • Set the default size for all archive mailboxes including the ones it will be created in the future

    Hi there. We are in the phase where we Will enable Online Archive for all the users. We see that the default Archiving Quota is set up for 50 GB. We have found this powershell command on MsTechnet forum Get-Mailbox -resultsize unlimited | where {$_.A

  • Error when starting IntegratedWLS10.3 from jdeveloper11g

    Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine. Process exited.

  • Need to persist data in JVM...

    Hi, I have a requirement in my project where once the user logs in, the database is queried and some information related to the user is retrieved and stored in JVM.So the number of hits to the database is decreased. The requirement in detail : This i

  • Best quality dvd-premiere pro or encore

    hi all-some advise needed. I want to make the best quality professional wedding dvd for a client nd I have a few options and i just want to get feedback on which is the best method. pc=win xp, prem pro 2 and encore 1.5, PAL, 4x3 plenty of hard disk s