ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » HTTP proxy servlet problem

Post new topic  Reply to topic
 HTTP proxy servlet problem « View previous topic :: View next topic » 
Author Message
PEPERO
PostPosted: Wed May 15, 2013 9:25 pm    Post subject: HTTP proxy servlet problem Reply with quote

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
Quote:
/ServletAppName
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
View user's profile Send private message
fjb_saper
PostPosted: Thu May 16, 2013 4:58 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
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
View user's profile Send private message Send e-mail
PEPERO
PostPosted: Thu May 16, 2013 8:44 am    Post subject: Reply with quote

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
View user's profile Send private message
vickas
PostPosted: Thu Oct 16, 2014 8:20 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » HTTP proxy servlet problem
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.