|   | 
	 
  
    | 
RSS Feed - WebSphere MQ Support
 | 
RSS Feed - Message Broker Support
 |   
 
  
	     | 
	 | 
   
 
  
	|  MQ v6 and WebLogic v8.1 Integration | 
	« View previous topic :: View next topic »  | 
   
  
  	
	  
		
		
		  | Author | 
		  Message
		 |  
		
		  | gath | 
		  
		    
			  
				 Posted: Thu Jun 03, 2010 7:57 am    Post subject: MQ v6 and WebLogic v8.1 Integration | 
				     | 
			   
			 
		   | 
		 
		
		   Novice
 
 Joined: 17 Mar 2010 Posts: 10
  
  | 
		  
		    
			  
				Hello,
 
 
We are trying to congigure a weblogic bridge which will talk to MQ server.
 
We are able to get messages from MQ to WebLogic, however we experience problems when putting a message from WebLogic to MQ.
 
 
 
MQ Configuration
 
 
1. Created MQ QueueManager and Queues.
 
MQ Server Version 6 on LINUX 
 
 
MQ host: mqjavadev
 
MQ server javadev
 
Listerning port: 1414
 
 
2 Queues one:
 
MQ.RCV.BRIDGE
 
MQ.SND.BRIDGE
 
 
2. Created ConnectionFactory and Destinations.
 
 
JNDI file created on the MQ server with JMSAdmin
 
using the following:
 
 
def xaqcf(WLS_MQ_QCF) hostname(mqjavadev) port(1414) channel(SYSTEM.DEF.SVRCONN) transport(CLIENT) qmgr(javadev)
 
def q(MQ.RCV.BRIDGE) queue(MQ.RCV.BRIDGE) qmgr(javadev)
 
def q(MQ.SND.BRIDGE) queue(MQ.SND.BRIDGE) qmgr(javadev)
 
 
3. Given required access to the users.
 
currently client connection is in MQM group just to simplify things
 
 
Weblogic configuration
 
 
1. Created JMS Server, Store, topics, connection factory.
 
 
2. Created JMS bridge destinations with
 
a. Adapter jndi name - eis.jms.WLSConnectionFactoryJNDIXA
 
b. Initial context factory for weblogic queue destination
 
weblogic.jndi.WLInitialContextFactory
 
c. Initial context factory for MQ queue destination
 
com.sun.jndi.fscontext.RefFSContextFactory
 
d. Connection url for weblogic queue destination
 
t3://localhost:7001
 
e. Connection url for MQ queue destination
 
file:/C:/JNDI-Directory
 
 
3. Have all required MQ jar files in classpath - 
 
a. com.ibm.mq.jar
 
b. com.ibm.mqjms.jar
 
c. dhbcore.jar
 
d. fscontext.jar
 
e. providerutil.jar
 
 
4. Created two bridges with source as Weblogic topic and target destinations as MQ queue and vice versa.
 
 
a. First bridge works perfectly fine when I am receiving messages from MQ and putting on topic on weblogic.
 
 
b. Second bridge gives following error somehow when I am trying to put messages on MQ q - 
 
 
<03-Jun-2010 12:44:38 o'clock BST> <Info> <MessagingBridge> <BEA-200030> <Bridge "MONITOR_TO_MQ_BRIDGE" is configured to work in "Exactly-once" mode, and it is actua
 
lly working in "Exactly-once" mode.>
 
<03-Jun-2010 12:44:38 o'clock BST> <Info> <MessagingBridge> <BEA-200028> <The bridge "MONITOR_TO_MQ_BRIDGE" has started transferring messages.>
 
<03-Jun-2010 12:44:42 o'clock BST> <Debug> <MessagingBridge> <BEA-200006> <Messaging bridge debugging RUNTIME! Bridge: MONITOR_TO_MQ_BRIDGE (onMessage()) received me
 
ssage:
 
  JMS Message Class: TextMessage
 
  JMSMessageID: ID:P<847863.1275565482103.0>
 
  JMSCorrelationID: null
 
  JMSDeliveryMode: PERSISTENT
 
  JMSDestination: ALL_CHANNEL
 
  JMSExpiration: 0
 
  JMSPriority: 4
 
  JMSRedelivered: false
 
  JMSReplyTo: null
 
  JMSTimestamp: 1275565482103 (Thu Jun 03 12:44:42 BST 2010)
 
  JMSType: null
 
  Transaction Id: null
 
  TEST
 
.>
 
<03-Jun-2010 12:44:42 o'clock BST> <Debug> <MessagingBridge> <BEA-200006> <Messaging bridge debugging RUNTIME! Bridge: MONITOR_TO_MQ_BRIDGE (onMessage()) associated
 
