Tuxedo--Elink---mqseries----Jms---Wls  : Is it possible???

Hi all,
I have to post again a question about Tuxedo-WLS communication. Unfortunately
the architecture we use is AIX so Weblogic Tuxedo Connector cannot be used. I
thought about another possible solution: that is, contacting the AIX machine using
MQSeries (via Bea eLinkAdapter for MQSeries) and in turn invoking WLS via JMS.
Yes it's a bit troublesome but I'd like to know if this could be an alternative......what
do you think?
Thanks
Francesco

Fransesco,
WTC is an integral part of WLS 6.1 and higher, and is thereore (as far as I am
aware) supported on all the platforms that WLS 6.1 is, so it should run just
fine on AIX.
Regards,
Peter.
Got a Question? Ask BEA at http://askbea.bea.com
The views expressed in this posting are solely those of the author, and BEA
Systems, Inc. does not endorse any of these views.
BEA Systems, Inc. is not responsible for the accuracy or completeness of the
information provided
and assumes no duty to correct, expand upon, delete or update any of the
information contained in this posting.
Francesco wrote:
Hi all,
I have to post again a question about Tuxedo-WLS communication. Unfortunately
the architecture we use is AIX so Weblogic Tuxedo Connector cannot be used. I
thought about another possible solution: that is, contacting the AIX machine using
MQSeries (via Bea eLinkAdapter for MQSeries) and in turn invoking WLS via JMS.
Yes it's a bit troublesome but I'd like to know if this could be an alternative......what
do you think?
Thanks
Francesco

