|   | 
	 
  
    | 
RSS Feed - WebSphere MQ Support
 | 
RSS Feed - Message Broker Support
 |   
 
  
	     | 
	 | 
   
 
  
	|  HTTP proxy servlet problem | 
	« View previous topic :: View next topic »  | 
   
  
  	
	  
		
		
		  | Author | 
		  Message
		 |  
		
		  | PEPERO | 
		  
		    
			  
				 Posted: Wed May 15, 2013 9:25 pm    Post subject: HTTP proxy servlet problem | 
				     | 
			   
			 
		   | 
		 
		
		   Disciple
 
 Joined: 30 May 2011 Posts: 177
  
  | 
		  
		    
			  
				Hi all;
 
As you know we could use the http proxy servlet to handle the http traffics against the message broker to replace the soap/http wide or embeded listeners. 
 
Employing WMB V7.0.0.1 under the Z/OS, when using http proxy servlet in such a way that the web container is remote to the message broker server, hence using the MQ client connection, i've a potential problem with it. The url-path in the HTTP input node is set to 
 
 
   
	| Quote: | 
   
  
	| /ServletAppName/BrokerWSname | 
   
 
 
The broker is set to use the wide listener and the servlet is deployed to the apache tomcat v7 under the windows 7 operating system. 
 
When trying to make a web service call directly without using the application server, every thing goes right. Sniffing the MQ remote port shows the correct messages sent and received. 
 
But when trying to use the web container and proxy servlet , the sniffer shows that it tries to access SYSTEM.BROKER.WS.ACK using the correlID "CorrelIDForHTTPConfigF03" but no messageID is seen in the sniffers report. So the http proxy servlet returns 2033 status code. 
 
I've check multiple times the url-paths but every thing is ok. 
 
The client makes a request from the url-path 
   
	| Quote: | 
   
  
	| http://localhost:8080/ServletAppName/BrokerWSname | 
   
 
 
from which the apache server shows context path 
 is properly configured.
 
When browsing the trace file of the proxy servlet it shows that it gets the connection to the broker but no match for the url. 
   
	| Quote: | 
   
  
	
 
 
19700103000003.986819  48 { WBIMBServlet processGet
 
19700103000003.987010  48 WBIMBServlet processGet URL= /ServletAppName/BrokerWSname
 
19700103000003.987128  48 WBIMBServlet processGet Found header accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
 
19700103000003.987228  48 WBIMBServlet processGet Found header referer: http://localhost:8080/manager/html
 
19700103000003.987324  48 WBIMBServlet processGet Found header accept-language: fa-IR
 
19700103000003.987425  48 WBIMBServlet processGet Found header user-agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; BTRS123646; GTB7.4; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)
 
19700103000003.987522  48 WBIMBServlet processGet Found header accept-encoding: gzip, deflate
 
19700103000003.987617  48 WBIMBServlet processGet Found header if-modified-since: Wed, 08 May 2013 15:36:30 GMT
 
19700103000003.987711  48 WBIMBServlet processGet Found header if-none-match: W/"339-1368027390000"
 
19700103000003.987805  48 WBIMBServlet processGet Found header host: localhost:8080
 
19700103000003.987885  48 WBIMBServlet processGet Found header connection: Keep-Alive
 
19700103000003.988083  48 WBIMBServlet processGet Looking for message flow for URI /ServletAppName/BrokerWSname
 
19700103000003.988152  48 { BrokerConnectionPool getBrokerConnection
 
19700103000003.988224  48 } BrokerConnectionPool getBrokerConnection com.ibm.broker.httpproxy.BrokerConnection@8703e0
 
19700103000003.988289  48 WBIMBServlet processGet Found broker connection com.ibm.broker.httpproxy.BrokerConnection@8703e0
 