msg ID:P<847863.1275565482103.0> with transaction BEA1-0001E0F772BE204953ED.>
 
<03-Jun-2010 12:44:42 o'clock BST> <Error> <JTA> <BEA-110412> <Xid=BEA1-0001E0F772BE204953ED(8709113),Status=Rolled back. [Reason=Unknown],HeuristicErrorCode=XA_HEUR
 
HAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=30,activeThread=Thread[ExecuteThread: '14' for queue: 'weblogic.kernel.Default',5,Th
 
read Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[JMS_CONTROL_JMS_PERSISTENT_STORE]=(ServerResourceInfo[JMS_CONTROL_JMS_PERSISTENT_STORE]=(state=
 
rolledback,assigned=mybus_control_managed),xar=JMS_CONTROL_JMS_PERSISTENT_STORE,re-Registered = false),XAServerResourceInfo[mybusdomain.mybus_control_managed.W
 
eblogic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA]=(ServerResourceInfo[mybusdomain.mybus_control_managed.Weblogic Messaging Bridge Adapter
 
 (XA)_eis/jms/WLSConnectionFactoryJNDIXA]=(state=rolledback,assigned=mybus_control_managed),xar=com.ibm.mq.jmqi.JmqiXAResource@92fe09,re-Registered = false),SCInfo
 
[mybusdomain+mybus_control_managed]=(state=rolledback),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=mybus_control_managed+10.20
 
4.30.101:10110+mybusdomain+t3+, XAResources={},NonXAResources={})],CoordinatorURL=mybus_control_managed+10.204.30.101:10110+mybusdomain+t3+) completed heuristi
 
cally: (mybusdomain.mybus_control_managed.Weblogic Messaging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA, HeuristicHazard, (javax.transaction.xa.XAExc
 
eption: The method 'xa_rollback' has failed with errorCode '100'.)) >
 
<03-Jun-2010 12:44:42 o'clock BST> <Warning> <MessagingBridge> <BEA-200026> <Bridge "MONITOR_TO_MQ_BRIDGE" encountered some problems in one of its adapters or underl
 
ying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was java.lang.Exception: javax.resource.Resou
 
rceException: Error sending message
 
        at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1339)
 
        at weblogic.jms.adapter.JMSBaseConnection.send(JMSBaseConnection.java:654)
 
        at weblogic.jms.adapter.JMSConnectionHandle.send(JMSConnectionHandle.java:144)
 
        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 weblogic.connector.common.internal.ConnectionWrapper.invoke(ConnectionWrapper.java:149)
 
        at $Proxy9.send(Unknown Source)
 
        at weblogic.jms.bridge.internal.MessagingBridge.onMessageInternal(MessagingBridge.java:1256)
 
        at weblogic.jms.bridge.internal.MessagingBridge.onMessage(MessagingBridge.java:1179)
 
        at weblogic.jms.adapter.JMSBaseConnection$27.run(JMSBaseConnection.java:1943)
 
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
 
        at weblogic.security.service.SecurityManager.contact admin(SecurityManager.java:144)
 
        at weblogic.jms.adapter.JMSBaseConnection.onMessage(JMSBaseConnection.java:1939)
 
        at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2678)
 
        at weblogic.jms.client.JMSSession.execute(JMSSession.java:2598)
 
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
 
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
 
-------------- Linked Exception ------------
 
javax.resource.ResourceException: Error creating producer or sending message
 
        at weblogic.jms.adapter.JMSBaseConnection.throwResourceException(JMSBaseConnection.java:1339)
 
        at weblogic.jms.adapter.JMSBaseConnection.sendInternal(JMSBaseConnection.java:719)
 
        at weblogic.jms.adapter.JMSBaseConnection.access$200(JMSBaseConnection.java:80)
 
        at weblogic.jms.adapter.JMSBaseConnection$6.run(JMSBaseConnection.java:647)
 
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
 
        at weblogic.security.service.SecurityManager.contact admin(SecurityManager.java:144)
 
        at weblogic.jms.adapter.JMSBaseConnection.send(JMSBaseConnection.java:644)
 
        at weblogic.jms.adapter.JMSConnectionHandle.send(JMSConnectionHandle.java:144)
 
        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 weblogic.connector.common.internal.ConnectionWrapper.invoke(ConnectionWrapper.java:149)
 
        at $Proxy9.send(Unknown Source)
 
        at weblogic.jms.bridge.internal.MessagingBridge.onMessageInternal(MessagingBridge.java:1256)
 
        at weblogic.jms.bridge.internal.MessagingBridge.onMessage(MessagingBridge.java:1179)
 
        at weblogic.jms.adapter.JMSBaseConnection$27.run(JMSBaseConnection.java:1943)
 
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
 
        at weblogic.security.service.SecurityManager.contact admin(SecurityManager.java:144)
 
        at weblogic.jms.adapter.JMSBaseConnection.onMessage(JMSBaseConnection.java:1939)
 
        at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2678)
 
        at weblogic.jms.client.JMSSession.execute(JMSSession.java:2598)
 
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
 
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
 