Similar Messages

  • JMS - PI - IDoc scenario: possible to disable check for duplicate JMS message ID?

    Dear all,
    we have a scenario JMS - PI - IDoc. We are on 7.4 SP 7 AEX.
    Once and again we get this error in PI Logs
    com.sap.aii.adapter.jms.core.channel.filter.InboundDuplicateCheckFilter.filter(MessageFilterContext filterCtx)
    Duplicated and already processed JMS message with JMSMessageID ID:414d512053415050523120202020202053f0f4852000fb39 and XI message id b0beffdbcee64c2605779eaacf27b335 detected.
    We are currently investigating the error and it seems that the duplicate message IDs already exist on the JMS (MQ) side. The messages with the same ID reside in the same queue but have different payloads, so really are different messages
    While it's certainly true that we need to get rid of those duplicate IDs in the long run, I'd like to ask if it is possible to tackle the problem from both sides.
    My sender JMS Adapter looks like this:
    Transactional JMS Session = Checked
    Set PI Message ID (MessageID) to = GUID
    Set PI conversation ID (ConversationID) to = No Value
    Enable Duplicate Handling = Unchecked
    Prefix Channel ID = Unchecked
    --> Is there any way to tell PI to just ignore the duplicate JMS ID and continue processing?
    Many thanks
    Kind regards
    Jens

    Hi Jens - Please have a look at the below note if it helps.
    If you want the duplicate messages received from different channels (that is JMS Messages with the same Message ID) to be processed as a distinct JMS messages and not as duplicate messages, select Prefix Channel ID to JMS Message ID
    Reference :
    Configuring the Sender JMS Adapter - Advanced Adapter Engine - SAP Library

  • MDB with foreign JMS : WLS 9.23

    For the love of _____ (fill in your own muse of desperation here), is there some categorical statement of whether WLS9.23 actually ***works*** with MDB's and foreign JMS providers? Whereever I search/find, people have trouble with this.
              Some kind BEA sould - please. Please, please please : publish a canonical example of MDB with secured foreign-JNDI provided connx factory, and either a queue or a topic.
              I'm beginning to wonder if this works at all.

    Good morning!
              Categorical Statement: WLS supports JMS spec compliant foreign providers for MDBs, bridges, resource-references, foreign providers. We also support sending a foreign providers message using a WebLogic JMS client.
              For general Tibco integration questions, I recall that the Tibco docs themselves contain WebLogic integration examples. There's also some much mention of Tibco in the out-dated "Using Foreign JMS Providers with WebLogic Server" white-paper on dev2dev.
              That said, there have been definitely been problems with Tibco and MQ's latest release, as they both recently released semi-non-JMS compliant clients that our wrapper code was unprepared to deal with. In short, we were caught unawares when these clients stopped supporting the 1.0.2 APIs even though 1.1 specification clearly requires both 1.1 and 1.0.2 support. Rather than ask Tibco and MQ teams to have them patch their code (an approach we've sometimes taken over the years), we chose this time to enhance our code.
              I think the problems were all fixed by 9.23 - but you may want to contact customer support to see if there are any additional patches required. Alternatively, you can try use a slightly older Tibco client, as presumably their older clients are still able to interoperate with their latest server version (this approach works with MQ).
              Tom

  • JMS MDB manual rollback possible ?

    Hi,
    I want to know if it's possible to manually roll back a message if something goes wrong ?
    I have a Message Driven Bean that receives a message and sends it over http to another component. Now I want to make sure that my message isn't lost. So in case of an http timeout I want the message to be put back on the queue in front of following messages.
    As I read before, a message is removed from its JMS Queue in case the onMessage method of the bean completes, so in my code
    public void onMessage(Message message){
    try{
    //send message over http
    }catch(Exception e){
    //this is where I want the message to be roll-backed
    As it is now, if there is an http timeout, an axception will be catched, but the onmessage method will still be executed successfully, and the message will be removed from the queue, result, a loss of the message.
    is this possible with standard jms ?
    kind regards
    Bert

    It is certainly possible, but it depends on how your application is working.
    if you are working with beans: No problem, just set the MessageDrivenContext.SetRollBackOnly() -> rolls back the transaction! (in case of Container managed transaction), if you are using your own transactions, simply roll them back your self.
    If you are not using beans, you simply do not acknowledge your message, for JMS a message needs to be acknowledged before it assumes that it is delivered. So set your ACK_MODE to CLIENT_ACKNOWLEDGE and in case of an exception do not acknowledge it, otherwise, do acknowledge it.
    Since you are using a MDB the first solution should be used in your case.

  • TUXEDO and MQSeries 5.2 on AIX

    I am currently trying to integrate TUXEDO 6.5 with MQSeries on AIX using global
    transactions. Does anyone have te correct entries for the TUXEDO RM file, the
    corresponding OPENINFO and the necessary environment variables to connect to a
    remote QueueManager?
    Thanks in Advance
    Stevie

    Based on the SunDS 5.2 Patch 6 release notes, looks like AIX 5.2 is the latest AIX version with official support from Sun:
    http://docs.sun.com/source/820-3003
    "The original release of Directory Server 5.2 has not been validated on IBM AIX 5.2. However, this update is validated on IBM AIX 5.2. The original release of Directory Server 5.2 has been validated on IBM AIX 5.1, but IBM AIX 5.1 is no longer supported by IBM."

  • AQ-JMS-WLS

              Hi,
              I am binding the a AQJMS_FACTORY & a AQ_QUESUS to the JNDI tree of WLS using a
              startup class and polling on the queue using an MDB. (I have used Eric Ma's code
              as an example.)
              But, the problem is that MDB polls on the queue only "during" starting of WLS
              or when the MDB is being re-deployed. After, starting WLS the MDB fails to read
              messages from the AQ unless redeployed. I have checked the JNDI tree using WLS
              console. The AQJMS_FACTORY & AQ_QUESUS are bound to the tree correctly. The polling
              interval of the MDB is set to 1 sec.
              Can anyone give pointers to why the MDB is not polling on the AQ ?
              Problem I realized is that the either DB connection or QSession is not live
              to get the Queue.
              Every time MDB poll the Queue it is looking for DB connection.
              Can any one help me to keep both the connection live by any mean on Webligic server?
              Regards,
              Jugal
              

              Tried it again on another Unix server, it worked.
              Thanks,
              Dips
              "Diptanshu Parui" <[email protected]> wrote:
              >
              >Hi Eric,
              >
              >Yes, the Oracle is on a Solaris box and we had already tried (prior to
              >the posting)
              >modifying /etc/hosts file. But, still didn't work. Take note that the
              >clients
              >have static ip and select subscription_name,location_name from sys.reg$
              >on the
              >database returns details of all clients connected.
              >
              >Regards,
              >Diptanshu
              >
              >"Eric Ma" <[email protected]> wrote:
              >>
              >>If your Oracle database is on Unix/Linux, you may have run into an Oracle
              >>bug.
              >> Find a work-around at:
              >>
              >>Asynchronous consumption from AQ JMS
              >>
              >>Eric Ma
              >>
              >>"Jugal Sharma" <[email protected]> wrote:
              >>>
              >>>Hi,
              >>>
              >>>I am binding the a AQJMS_FACTORY & a AQ_QUESUS to the JNDI tree of
              >WLS
              >>>using a
              >>>startup class and polling on the queue using an MDB. (I have used Eric
              >>>Ma's code
              >>>as an example.)
              >>>
              >>>But, the problem is that MDB polls on the queue only "during" starting
              >>>of WLS
              >>>or when the MDB is being re-deployed. After, starting WLS the MDB fails
              >>>to read
              >>>messages from the AQ unless redeployed. I have checked the JNDI tree
              >>>using WLS
              >>>console. The AQJMS_FACTORY & AQ_QUESUS are bound to the tree correctly.
              >>>The polling
              >>>interval of the MDB is set to 1 sec.
              >>>
              >>>Can anyone give pointers to why the MDB is not polling on the AQ ?
              >
              >>>
              >>>Problem I realized is that the either DB connection or QSession is
              >>>not live
              >>>to get the Queue.
              >>>Every time MDB poll the Queue it is looking for DB connection.
              >>>
              >>>Can any one help me to keep both the connection live by any mean on
              >>Webligic
              >>>server?
              >>>
              >>>Regards,
              >>>Jugal
              >>>
              >>>
              >>>
              >>>
              >>
              >
              

  • JDBC, JMS and EJB transactions - possible problem?

    Hello,
              I am using Oracle 9, Weblogic 8.1 SP 4, MyEclipse and
              XDoclet.
              In my current project I have the following piece of code
              in one of my message driven beans (code cited as pseudocode
              without unnecessary details):
              * @ejb.bean name="MyMessageProcessor"
              * display-name="Display name for a MyMessageProcessor"
              * jndi-name="ejb/MyMessageProcessor"
              * description="Bean MyMessageProcessor"
              * destination-type="javax.jms.Queue"
              * transaction-type="Container"
              * acknowledge-mode="Auto-acknowledge"
              * subscription-durability="Durable"
              * generate="false"
              * @ejb.transaction type="Required"
              public class MyMessageProcessor implements MessageDrivenBean, MessageListener {
              public void onMessage(Message msg) {
                   try {
                        //obtaining connections to two different databases via JNDi
                        java.sql.Connection connOne =
                        ((DataSource)ctx.lookup("DataSourceOne")).getConnection();          
                        java.sql.Connection connTwo =
                             ((DataSource)ctx.lookup("DataSourceTwo")).getConnection();
                        // performing some UPDATEs and INSERTs on connOne and connTwo
                        // calling some other methods of this bean
                        //creating the reply JMS message and sending it to another JMS queue
                        Message msgTwo = this.createReplyMessage(msg)
                        this.queueSender.send(msgTwo);
                        //commiting everything
                        this.queueSession.commit();          
                   } catch (Exception ex) {
                   try {
                        if (this.queueSession!=null) this.queueSession.rollback();
                   } catch (JMSException JMSEx) {};     
                   this.context.setRollbackOnly();
              Some days ago (before the final remarks from my client) there used to be only one DataSource configurated on the basis of the
              connection pool with non-XA jdbc driver. Everything worked fine
              including the transactions (if anything wrong happend not only wasn't the replymessage sent, but also no changes were written
              to database and the incomming message was thrown back to the my bean's
              queue).
              When I deployed the second DataSource I was informed by an error message, that only one non-transactional resource may
              participate in a global transaction. When I changed both datasources
              to depend on underlying datasources with transatcional (XA) jdbc drivers, everything stopped working. Even if
              EJB transaction was theoretically successfully rolledbacked, the changed were written to the database
              and the JMS message wasn't resent to the JMS queue.
              So here are my questions:
                   1. How to configure connection pools to work in such situations? What JDBC drivers should I choose?
                   Are there any global server configurations, which may influence this situation?
                   2. Which jdbc drivers should I choose so that the container was able to rollback the database transactions
                   (of course, if necessary)?
                   3. Are there any JMS Queue settings, which would disable the container to send message back to the
                   queue in case of setRollbackOnly()? How should be the Queue configurated?
              As I am new to the topic and the deadline for the project seems to be too close I would be grateful
              for any help.
              This message was sent to EJB list and JDBC list.
              Sincerely yours,
              Marcin Zakidalski

    Hi,
              I found these information extremely useful and helpful.
              The seperate transaction for sending messages was, of course, unintentional. Thanks a lot.
              Anyway, I still have some problems. I have made some changes to the
              code cited in my previous mail. These changes included changing QueueSessions
              to non-transactional. I also set the "Honorate global transactions" to true.
              I am using XA JDBC driver. After setting "Enable local transactions" to false
              (I did it, because I assume that JDBC transactions should be part on the global
              EJB transaction) I got the following error:
              java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA
              driver supports performing SQL operations with no global transaction, explicitly allow it by setting
              "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local
              transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To
              complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().
              I have also inspected the calls of methods of bean inside of onMessage() method just to check, whether
              the transactions are correctly initialized (using the weblogic.transaction.Transaction class).
              My questions are as follows:
              1. Any suggestions how to solve it? I have gone through the google answers on that problem and only
              thing I managed to realize that JDBC must start its own transaction. Is there any way to prohibit it
              from doing that? Can using setAutocommit(true/false) change the situation for better?
              2. How to encourage the JDBC driver to be a part of EJB transaction?
              3. As I have noticed each of ejb method has its own transactions (transactions have different
              Xid). Each method of the bean has "required" transaction attribute. Shouldn't it work in such
              way that if already started transaction exists it is used by the called method?
              4. The DataSources are obtained in my application via JNDI and in the destination environment I will have slight
              impact on the configuration of WebLogic. What is least problematic and most common WebLogic configuration which would
              enable JDBC driver to participate in the EJB transaction? Is it the WebLogic configuration problem or can it be
              solved programmically?
              Currently my module works quite fine when "enable local transactions" for DataSources is set to true, but this way
              I am loosing the ability to perform all actions in one transaction.
              Any suggestions / hints are more than welcomed. This message was posted to jdbc list and ejb list.
              Marcin

  • Upgrade to WLS 8.1 Possible????

    Hi..
    We have tried upgrading to WLS8.1, this is fine if the Clients are WLS based,
    but how and what do you need to do to enable clients using pre 1.4 jvm?
    .Mark.

    We're purely running ejb's on the server (WLS 8.1 sp1).. The problem arises when
    an exception is being thrown. It's okay if the Client is calling from another
    WLS server, but when the calling client is running a 'stand alone jvm' then they
    get the following exception:
    java.lang.SecurityException: Prohibited package name: java.lang at java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
    (ClassLoader.java:489) (pc 50) at java.security.SecureClassLoader.defineClass
    (SecureClassLoader.java:111) (pc 27) at weblogic.utils.classloaders.GenericClassLoader.findLocalClass
    (GenericClassLoader.java:339) (pc 339) at weblogic.utils.classloaders.GenericClassLoader.findArrayClass
    (GenericClassLoader.java:188) (pc 32) at weblogic.utils.classloaders.GenericClassLoader.findClass
    (GenericClassLoader.java:154) (pc 115) at java.lang.ClassLoader.loadClass(java.lang.String,boolean)
    (ClassLoader.java:309) (pc 43) at java.lang.ClassLoader.loadClass(java.lang.String)
    (ClassLoader.java:265) (pc 3) at java.lang.Class.forName0 (Class.java)
    at java.lang.Class.forName(java.lang.String,boolean,java.lang.ClassLoader) (Class.java:195)
    (pc 32) at weblogic.j2ee.ApplicationManager.loadFromNetwork (ApplicationManager.java:268)
    (pc 114) at weblogic.j2ee.ApplicationManager.loadClass(java.lang.String,java.lang.String,java.lang.String)
    (ApplicationManager.java:194) (pc 334) at weblogic.rjvm.MsgAbbrevInputStream.readClassDescriptor
    (MsgAbbrevInputStream.java:211) (pc 56) at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.readClassDescriptor
    (ChunkedObjectInputStream.java:300) (pc 4) at java.io.ObjectInputStream.inputClassDescriptor
    (ObjectInputStream.java:906) (pc 17) at java.io.ObjectInputStream.readObject(boolean)
    (ObjectInputStream.java:366) (pc 329) at java.io.ObjectInputStream.readObject()
    (ObjectInputStream.java:236) (pc 14) at java.io.ObjectInputStream.inputArray (ObjectInputStream.java:1014)
    (pc 1) at java.io.ObjectInputStream.readObject(boolean) (ObjectInputStream.java:374)
    (pc 348) at java.io.ObjectInputStream.inputClassFields (ObjectInputStream.java:2263)
    (pc 125) at java.io.ObjectInputStream.defaultReadObject (ObjectInputStream.java:519)
    (pc 53) at java.io.ObjectInputStream.inputObject (ObjectInputStream.java:1412)
    (pc 833) at java.io.ObjectInputStream.readObject(boolean) (ObjectInputStream.java:386)
    (pc 400) at java.io.ObjectInputStream.readObject() (ObjectInputStream.java:236)
    (pc 14) at weblogic.common.internal.ChunkedObjectInputStream.readObject() (ChunkedObjectInputStream.java:110)
    (pc 154) at weblogic.rjvm.ResponseImpl.getThrowable (ResponseImpl.java:113) (pc
    23) at weblogic.rmi.internal.BasicOutboundRequest.sendReceive (BasicOutboundRequest.java:82)
    (pc 32) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(weblogic.rmi.extensions.server.CustomRemoteReference,weblogic.rmi.internal.MethodDescriptor,java.lang.Object[],java.lang.reflect.Method)
    (ReplicaAwareRemoteRef.java:262) (pc 59) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(java.rmi.Remote,weblogic.rmi.internal.MethodDescriptor,java.lang.Object[],java.lang.reflect.Method)
    (ReplicaAwareRemoteRef.java:229) (pc 75) at weblogic.rmi.internal.ProxyStub.invoke
    (ProxyStub.java:35) (pc 42)
    .Regards
    .Mark.
    "Mark Griffith" <[email protected]> wrote:
    You need to describe a little bit more about what your current
    architecture/application is.
    cheers
    mbg
    "Mark" <[email protected]> wrote in message
    news:[email protected]...
    Hi..
    We have tried upgrading to WLS8.1, this is fine if the Clients areWLS
    based,
    but how and what do you need to do to enable clients using pre 1.4jvm?
    .Mark.

  • JMS QueueSender receiving response possible?

    hi,
    i am trying to write a JMS application. i can send a message from a QueueSender to a QueueReceiver with no problem. but is there a way the sender can get a response from the receiver after it sent something out? this would be similar to sending data via socket, where you can get a response back after you sent something out.
    the only way i can think of is to instantiate a QueueReceiver object in the QueueSender class, but this makes things complicated as i would also need to create a separate message queue for each sender. Can someone give me some hints? thanks.

    Hi,
    Your query is not clear, if you are expecting the acknowledgement from the receiver you can do it by passing one of the values metioned below as second argument to createQueueSession or createTopicSession
    Session.AUTO_ACKNOWLEDGE
    or
    Session.CLIENT_ACKNOWLEDGE
    Regards
    Mandagiri

  • MQSeries/JMS Integration

    Hi,
    what is a good architecture to get a MQ Client to talk to a JMS destinations.
    Appreciate your ideas ....
    -Vinod

    Right, the questions still not totally clear. Whats the JMS provider? If its Websphere MQ ( aka MQ Series) then you can have a client on native MQ and a client on JMS. For the MQ client and JMS client to both be able to read messages you need to configure the JMS queue or topic in JMSADmin to use MQ rather than JMS as the targclient variable. If you have the JMS client's queue as being a JMS queue you'll have extra data in the MQ message which the MQ client won't like.
    As for talking between JMS providers, I don't know, sorry.

  • Message Bridge between WLS 6.1 sp3 and MQSeries 5.2

              Hi,
              I'm really struggling with getting the Message Bridge working with Weblogic 6.1
              sp3 and MQSeries 5.2. Currently I have both installed on the same Windows 2000
              machine. First I'll pose some questions that I have, then I discuss the error
              I'm getting. Here are my questions:
              1. With the jms-xa-adp.rar there is a ra.xml and a weblogic-ra.xml. Within the
              ra.xml deployment descriptor there are config-properties for ConnectionURL, InitialContextFactory,
              ConnectionFactoryJNDI, and DestinationType. If my MQSeries Queue is the source
              jms destination bridge and my weblogic queue is the target jms destination bridge,
              what values do I set for the listed config-properties? I can't seem to find any
              documentation on what these values should be. Am I missing something? Do these
              values even have to be set?
              2. When I go to install a Weblogic instance to a different physical machine what
              has to be installed in terms of MQSeries? So I'll have MQSeries on physical machineA
              and Weblogic on a different physical machineB. I want machineA to forward all
              messages placed on a MQSeries Queue to forward them to machineB where the weblogic
              Queue resides. Does machineB also have to contain an MQSeries installation?
              Or can I just grab the necessary libraries and jar files and place them on the
              Weblogic machineB so they can be included?
              3. Is it correct that if I distribute Weblogic onto one physical server and MQSeries
              onto a different physical server that I cannot use Exactly-once quality of service?
              Other notes:
              1. I have the following patches installed for Weblogic 6.1 sp3:
              CR081404_610sp3.jar
              CR081511_61sp3.jar
              2. Here is the commands I used to create my ConnectionFactory and Queue within
              MQSeries:
              def xaqcf(MQTestConnectionFactory) qmanager(QM_jeff)
              def q(MQTestQueue) qmanager(QM_jeff) queue(default)
              Okay...here is my error:
              <21-Aug-02 11:08:34 ADT AM> <Error> <MessagingBridge> <Error occurred in bridge
              "Messaging Bridge" during transferring messages (java.lang.Exception: java.lang.
              reflect.UndeclaredThrowableException: java.lang.reflect.InvocationTargetException:
              javax.resource.ResourceException: Error creating consumer or receiving message
              at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1086)
              at weblogic.jms.adapter.JMSBaseConnection.receiveInternal(JMSBaseConnection.java:774)
              at weblogic.jms.adapter.JMSBaseConnection.receiveCommon(JMSBaseConnection.java:656)
              at weblogic.jms.adapter.JMSBaseConnection.receive(JMSBaseConnection.java:811)
              at weblogic.jms.adapter.JMSConnectionHandle.receive(JMSConnectionHandle.java:111)
              at java.lang.reflect.Method.invoke(Native Method)
              at weblogic.connector.common.internal.ConnectionWrapper.invoke(ConnectionWrapper.java:60)
              at $Proxy82.receive(Unknown Source)
              at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1215)
              at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:854)
              at weblogic.jms.bridge.internal.MessagingBridge.execute(MessagingBridge.
              Has anyone see this error before? Here is part of my ra.xml file....I just put
              these entries in to see what happens:
              <config-property>
              <config-property-name>ConnectionURL</config-property-name>
              <config-property-type>java.lang.String</config-property-type>
              <config-property value>file:/C:/Develop/app_servers/WebSphere/MQSeries</config-property-value>
              </config-property>
              <config-property>
              <config-property-name>InitialContextFactory</config-property-name>
              <config-property-type>java.lang.String</config-property-type>
              <config-property-value>com.sun.jndi.fscontext.RefFSContextFactory</config-property-value>
              </config-property>
              <config-property>
              <config-property-name>ConnectionFactoryJNDI</config-property-name>
              <config-property-type>java.lang.String</config-property-type>
              <config-property-value>MQTestConnectionFactory</config-property-value>
              </config-property>
              <config-property>
              <config-property-name>DestinationJNDI</config-property-name>
              <config-property-type>java.lang.String</config-property-type>
              <config-property-value>MQTestQueue</config-property-value>
              </config-property>
              <config-property>
              <config-property-name>DestinationType</config-property-name>
              <config-property-type>java.lang.String</config-property-type>
              <config-property-value></config-property-value>
              </config-property>
              <config-property>
              <config-property-name>AdapterType</config-property-name>
              <config-property-type>java.lang.String</config-property-type>
              <config-property-value>XATransaction</config-property-value>
              </config-property>
              Here is a snip of my config.xml:
              <MessagingBridge AsyncEnabled="false" DurabilityEnabled="false"
              Name="Messaging Bridge" QualityOfService="Atmost-once"
              SourceDestination="Source JMS Bridge Destination"
              TargetDestination="Target JMS Bridge Destination" Targets="myserver"/>
              <JMSBridgeDestination
              AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDIXA"
              ConnectionFactoryJNDIName="MQTestConnectionFactory"
              ConnectionURL="file:/C:/Develop/app_servers/WebSphere/MQSeries"
              DestinationJNDIName="MQTestQueue" InitialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
              Name="Source JMS Bridge Destination"/>
              <JMSBridgeDestination
              AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDIXA"
              ConnectionFactoryJNDIName="imagictv.platform.ToolkitRequestCF"
              ConnectionURL="t3://localhost:7001"
              DestinationJNDIName="imagictv.platform.ToolkitRequestQueue"
              InitialContextFactory="weblogic.jndi.WLInitialContextFactory" Name="Target
              JMS Bridge Destination"/>
              Any help would be greatly appreciated. Thank you in advance for your help.
              Sincerely,
              Jeff
              

              I tried your suggestion and it worked!! The only thing is, it
              makes the deployment of the resource adapter a little more
              complicated. Now my customers are going to have to edit their
              config.xml, instead of just dropping in the appropriate rar into
              the applications directory. But one nice side affect of placing
              the rar's in a different directory is it makes the Message
              Bridge a little more stable. I was finding it to be very
              unstable. One time I would startup my Application Server and
              everything was fine, then I would shutdown. The next time I
              started it up, I would get exceptions. I have yet to see that
              behavior with this new configuration.
              Thanks again for all of your help, it is greatly appreciated!!
              Jeff
              Dongbo Xiao <[email protected]> wrote:
              >Looks like that somehow you have the adapter deployed
              >multiple times, may not be intended. The cause is that
              >everything in the application directory will be automatically
              >deployed and all of them are added to the config.xml. During
              >the next boot, those appear in the config.xml will be deployed and
              >everything in the application directory too. As a result, the adapters
              >are deployed twice. The complain about runtime mbean not found may
              >mean the one that is overridden by the new one.
              >
              >The work around is not to put your adapters in the application
              >directory, instead, put them in a different directory and point to
              >the directory in your config.xml.
              >
              >Dongbo
              >Jeff wrote:
              >>
              >> One more thing...
              >> I noticed that the exception specified that it couldn't find
              >> mydomain:Location=myserver,Name=jms-xa-
              >> adp_Pool_1,ServerRuntime=myserver,Type=ConnectorConnectionPoolRun
              >> time MBean, but what's interesting that if I run the following
              >> java weblogic.Admin GET -type ConnectorConnectionPoolRuntime -
              >> property ActiveConnectionsCurrentCount -url
              >> http://localhost:7001 -username xxxx -password xxxx I get the
              >> following output:
              >>
              >> {MBeanName="mydomain:Location=myserver,Name=jms-xa-
              >> adp_Pool_3,ServerRuntime=myse
              >> rver,Type=ConnectorConnectionPoolRuntime"{ActiveConnectionsCurren
              >> tCount=0}}
              >> {MBeanName="mydomain:Location=myserver,Name=jms-notran-
              >> adp_Pool_2,ServerRuntime=
              >> myserver,Type=ConnectorConnectionPoolRuntime"{ActiveConnectionsCu
              >> rrentCount=0}}
              >>
              >> So from that...it looks like the MBean is there. Any ideas why it
              >is not being
              >> found?
              >>
              >> Thanks,
              >>
              >> Jeff
              >>
              >> "Jeff" <[email protected]> wrote:
              >> >
              >> >
              >> >
              >> >Thank you very much!!
              >> >
              >> >I tried your suggestions and created a general Queue Connection Factory
              >> >within
              >> >MQSeries. Then I setup my MQSeries JMS Bridge Destination to use
              >the
              >> >jms-notrans-adp.rar
              >> >resource adapter. With this configuration, I can send messages to
              >MQSeries
              >> >and
              >> >they get forwarded to Weblogic.
              >> >
              >> >But, if I create a XAQueueConnectionFactory within MQSeries I cannot
              >> >get the bridge
              >> >working at all. I realize that MQSeries has a bug with Transactions
              >> >and remote
              >> >servers, but I have MQSeries and Weblogic running on the same machine.
              >> > I thought
              >> >I could setup an XAConnectionFactory in MQSeries, set the MQSeries
              >JMS
              >> >Bridge
              >> >Destination to use the jms-xa-adp.rar and specify Exactly-once QOS
              >and
              >> >it should
              >> >work? I tried it and it didn't work. ( see attachment for weblogic.log
              >> >showing
              >> >exception ).
              >> >
              >> >Here is my config.xml:
              >> > <MessagingBridge AsyncEnabled="false" DurabilityEnabled="false"
              >> > Name="Request Messaging Bridge" QOSDegradationAllowed="true"
              >> > QualityOfService="Exactly-once"
              >> > SourceDestination="Source JMS Bridge Destination"
              >> > TargetDestination="Target JMS Bridge Destination" Targets="myserver"/>
              >> > <JMSBridgeDestination
              >> > ConnectionFactoryJNDIName="imagictv.platform.ToolkitRequestCF"
              >> > ConnectionURL="t3://localhost:7001"
              >> > DestinationJNDIName="imagictv.platform.ToolkitRequestQueue"
              >Name="Target
              >> >JMS Bridge Destination"/>
              >> > <JMSBridgeDestination
              >> > AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDIXA"
              >> > ConnectionFactoryJNDIName="MQTestConnectionFactory"
              >> > ConnectionURL="file:/C:/Develop/app_servers/WebSphere/MQSeries"
              >> > DestinationJNDIName="MQTestQueue"
              >> > InitialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
              >> >Name="Source
              >> >JMS Bridge Destination"/>
              >> >
              >> >Again, thank you very much for your response. It helped me a great
              >deal.
              >> > Any
              >> >thoughts on the above problem please foward them along.
              >> >
              >> >Oh...and to answer the question posed to me, yes the CR081511_61sp3.jar
              >> >file is
              >> >dated 8/13/2002
              >> >
              >> >
              >> >Sincerely,
              >> >
              >> >Jeff
              >> >
              >> >Dongbo Xiao <[email protected]> wrote:
              >> >>Please see my comments inline.
              >> >>
              >> >>
              >> >>Jeff wrote:
              >> >>>
              >> >>> Hi,
              >> >>> I'm really struggling with getting the Message Bridge working with
              >> >>Weblogic 6.1
              >> >>> sp3 and MQSeries 5.2. Currently I have both installed on the same
              >> >>Windows 2000
              >> >>> machine. First I'll pose some questions that I have, then I discuss
              >> >>the error
              >> >>> I'm getting. Here are my questions:
              >> >>>
              >> >>> 1. With the jms-xa-adp.rar there is a ra.xml and a weblogic-ra.xml.
              >> >> Within the
              >> >>> ra.xml deployment descriptor there are config-properties for ConnectionURL,
              >> >>InitialContextFactory,
              >> >>> ConnectionFactoryJNDI, and DestinationType. If my MQSeries Queue
              >> >is
              >> >>the source
              >> >>> jms destination bridge and my weblogic queue is the target jms
              >destination
              >> >>bridge,
              >> >>> what values do I set for the listed config-properties? I can't
              >seem
              >> >>to find any
              >> >>> documentation on what these values should be. Am I missing something?
              >> >> Do these
              >> >>> values even have to be set?
              >> >>>
              >> >>
              >> >>You DON'T have to do anything to the adapter deployment descriptor
              >> >>files.
              >> >>The values given there for the listed config-properties are just
              >default
              >> >>values.
              >> >>The values configured in JMSBridgeDestination instances are the values
              >> >>used to
              >> >>override the default values in the dd file.
              >> >>
              >> >>> 2. When I go to install a Weblogic instance to a different physical
              >> >>machine what
              >> >>> has to be installed in terms of MQSeries? So I'll have MQSeries
              >on
              >> >>physical machineA
              >> >>> and Weblogic on a different physical machineB. I want machineA
              >to
              >> >>forward all
              >> >>> messages placed on a MQSeries Queue to forward them to machineB
              >where
              >> >>the weblogic
              >> >>> Queue resides. Does machineB also have to contain an MQSeries
              >installation?
              >> >>> Or can I just grab the necessary libraries and jar files and place
              >> >>them on the
              >> >>> Weblogic machineB so they can be included?
              >> >>>
              >> >>
              >> >>You don't have to install MQSeries on the machine that the WebLogic
              >> >>server is running. You need the necessary libraries and jar files
              >> >>though.
              >> >>
              >> >>> 3. Is it correct that if I distribute Weblogic onto one physical
              >server
              >> >>and MQSeries
              >> >>> onto a different physical server that I cannot use Exactly-once
              >quality
              >> >>of service?
              >> >>>
              >> >>
              >> >>That is correct and it is a MQSeries transaction limitation.
              >> >>
              >> >>> Other notes:
              >> >>> 1. I have the following patches installed for Weblogic 6.1 sp3:
              >> >>> CR081404_610sp3.jar
              >> >>> CR081511_61sp3.jar
              >> >>>
              >> >>
              >> >>What version of CR081511_61sp3.jar you have? You need the one dated
              >> >on
              >> >>8/13/2002.
              >> >>
              >> >>> 2. Here is the commands I used to create my ConnectionFactory
              >and
              >> >>Queue within
              >> >>> MQSeries:
              >> >>> def xaqcf(MQTestConnectionFactory) qmanager(QM_jeff)
              >> >>> def q(MQTestQueue) qmanager(QM_jeff) queue(default)
              >> >>>
              >> >>
              >> >>The only possible error I see here is that you create a xaqcf while
              >> >your
              >> >>bridge
              >> >>is configured to have "Atmost-once" QOS. The bridge adapter will
              >create
              >> >>XASession
              >> >>if the connection factory is xa because it knows nothing about QOS
              >of
              >> >>the bridge.
              >> >>As I said, there is a limitation in MQSeries transactions, which
              >prevent
              >> >>the
              >> >>transaction to happen between remote servers. Although the bridge
              >does
              >> >>not
              >> >>start the the transaction in your case, but MQSeries xa connection
              >> >>factory may
              >> >>throw error when it detects the other side is remote. Having said
              >that,
              >> >>I am not
              >> >>completely sure this is the problem caused the bridge to fail. I
              >suggest
              >> >>you use
              >> >>a non-xa connection factory on the MQSeries side and see if the problem
              >> >>goes away.
              >> >>
              >> >>> Okay...here is my error:
              >> >>>
              >> >>> <21-Aug-02 11:08:34 ADT AM> <Error> <MessagingBridge> <Error occurred
              >> >>in bridge
              >> >>> "Messaging Bridge" during transferring messages (java.lang.Exception:
              >> >>java.lang.
              >> >>> reflect.UndeclaredThrowableException: java.lang.reflect.InvocationTargetException:
              >> >>> javax.resource.ResourceException: Error creating consumer or receiving
              >> >>message
              >> >>> at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1086)
              >> >>> at weblogic.jms.adapter.JMSBaseConnection.receiveInternal(JMSBaseConnection.java:774)
              >> >>> at weblogic.jms.adapter.JMSBaseConnection.receiveCommon(JMSBaseConnection.java:656)
              >> >>> at weblogic.jms.adapter.JMSBaseConnection.receive(JMSBaseConnection.java:811)
              >> >>> at weblogic.jms.adapter.JMSConnectionHandle.receive(JMSConnectionHandle.java:111)
              >> >>> at java.lang.reflect.Method.invoke(Native Method)
              >> >>> at weblogic.connector.common.internal.ConnectionWrapper.invoke(ConnectionWrapper.java:60)
              >> >>> at $Proxy82.receive(Unknown Source)
              >> >>> at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1215)
              >> >>> at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:854)
              >> >>> at weblogic.jms.bridge.internal.MessagingBridge.execute(MessagingBridge.
              >> >>>
              >> >>
              >> >>The latest patch CR081511_61sp3.jar (dated on 8/13/2002) will expose
              >> >>more error
              >> >>information.
              >> >>
              >> >>> Has anyone see this error before? Here is part of my ra.xml file....I
              >> >>just put
              >> >>> these entries in to see what happens:
              >> >>>
              >> >>> <config-property>
              >> >>> <config-property-name>ConnectionURL</config-property-name>
              >> >>> <config-property-type>java.lang.String</config-property-type>
              >> >>> <config-property value>file:/C:/Develop/app_servers/WebSphere/MQSeries</config-property-value>
              >> >>> </config-property>
              >> >>>
              >> >>> <config-property>
              >> >>> <config-property-name>InitialContextFactory</config-property-name>
              >> >>> <config-property-type>java.lang.String</config-property-type>
              >> >>> <config-property-value>com.sun.jndi.fscontext.RefFSContextFactory</config-property-value>
              >> >>> </config-property>
              >> >>>
              >> >>> <config-property>
              >> >>> <config-property-name>ConnectionFactoryJNDI</config-property-name>
              >> >>> <config-property-type>java.lang.String</config-property-type>
              >> >>> <config-property-value>MQTestConnectionFactory</config-property-value>
              >> >>> </config-property>
              >> >>>
              >> >>> <config-property>
              >> >>> <config-property-name>DestinationJNDI</config-property-name>
              >> >>> <config-property-type>java.lang.String</config-property-type>
              >> >>> <config-property-value>MQTestQueue</config-property-value>
              >> >>> </config-property>
              >> >>>
              >> >>> <config-property>
              >> >>> <config-property-name>DestinationType</config-property-name>
              >> >>> <config-property-type>java.lang.String</config-property-type>
              >> >>> <config-property-value></config-property-value>
              >> >>> </config-property>
              >> >>>
              >> >>> <config-property>
              >> >>> <config-property-name>AdapterType</config-property-name>
              >> >>> <config-property-type>java.lang.String</config-property-type>
              >> >>> <config-property-value>XATransaction</config-property-value>
              >> >>> </config-property>
              >> >>>
              >> >>
              >> >>As I said earlier, you are not supposed to change the adapter dd
              >file.
              >> >>
              >> >>
              >> >>> Here is a snip of my config.xml:
              >> >>>
              >> >>> <MessagingBridge AsyncEnabled="false" DurabilityEnabled="false"
              >> >>> Name="Messaging Bridge" QualityOfService="Atmost-once"
              >> >>> SourceDestination="Source JMS Bridge Destination"
              >> >>> TargetDestination="Target JMS Bridge Destination" Targets="myserver"/>
              >> >>> <JMSBridgeDestination
              >> >>> AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDIXA"
              >> >>> ConnectionFactoryJNDIName="MQTestConnectionFactory"
              >> >>> ConnectionURL="file:/C:/Develop/app_servers/WebSphere/MQSeries"
              >> >>> DestinationJNDIName="MQTestQueue" InitialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
              >> >>> Name="Source JMS Bridge Destination"/>
              >> >>>
              >> >>> <JMSBridgeDestination
              >> >>> AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDIXA"
              >> >>> ConnectionFactoryJNDIName="imagictv.platform.ToolkitRequestCF"
              >> >>> ConnectionURL="t3://localhost:7001"
              >> >>> DestinationJNDIName="imagictv.platform.ToolkitRequestQueue"
              >> >>> InitialContextFactory="weblogic.jndi.WLInitialContextFactory"
              >Name="Target
              >> >>> JMS Bridge Destination"/>
              >> >>>
              >> >>
              >> >>Your configuration of the bridge and bridge destinations look fine.
              >> >
              >> >>The last thing is that you have to put MQSeries stuff in your CLASSPATH
              >> >>and PATH for starting the WebLogic server that the bridge is running
              >> >>on.
              >> >>
              >> >>You can also turn on debug for more information.
              >> >>-Dweblogic.Debug.DebugMessagingBridgeStartup=true
              >> >>-Dweblogic.Debug.DebugMessagingBridgeRuntime=true
              >> >>
              >> >>
              >> >>Thanks,
              >> >>Dongbo
              >> >
              

  • WLS 6 and MQSeries

    we have been successfully using IBMs JMSAdmin with the
              weblogic.jndi.WLInitialContextFactory on wls 5.1.8 and MQ 5.2 on w2k,
              simply by setting the appropriate parameters in JMSAdmin.config. We
              tryied the same with wls 6 and failed bitterly. 2 questions:
              1.) does it make sense to try an bind JMSAdmin with a wls jndi
              service, or is there a better way, eg. to completely rely on the wls
              JMS service for registering MQSeries connections? how would that work?
              2.) does anybody have a clou, where i can find that article, i think
              it's by steve felts on using foreign JMS providers with wls? i think
              the link on dev2dev is broken?
              many thanxx
              leopold
              

    The JNDI provider in WLS is not persistent. Any data you put in it while the
              server is running goes away when the server is shut down. You're better off
              using JMSAdmin to store the MQSeries JMS objects in a JNDI "filesystem" or
              LDAP provider. Then, WLS can look up the MQSeries objects from there. The
              IBM "JMSAdmin" won't even let you put MQSeries JMS objects into the WLS JNDI
              provider, and if it did, they would go away when the server is shut down.
              greg
              "leopld goess" <[email protected]> wrote in message
              news:[email protected]..
              > we have been successfully using IBMs JMSAdmin with the
              > weblogic.jndi.WLInitialContextFactory on wls 5.1.8 and MQ 5.2 on w2k,
              > simply by setting the appropriate parameters in JMSAdmin.config. We
              > tryied the same with wls 6 and failed bitterly. 2 questions:
              > 1.) does it make sense to try an bind JMSAdmin with a wls jndi
              > service, or is there a better way, eg. to completely rely on the wls
              > JMS service for registering MQSeries connections? how would that work?
              >
              > 2.) does anybody have a clou, where i can find that article, i think
              > it's by steve felts on using foreign JMS providers with wls? i think
              > the link on dev2dev is broken?
              >
              >
              > many thanxx
              > leopold
              

  • WLS JTA and  JMS

    Hi,
              I would like to know, whether the WLS TransactionManager can do the
              following,
              1. within a single unit of work using Bean managed transactions eg.
              pseudo code,
              txn.begin();
              for loop = 1 to n
              msg.send();
              txn.commit();
              I cannot get this to work with MQSeries JMS.
              Please can you explain how the TransactionManager works.
              Is the TransactionManager able to support concurrent transactions?
              If not how do you synchronize calls to the TransactionManager.
              Thank you in advance!
              Regards
              Suren
              

    Hi,
              I would like to know, whether the WLS TransactionManager can do the
              following,
              1. within a single unit of work using Bean managed transactions eg.
              pseudo code,
              txn.begin();
              for loop = 1 to n
              msg.send();
              txn.commit();
              I cannot get this to work with MQSeries JMS.
              Please can you explain how the TransactionManager works.
              Is the TransactionManager able to support concurrent transactions?
              If not how do you synchronize calls to the TransactionManager.
              Thank you in advance!
              Regards
              Suren
              

  • MDB deployed on a separate WLS/machine from where JMS is running

    I'm trying to deploy an MDB on a separate WLS/machine from where
    JMS is running. How and where to put the reference to the queue to read messages.
    Also please share the versions of ejb-jar.xml and weblogic-ejb-jar.xml files that
    are more practical and meaningful than they are in BEA samples.
    Thanks a lot.

    If the MDB's WLS instance and the JMS WLS instance are in the same
    cluster, then you shouldn't need to do anything. (The clustering will
    present a unified JNDI tree and that's how it finds it.)
    If they're not clustered, you need something like this in your
    weblogic-ejb-jar.xml:
    <message-driven-descriptor>
    <destination-jndi-name>Bids</destination-jndi-name>
    <provider-url>t3://jms_server:7001</provider-url>
    </message-driven-descriptor>
    -- Rob
    Alan wrote:
    I'm trying to deploy an MDB on a separate WLS/machine from where
    JMS is running. How and where to put the reference to the queue to read messages.
    Also please share the versions of ejb-jar.xml and weblogic-ejb-jar.xml files that
    are more practical and meaningful than they are in BEA samples.
    Thanks a lot.

  • Tuxedo / WLS using WTC

              Hello,
              I am looking for some advice, documentation – anything regarding he best practices
              for clustering between Tuxedo 8.0 and WLS 6.1 SP3 using WTC.
              I have the following configuration: 5 Tuxedo servers running on five boxes, each
              of them accessing 2 WLS servers. The connectivity is achieved using WTC.
              I wonder what is best: to have a hardware load balance? To set up Tuxedo to that
              it fails-over the other one? Do I need the two WLS instances to be clustered?
              Do I need an admin server?
              Cheers,
              Thierry
              

    Claudio,
    WTC does not have the Fmkfldid or Fappend methods. You can open a case with
    support and you may be able to get a one off patch to help your porting
    experience.
    (one-off because you are asking for an API change without full QA testing)
    You could also write your own versions of these methods.
    For example, Fappend would simply be a wrapper around Fadd which would
    just use
    the Fldid and object value. For Fmkfldid you would need to use
    Fiterator to go through
    the Fmlkeys and compare the Fldtype and Fldno of each key's Fldid with
    the type and
    number of your input.(There is a better way of doing this and support
    may be able to give
    it to you without a patch).
    Bob Finan
    Claudio Conti wrote:
    Hi, my company is planning to port a large Tuxedo 8.0 application on WLS using
    WTC.
    The Tuxedo services have FML buffers built using Fmkfldid and Fappend function
    and for us it is impossible to change this approach.
    There is any way to use the same functions in jatmi ?
    Thanks
    Claudio