19700103000003.988350  48 { BrokerConnection findEntryThatMatchesOurURL
 
19700103000003.988410  48   { ConfigDataCache findEntryThatMatchesOurURL
 
19700103000003.988473  48     { ListenerParameters findEntryThatMatchesOurURL
 
19700103000003.988532  48       ListenerParameters findEntryThatMatchesOurURL urlToCheck /ServletAppName/BrokerWSname
 
19700103000003.988591  48       ListenerParameters findEntryThatMatchesOurURL brokerName BRK1
 
19700103000003.988855  48       ListenerParameters findEntryThatMatchesOurURL retval null
 
19700103000003.988928  48     } ListenerParameters findEntryThatMatchesOurURL
 
19700103000003.988988  48     ConfigDataCache findEntryThatMatchesOurURL retval was null for the cached version
 
19700103000003.989047  48     { ConfigDataCache getListenerParametersFromQueue
 
19700103000003.989110  48       { MQClientContext <constructor>
 
19700103000003.989169  48         MQClientContext <constructor> Connecting to QM MQ1
 
19700103000003.989228  48         MQClientContext <constructor> hostname 5.5.5.12
 
19700103000003.989286  48         MQClientContext <constructor> channel SYSTEM.DEF.SVRCONN
 
19700103000003.989345  48         MQClientContext <constructor> port 1414
 
19700103000003.989415  48         MQClientContext <constructor> connect 1 of 1
 
19700103000004.000269  48       } MQClientContext <constructor>
 
19700103000004.000432  48       { ConfigDataCache getListenerParametersFromQueueWithContext com.ibm.broker.httpproxy.MQClientContext@1f11e9f
 
19700103000004.000549  48         { ConfigDataCache retrieveMessageFromAckQueue
 
19700103000004.000620  48           { MQClientContext getBrokerAckQueue
 
19700103000004.000683  48             MQClientContext getBrokerAckQueue Opening SYSTEM.BROKER.WS.ACK
 
19700103000004.010605  48           } MQClientContext getBrokerAckQueue
 
19700103000004.015528  48           ConfigDataCache getListenerParametersFromQueueWithContext Received message data ||
 
19700103000004.015619  48           ConfigDataCache getListenerParametersFromQueueWithContext reading from queue data
 
19700103000004.015656  48           { ListenerParameters constructor
 
19700103000004.015696  48           } ListenerParameters constructor
 
19700103000004.015739  48           ConfigDataCache getListenerParametersFromQueueWithContext retval com.ibm.broker.httpproxy.ListenerParameters@dca5f4
 
19700103000004.015774  48         } ConfigDataCache getListenerParametersFromQueueWithContext
 
19700103000004.015809  48         { MQClientContext disconnect
 
19700103000004.023583  48         } MQClientContext disconnect
 
19700103000004.023689  48         ConfigDataCache getListenerParametersFromQueue retval com.ibm.broker.httpproxy.ListenerParameters@dca5f4
 
19700103000004.023726  48       } ConfigDataCache getListenerParametersFromQueue
 
19700103000004.023766  48       { ListenerParameters findEntryThatMatchesOurURL
 
19700103000004.023800  48         ListenerParameters findEntryThatMatchesOurURL urlToCheck /ServletAppName/BrokerWSname
 
19700103000004.023835  48         ListenerParameters findEntryThatMatchesOurURL brokerName BRK1
 
19700103000004.023875  48         ListenerParameters findEntryThatMatchesOurURL retval null
 
19700103000004.023908  48       } ListenerParameters findEntryThatMatchesOurURL
 
19700103000004.023965  48       ConfigDataCache findEntryThatMatchesOurURL retval null
 
19700103000004.024011  48     } ConfigDataCache findEntryThatMatchesOurURL
 
19700103000004.024047  48     BrokerConnection findEntryThatMatchesOurURL retval null
 
19700103000004.024099  48   } BrokerConnection findEntryThatMatchesOurURL
 
19700103000004.024135  48   WBIMBServlet processGet URI doesn't map to anything
 
19700103000004.024635  48 } WBIMBServlet processGet
 
19700103000004.024700  48 WBIMBServlet processGet Returning connection to the pool
 
19700103000004.024742  48 { BrokerConnection recycle
 
19700103000004.024778  48 } BrokerConnection recycle
 
19700103000004.024833  48 { BrokerConnectionPool putBrokerConnection com.ibm.broker.httpproxy.BrokerConnection@8703e0
 
19700103000004.024869  48   BrokerConnectionPool putBrokerConnection Releasing connection (updating last-used time)
 
19700103000004.024906  48   { BrokerConnection recycle
 
19700103000004.024940  48   } BrokerConnection recycle
 
19700103000004.024979  48 } BrokerConnectionPool putBrokerConnection
 
 | 
   
 
 
I've tried to see the messages within the SYSTEM.BROKER.WS.ACK and i've found that the full url path /ServletAppName/BrokerWSname is sit there.
 
Does anybody have any suggestions to be followd to resolve 2033 MQRC?
 
Does proxy servlet encryptes the message sent to the broker server so the messageID couldn't be seen when sniffing the MQ port, but it doesn't encrypte the correlID?
  Last edited by PEPERO on Thu May 16, 2013 8:46 am; edited 1 time in total | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Thu May 16, 2013 4:58 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				Your answer follows  a strange path:
 
   
	| Quote: | 
   
  
	| Looking for CorrelId xyz but no MessageId is being seen? | 
   
 
 
Does the MQ message have the CorrelId set appropriately or is the value being set on the MQ MessageId???   _________________ MQ & Broker admin | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | PEPERO | 
		  
		    
			  
				 Posted: Thu May 16, 2013 8:44 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		   Disciple
 
 Joined: 30 May 2011 Posts: 177
  
  | 
		  
		    
			  
				| The MQ message with the specific correlID is set whenever we deploy a message flow using the soap/http input nodes. | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | vickas | 
		  
		    
			  
				 Posted: Thu Oct 16, 2014 8:20 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		   Centurion
 
 Joined: 18 Aug 2013 Posts: 126
  
  | 
		  
		    
			  
				@PEPERO
 
Hie , were you able to  configure  correctly  in Tomcat ??  If so , can you plz guide me | 
			   
			 
		   | 
		 
		
		  | 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
  | 
  		 
	   
	 | 
   
 
  	 | 
	  |