.)>
 
<03-Jun-2010 12:44:42 o'clock BST> <Info> <MessagingBridge> <BEA-200020> <Bridge "MONITOR_TO_MQ_BRIDGE" is stopped.>
 
<03-Jun-2010 12:44:52 o'clock BST> <Info> <MessagingBridge> <BEA-200033> <Bridge "MONITOR_TO_MQ_BRIDGE" is obtaining connections to the two adapters.>
 
<03-Jun-2010 12:44:52 o'clock BST> <Debug> <MessagingBridge> <BEA-200006> <Messaging bridge debugging RUNTIME! Bridge MONITOR_TO_MQ_BRIDGE Getting source connection.
 
 
Verified that MQ server is actively running.
 
Looked at MQ trace files, seems like it allows the bridge is able to reach to MQ server but not able to make connection with QueuConnectionFactory/Queues.
 
 
 
MQ server and listener are running. | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | Vitor | 
		  
		    
			  
				 Posted: Thu Jun 03, 2010 8:47 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		    Grand High Poobah
 
 Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA 
  | 
		  
		    
			  
				
   
	| gath wrote: | 
   
  
	| The method 'xa_rollback' has failed with errorCode '100' | 
   
 
 
 
Looks like the XA had a problem to me, based on the error....   _________________ Honesty is the best policy.
 
Insanity is the best defence. | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Thu Jun 03, 2010 11:36 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				The trace says:
 
   
	| Quote: | 
   
  
	| javax.resource.ResourceException: Error creating producer or sending message | 
   
 
 
However your trace does not show an error code or linked exception code (completion code, reason code).
 
Try finding the reason code. It will tell us a lot more then reading your current post does.   _________________ MQ & Broker admin | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | gath | 
		  
		    
			  
				 Posted: Thu Jun 03, 2010 11:57 am    Post subject: MQ v6 and WebLogic v8.1 Integration | 
				     | 
			   
			 
		   | 
		 
		
		   Novice
 
 Joined: 17 Mar 2010 Posts: 10
  
  | 
		  
		    
			  
				OK thanks for your reply, will test with non XA to see if that was the problem, however we do need XA transactions...
 
 
Will also request feedback from Oracle....
 
 
Back soon.     | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | gath | 
		  
		    
			  
				 Posted: Thu Jun 03, 2010 12:13 pm    Post subject: MQ v6 and WebLogic v8.1 Integration | 
				     | 
			   
			 
		   | 
		 
		
		   Novice
 
 Joined: 17 Mar 2010 Posts: 10
  
  | 
		  
		    
			  
				fjb_saper,
 
 
WebLogic application did not return any MQ error codes, just BEA... | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | Vitor | 
		  
		    
			  
				 Posted: Thu Jun 03, 2010 12:34 pm    Post subject: Re: MQ v6 and WebLogic v8.1 Integration | 
				     | 
			   
			 
		   | 
		 
		
		    Grand High Poobah
 
 Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA 
  | 
		  
		    
			  
				
   
	| gath wrote: | 
   
  
	
 
WebLogic application did not return any MQ error codes, just BEA... | 
   
 
 
 
Then how did you determine it's an MQ issue? _________________ Honesty is the best policy.
 
Insanity is the best defence. | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | Blomman | 
		  
		    
			  
				 Posted: Wed Jun 16, 2010 4:40 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		   Master
 
 Joined: 31 Oct 2006 Posts: 230
  
  | 
		  
		    
			  
				Running WLS and WMQ on same physical server?
 
 
If not XA is not supported unless you have access to jar files for"extended transactional client"
 
 
Then as you specified your .bindings file with "transport(CLIENT)" then im courios if you are remote client? Otherwise binding mode should be used.
 
 
On more thing, if you are on the same physical server then the uid running your wls instance should be in the gid that your WMQ uid is having....
 
This becuse XA is based on shared memory....
 
 
//Blomman | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | 
		    
		   | 
		 
	   
	 | 
   
 
  
	     | 
	 | 
	Page 1 of 1 | 
   
 
 
 
  
  	
	  
		
		  
 
  | 
		  You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
  | 
  		 
	   
	 | 
   
 
  	 | 
	  |