Maybe you are looking for

  • Help me to add some libraries for WebLogic Portal project

    My Web portal project (10.3.2) that was created with Oracle Enterprise pack for Eclipse with some custom configurations: - Beehive controls - Beehive netUI - Struts 1.2 - WebLogic Control Extension 10.2 - full feature for "WebLogic portal" - "Portal

  • WD Smartware External HD recognized in Finder but not in Disk Utility

    So I'm having a bit of a strange problem that is a reversal of what I see answered in the forums. I have a 2tb Western Digital Smartware external hard drive that I used to use on my old PC. I decided that I wanted to start using it with my Macbook an

  • Using Method UPDATE_CONTRACT_OBJECT to Update Facts Value

    Hello, I'm using method  UPDATE_CONTRACT_OBJECT to update Fact Values. I want to update the content of IT_FACTS-BAPI_CTRACPSOBJECT_FACTS-VALUE_GENERIC  from the FormBundel Header SYS_FORM_BUNDEL_HEADER-PERIOD_KEY. After generating the funtion, my map

  • IBM JDK 6 32bit & 64bit Reflection Invoke issue on Weblogic 10.3

    We just found a issue on Weblogic 10.3 with IBM JDK 6 32bit, which calls different method during reflection invoke with that been processed under 64bit JDK, here is my source code: public class ButtonTag extends InputTag { private boolean checkNotNul

  • Image Capture Extension running wild

    Hi! I have a year old MacBook Pro, and I'm for the first time experiencing trouble. Whenever i connect my iPhone or other camera device, Image Capture Extension runs out of control. It starts out slow, but when I view the process in Activity Monitor