Problem with AJP connector
We are running IIS6 and Tomcat 6, with the AJP connector forwarding traffic from IIS to Tomcat. Everything has been working well until we started running some load tests. When we ramp up our testing we start to see the following errors in the connector log. [Wed Sep 24 14:28:42 2008] [3456:1504] [error] jk_ajp_common.c (1879): (IppsClaimsWorker) Connecting to tomcat failed. Tomcat is probably not started or is listening on the wrong port [Wed Sep 24 14:28:42 2008] [3456:1504] [error] jk_isapi_plugin.c (1082): service() failed What could be causing this issue? Any help or troubleshooting tips would be appreciated. Thanks- Joe This e-mail is confidential. If you are not the intended recipient, you must not disclose or use the information contained in it. If you have received this e-mail in error, please tell us immediately by return e-mail to [EMAIL PROTECTED] and delete the document. E-mails containing unprofessional, discourteous or offensive remarks violate Sentry policy. You may report employee violations by forwarding the message to [EMAIL PROTECTED] No recipient may use the information in this e-mail in violation of any civil or criminal statute. Sentry disclaims all liability for any unauthorized uses of this e-mail or its contents. This e-mail constitutes neither an offer nor an acceptance of any offer. No contract may be entered into by a Sentry employee without express approval from an authorized Sentry manager. Warning: Computer viruses can be transmitted via e-mail. Sentry accepts no liability or responsibility for any damage caused by any virus transmitted with this e-mail.
RE: Removing Context from URL
I am using Tomcat 5.5. I also failed to mention that this is behind IIS using the isapi_redirect.dll. Do the same instructions still apply? Thanks- Joe -Original Message- From: Caldarale, Charles R [mailto:[EMAIL PROTECTED] Sent: Friday, January 18, 2008 4:10 PM To: Tomcat Users List Subject: RE: Removing Context from URL From: Woytasik Joe [mailto:[EMAIL PROTECTED] Subject: Removing Context from URL I have a user that wants to be able to hit their app without specifying the context. Assuming you're running on a reasonably recent version of Tomcat (you didn't bother to tell us), just name the webapp ROOT (case sensitive). Tomcat treats ROOT as the default webapp for the Host. Make sure you delete the old webapps/ROOT directory first, of course. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail is confidential. If you are not the intended recipient, you must not disclose or use the information contained in it. If you have received this e-mail in error, please tell us immediately by return e-mail to [EMAIL PROTECTED] and delete the document. E-mails containing unprofessional, discourteous or offensive remarks violate Sentry policy. You may report employee violations by forwarding the message to [EMAIL PROTECTED] No recipient may use the information in this e-mail in violation of any civil or criminal statute. Sentry disclaims all liability for any unauthorized uses of this e-mail or its contents. This e-mail constitutes neither an offer nor an acceptance of any offer. No contract may be entered into by a Sentry employee without express approval from an authorized Sentry manager. Warning: Computer viruses can be transmitted via e-mail. Sentry accepts no liability or responsibility for any damage caused by any virus transmitted with this e-mail. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Removing Context from URL
I have a user that wants to be able to hit their app without specifying the context. Right now they need to type http://applicationname.mycompany.com/context and they would like to type http://applicationname.mycompany.com and be directed to their app. Is this possible? If so, what is the best way to accomplish this? Thanks- Joe This e-mail is confidential. If you are not the intended recipient, you must not disclose or use the information contained in it. If you have received this e-mail in error, please tell us immediately by return e-mail to [EMAIL PROTECTED] and delete the document. E-mails containing unprofessional, discourteous or offensive remarks violate Sentry policy. You may report employee violations by forwarding the message to [EMAIL PROTECTED] No recipient may use the information in this e-mail in violation of any civil or criminal statute. Sentry disclaims all liability for any unauthorized uses of this e-mail or its contents. This e-mail constitutes neither an offer nor an acceptance of any offer. No contract may be entered into by a Sentry employee without express approval from an authorized Sentry manager. Warning: Computer viruses can be transmitted via e-mail. Sentry accepts no liability or responsibility for any damage caused by any virus transmitted with this e-mail.
RE: Content_Length Problem
Just wanted to reply and let you guys know that enabling chunked encoding solved my connection issues with CICS. Thanks for all the help, I would have never found this solution without your assistance. Thanks- Joe -Original Message- From: Tim Whittington [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 08, 2008 4:36 PM To: 'Tomcat Users List' Subject: RE: Content_Length Problem That log statement indicates you haven't enabled chunked encoding in the connector config (it's off by default). Add enable_chunked_encoding=true to your isapi_redirect.properties (or as a registry setting if you're using that) and restart IIS. tim -Original Message- From: Woytasik Joe [mailto:[EMAIL PROTECTED] Sent: Wednesday, 9 January 2008 3:25 a.m. To: Tomcat Users List Subject: RE: Content_Length Problem I have tried the isapi_redirect.dll Tim provided, and it appeared to almost work. CICS made the request and received my response but for some reason did not interpret it correctly. Is there something in the redirector's log that I can look at to verify it is using chunked encoding? I see the following line, but never see one where chunked encoding is true. [Tue Jan 08 08:05:07.220 2008] [13680:12960] [debug] init_jk::jk_isapi_plugin.c (2146): Using chunked encoding? false. Thanks- Joe -Original Message- From: Rainer Jung [mailto:[EMAIL PROTECTED] Sent: Saturday, January 05, 2008 11:05 AM To: Tomcat Users List Subject: Re: Content_Length Problem In Joes case CICS seems to get used as an HTTP client, not an HTTP server. Nevertheless the server page you found includes a link to http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/topic/com.ibm.cics. ts31.doc/dfhtl/topics/dfhtl_cwschunking.htm that contains the following information: === When CICS as an HTTP client receives a chunked message as a response to an application program's request, the chunks are also assembled before being passed to the application program as an entity body, and any trailing headers can be read using the HTTP header commands. You can specify how long the application will wait to receive the response, using the RTIMOUT attribute of the transaction profile definition for the transaction ID that relates to the application program. === So it seems, that CICS 3.1 does support chunked encoding when reading an HTTP response. So using either apache httpd or the chunked-encoding enabled variant of the isapi redirector could indeed be the solution. Regards, Rainer Martin Gainty schrieb: Tim-Thanks for the comprehensive explanationI found this link helpful for CICS transactions http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=/ com.ibm.cics.ts31.doc/dfhtl/topics/dfhtl_http11serverintro.htm tml?ocid=TXT_TAGHM_Wave2_sharelife_012008 - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail is confidential. If you are not the intended recipient, you must not disclose or use the information contained in it. If you have received this e-mail in error, please tell us immediately by return e-mail to [EMAIL PROTECTED] and delete the document. E-mails containing unprofessional, discourteous or offensive remarks violate Sentry policy. You may report employee violations by forwarding the message to [EMAIL PROTECTED] No recipient may use the information in this e-mail in violation of any civil or criminal statute. Sentry disclaims all liability for any unauthorized uses of this e-mail or its contents. This e-mail constitutes neither an offer nor an acceptance of any offer. No contract may be entered into by a Sentry employee without express approval from an authorized Sentry manager. Warning: Computer viruses can be transmitted via e-mail. Sentry accepts no liability or responsibility for any damage caused by any virus transmitted with this e-mail. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Content_Length Problem
I have tried the isapi_redirect.dll Tim provided, and it appeared to almost work. CICS made the request and received my response but for some reason did not interpret it correctly. Is there something in the redirector's log that I can look at to verify it is using chunked encoding? I see the following line, but never see one where chunked encoding is true. [Tue Jan 08 08:05:07.220 2008] [13680:12960] [debug] init_jk::jk_isapi_plugin.c (2146): Using chunked encoding? false. Thanks- Joe -Original Message- From: Rainer Jung [mailto:[EMAIL PROTECTED] Sent: Saturday, January 05, 2008 11:05 AM To: Tomcat Users List Subject: Re: Content_Length Problem In Joes case CICS seems to get used as an HTTP client, not an HTTP server. Nevertheless the server page you found includes a link to http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/topic/com.ibm.cics. ts31.doc/dfhtl/topics/dfhtl_cwschunking.htm that contains the following information: === When CICS as an HTTP client receives a chunked message as a response to an application program's request, the chunks are also assembled before being passed to the application program as an entity body, and any trailing headers can be read using the HTTP header commands. You can specify how long the application will wait to receive the response, using the RTIMOUT attribute of the transaction profile definition for the transaction ID that relates to the application program. === So it seems, that CICS 3.1 does support chunked encoding when reading an HTTP response. So using either apache httpd or the chunked-encoding enabled variant of the isapi redirector could indeed be the solution. Regards, Rainer Martin Gainty schrieb: Tim-Thanks for the comprehensive explanationI found this link helpful for CICS transactions http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=/ com.ibm.cics.ts31.doc/dfhtl/topics/dfhtl_http11serverintro.htm tml?ocid=TXT_TAGHM_Wave2_sharelife_012008 - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail is confidential. If you are not the intended recipient, you must not disclose or use the information contained in it. If you have received this e-mail in error, please tell us immediately by return e-mail to [EMAIL PROTECTED] and delete the document. E-mails containing unprofessional, discourteous or offensive remarks violate Sentry policy. You may report employee violations by forwarding the message to [EMAIL PROTECTED] No recipient may use the information in this e-mail in violation of any civil or criminal statute. Sentry disclaims all liability for any unauthorized uses of this e-mail or its contents. This e-mail constitutes neither an offer nor an acceptance of any offer. No contract may be entered into by a Sentry employee without express approval from an authorized Sentry manager. Warning: Computer viruses can be transmitted via e-mail. Sentry accepts no liability or responsibility for any damage caused by any virus transmitted with this e-mail. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Content_Length Problem
I have a custom webservice hosted on IIS 6.0 and Tomcat 6, and I am using the latest version of the isapi_redirect.dll. The problem occurs when a CICS mainframe application tries to call this webservice. Everything appears to work fine, but the CICS application receives a response indicating a zero length message. I can view the message being sent from the webservice and this is definitely not the case (have also taken several packet traces to confirm this). We sent our problem to the folks over at IBM and they say that the CONTENT_LENGTH is not being set. Here is their response: The problem is that there isn't a Content-Length header sent by the IIS/Tomcat Server. CICS receives the headers and finds it is an HTTP/1.1 response for a Connection: Close. There isn't a Content-Length header so there can't be any user data (HTTP/1.1 has to supply Content-Length) so DFHWBCL just closes the session. PI domain then indicates that it failed to receive a response. The customer needs to investigate why their IIS server didn't return a Content-Length header. . The Content-Length header is mandatory for CICS' HTTP/1.1 conversations. This is documented in the CICS/TS 3.1 Internet Guide, section 1.3.11.1 (CICS Web support behavior in compliance with HTTP/1.1); this chapter documents the requirement in a section titled New Behavior for CICS TS Version 3, under the first item CICS checks inbound messages for compliance with HTTP/1.1, and handles or rejects non-compliant messages: Note: CICS requires the Content-Length header on all inbound HTTP/1.1 messages that have a message body. If a message body is present but the header is not provided, or its value is inaccurate, the socket receive for the faulty message or for a subsequent message can produce unpredictable results. For HTTP/1.0 messages that have a message body, the Content-Length header is optional. . The reason this is mandatory under CICS/TS 3.1, is due to our adherance to HTTP/1.1 specifications -- in other words, your HTTP/1.1 Web Service PROVIDER platform must provide this header, to be considered compliant. . Please ensure the IIS/Tomcat server sends a proper header. If we make the same request directly to Tomcat using the port number it works fine. The problem either lies in the isapi_redirect.dll or the IIS configuration. Does anyone have any ideas on what I can try to resolve this? Is there a know bug with the isapi_redirect.dll and CONTENT_LENGTH? Thanks- Joe This e-mail is confidential. If you are not the intended recipient, you must not disclose or use the information contained in it. If you have received this e-mail in error, please tell us immediately by return e-mail to [EMAIL PROTECTED] and delete the document. E-mails containing unprofessional, discourteous or offensive remarks violate Sentry policy. You may report employee violations by forwarding the message to [EMAIL PROTECTED] No recipient may use the information in this e-mail in violation of any civil or criminal statute. Sentry disclaims all liability for any unauthorized uses of this e-mail or its contents. This e-mail constitutes neither an offer nor an acceptance of any offer. No contract may be entered into by a Sentry employee without express approval from an authorized Sentry manager. Warning: Computer viruses can be transmitted via e-mail. Sentry accepts no liability or responsibility for any damage caused by any virus transmitted with this e-mail.
RE: Content_Length Problem
Rainer, I don't think that chunked encoding will solve the problem I outlined. Just out of curiosity is there something special I need to do to enable chunked encoding once the patch is applied? Where is a good place to upload my log file? Thanks- Joe -Original Message- From: Rainer Jung [mailto:[EMAIL PROTECTED] Sent: Friday, January 04, 2008 3:29 PM To: Tomcat Users List Subject: Re: Content_Length Problem Hi Joe, the isapi chunked encoding patch shouldn't solve your problem. As I understand the topic it will not add a content-length header but enable chunked encoding, which doesn't use content-length. Clean up your jk log and let us/me have a look at it. I hope we can then see if anything is wrong and if so what it is. Regards, Rainer Woytasik Joe schrieb: Rainer, Thanks for the quick response! I am able to repeat this request, and each time I get the same response. The logging level is set to debug, but unfortunately I am unable to send the log file (company policy). I am going to scrub the log file to remove any sensitive information, I will send that your way shortly. I did some network sniffing and CONTENT_LENGTH is not sent. I built a new isapi_redirect.dll using the patch provided in Bugzilla. This patch was supposed to allow chunked encoding, but I am not sure if I applied it right. Is there a registry setting that I need to change to allow chunked encoding with this patch, or does it do it automatically? Thanks- Joe -Original Message- From: Rainer Jung [mailto:[EMAIL PROTECTED] Sent: Friday, January 04, 2008 2:06 PM To: Tomcat Users List Subject: Re: Content_Length Problem Hi Joe, are you able to reproduce the behaviour with few, maybe only a single request? If so: you can increase JkLogLevel to debug (not recommended for high load production size, because it produces a lot of log lines), reproduce the problem and make the log file available. What I didn't really understand from your post: do you know, if the Content-Length header gets send or not? How do you know? Did you sniff the network traffic or do you only know from the CICS behaviour? Lastly: HTTP/1.1 responses without Content-Length headers are valid if they are using chunked encoding (Transfer-Encoding: chunked). I think at the moment the isapi redirector does not use chunked encoding (didn't yet test, but there's an open RFE to implement chunked encoding in the isapi redirecotr), but I want to clarify the absolute statement concerning the http protocol. Chunked encoding replaces the content-length header with sending the number of bytes available in front of every chunk, s.t. the receiving node knows, how much data to expect, without the sending node needing to know the full size before sending. Dynamically generated content often uses chunked encoding to prevent the need of buffering the whole reposne before sending. Regards, Rainer Woytasik Joe schrieb: I have a custom webservice hosted on IIS 6.0 and Tomcat 6, and I am using the latest version of the isapi_redirect.dll. The problem occurs when a CICS mainframe application tries to call this webservice. Everything appears to work fine, but the CICS application receives a response indicating a zero length message. I can view the message being sent from the webservice and this is definitely not the case (have also taken several packet traces to confirm this). We sent our problem to the folks over at IBM and they say that the CONTENT_LENGTH is not being set. Here is their response: The problem is that there isn't a Content-Length header sent by the IIS/Tomcat Server. CICS receives the headers and finds it is an HTTP/1.1 response for a Connection: Close. There isn't a Content-Length header so there can't be any user data (HTTP/1.1 has to supply Content-Length) so DFHWBCL just closes the session. PI domain then indicates that it failed to receive a response. The customer needs to investigate why their IIS server didn't return a Content-Length header. . The Content-Length header is mandatory for CICS' HTTP/1.1 conversations. This is documented in the CICS/TS 3.1 Internet Guide, section 1.3.11.1 (CICS Web support behavior in compliance with HTTP/1.1); this chapter documents the requirement in a section titled New Behavior for CICS TS Version 3, under the first item CICS checks inbound messages for compliance with HTTP/1.1, and handles or rejects non-compliant messages: Note: CICS requires the Content-Length header on all inbound HTTP/1.1 messages that have a message body. If a message body is present but the header is not provided, or its value is inaccurate, the socket receive for the faulty message or for a subsequent message can produce unpredictable results. For HTTP/1.0 messages that have a message body, the Content-Length header is optional. . The reason this is mandatory under CICS/TS
RE: Content_Length Problem
Rainer, Thanks for the quick response! I am able to repeat this request, and each time I get the same response. The logging level is set to debug, but unfortunately I am unable to send the log file (company policy). I am going to scrub the log file to remove any sensitive information, I will send that your way shortly. I did some network sniffing and CONTENT_LENGTH is not sent. I built a new isapi_redirect.dll using the patch provided in Bugzilla. This patch was supposed to allow chunked encoding, but I am not sure if I applied it right. Is there a registry setting that I need to change to allow chunked encoding with this patch, or does it do it automatically? Thanks- Joe -Original Message- From: Rainer Jung [mailto:[EMAIL PROTECTED] Sent: Friday, January 04, 2008 2:06 PM To: Tomcat Users List Subject: Re: Content_Length Problem Hi Joe, are you able to reproduce the behaviour with few, maybe only a single request? If so: you can increase JkLogLevel to debug (not recommended for high load production size, because it produces a lot of log lines), reproduce the problem and make the log file available. What I didn't really understand from your post: do you know, if the Content-Length header gets send or not? How do you know? Did you sniff the network traffic or do you only know from the CICS behaviour? Lastly: HTTP/1.1 responses without Content-Length headers are valid if they are using chunked encoding (Transfer-Encoding: chunked). I think at the moment the isapi redirector does not use chunked encoding (didn't yet test, but there's an open RFE to implement chunked encoding in the isapi redirecotr), but I want to clarify the absolute statement concerning the http protocol. Chunked encoding replaces the content-length header with sending the number of bytes available in front of every chunk, s.t. the receiving node knows, how much data to expect, without the sending node needing to know the full size before sending. Dynamically generated content often uses chunked encoding to prevent the need of buffering the whole reposne before sending. Regards, Rainer Woytasik Joe schrieb: I have a custom webservice hosted on IIS 6.0 and Tomcat 6, and I am using the latest version of the isapi_redirect.dll. The problem occurs when a CICS mainframe application tries to call this webservice. Everything appears to work fine, but the CICS application receives a response indicating a zero length message. I can view the message being sent from the webservice and this is definitely not the case (have also taken several packet traces to confirm this). We sent our problem to the folks over at IBM and they say that the CONTENT_LENGTH is not being set. Here is their response: The problem is that there isn't a Content-Length header sent by the IIS/Tomcat Server. CICS receives the headers and finds it is an HTTP/1.1 response for a Connection: Close. There isn't a Content-Length header so there can't be any user data (HTTP/1.1 has to supply Content-Length) so DFHWBCL just closes the session. PI domain then indicates that it failed to receive a response. The customer needs to investigate why their IIS server didn't return a Content-Length header. . The Content-Length header is mandatory for CICS' HTTP/1.1 conversations. This is documented in the CICS/TS 3.1 Internet Guide, section 1.3.11.1 (CICS Web support behavior in compliance with HTTP/1.1); this chapter documents the requirement in a section titled New Behavior for CICS TS Version 3, under the first item CICS checks inbound messages for compliance with HTTP/1.1, and handles or rejects non-compliant messages: Note: CICS requires the Content-Length header on all inbound HTTP/1.1 messages that have a message body. If a message body is present but the header is not provided, or its value is inaccurate, the socket receive for the faulty message or for a subsequent message can produce unpredictable results. For HTTP/1.0 messages that have a message body, the Content-Length header is optional. . The reason this is mandatory under CICS/TS 3.1, is due to our adherance to HTTP/1.1 specifications -- in other words, your HTTP/1.1 Web Service PROVIDER platform must provide this header, to be considered compliant. . Please ensure the IIS/Tomcat server sends a proper header. If we make the same request directly to Tomcat using the port number it works fine. The problem either lies in the isapi_redirect.dll or the IIS configuration. Does anyone have any ideas on what I can try to resolve this? Is there a know bug with the isapi_redirect.dll and CONTENT_LENGTH? Thanks- Joe This e-mail is confidential. If you are not the intended recipient, you must not disclose or use the information contained in it. If you have received this e-mail in error, please tell us immediately by return e-mail to [EMAIL PROTECTED] and delete the document. E-mails containing unprofessional
Help with isapi_redirect.properties
I am trying to use IIS 6.0 as a front end for Tomcat 5.5 which I have working as expected. The issue I have is that I can only get it working using the registry settings and not using isapi_redirect.properties. We will have several sites and I want them to be independent of each other and I am not sure how to do this without using the isapi_redirect.properties files. Please advise. Thanks in advance. This e-mail is confidential. If you are not the intended recipient, you must not disclose or use the information contained in it. If you have received this e-mail in error, please tell us immediately by return e-mail to [EMAIL PROTECTED] and delete the document. E-mails containing unprofessional, discourteous or offensive remarks violate Sentry policy. You may report employee violations by forwarding the message to [EMAIL PROTECTED] No recipient may use the information in this e-mail in violation of any civil or criminal statute. Sentry disclaims all liability for any unauthorized uses of this e-mail or its contents. This e-mail constitutes neither an offer nor an acceptance of any offer. No contract may be entered into by a Sentry employee without express approval from an authorized Sentry manager. Warning: Computer viruses can be transmitted via e-mail. Sentry accepts no liability or responsibility for any damage caused by any virus transmitted with this e-mail.