[EMAIL PROTECTED] wrote:
Hi !
I have a problem testing a server which doesn't support chunked
transfer-encoding. After some digging i found a parameter in
jmeter.properties called httpclient.version that i set to 1.0,
thinking chunked transfer-encoding is not http/1.0.
I was right but jmeter (or httpclient) seems to be rather
schyzophrenic about this. I receive this exception :
org.apache.commons.httpclient.ProtocolException: HTTP/1.0 does not
support chunk encoding at
org.apache.commons.httpclient.methods.EntityEnclosingMethod.addContentLengthRequestHeader(EntityEnclosingMethod.java:407)
at
org.apache.commons.httpclient.methods.EntityEnclosingMethod.addRequestHeaders(EntityEnclosingMethod.java:370)
at
org.apache.commons.httpclient.HttpMethodBase.writeRequestHeaders(HttpMethodBase.java:2036)
at
org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1919)
at
org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:993)
at
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
at
org.apache.jmeter.protocol.http.sampler.SoapSampler.sample(SoapSampler.java:224)
at
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:658)
at
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:647)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:247)
at java.lang.Thread.run(Thread.java:595)
And here are the logs :
2006/09/13 18:50:06 DEBUG - jmeter.protocol.http.sampler.HTTPSampler2:
Thread Started
2006/09/13 18:50:06 DEBUG - jmeter.protocol.http.sampler.SoapSampler:
Start : samplehttp://hp380rd17:9000/services/LoadBalance
2006/09/13 18:50:06 DEBUG - jmeter.protocol.http.sampler.SoapSampler:
method
2006/09/13 18:50:06 DEBUG -
org.apache.commons.httpclient.params.DefaultHttpParams: Set parameter
http.useragent = Jakarta Commons-HttpClient/3.0.1
2006/09/13 18:50:06 DEBUG -
org.apache.commons.httpclient.params.DefaultHttpParams: Set parameter
http.protocol.version = HTTP/1.1
2006/09/13 18:50:06 DEBUG -
org.apache.commons.httpclient.params.DefaultHttpParams: Set parameter
http.connection-manager.class = class
org.apache.commons.httpclient.SimpleHttpConnectionManager
2006/09/13 18:50:06 DEBUG -
org.apache.commons.httpclient.params.DefaultHttpParams: Set parameter
http.protocol.cookie-policy = rfc2109
2006/09/13 18:50:06 DEBUG -
org.apache.commons.httpclient.params.DefaultHttpParams: Set parameter
http.protocol.element-charset = US-ASCII
2006/09/13 18:50:06 DEBUG -
org.apache.commons.httpclient.params.DefaultHttpParams: Set parameter
http.protocol.content-charset = ISO-8859-1
2006/09/13 18:50:06 DEBUG -
org.apache.commons.httpclient.params.DefaultHttpParams: Set parameter
http.method.retry-handler =
[EMAIL PROTECTED]
2006/09/13 18:50:06 DEBUG -
org.apache.commons.httpclient.params.DefaultHttpParams: Set parameter
http.dateparser.patterns = [EEE, dd MMM yyyy HH:mm:ss zzz, EEEE,
dd-MMM-yy HH:mm:ss zzz, EEE MMM d HH:mm:ss yyyy, EEE, dd-MMM-yyyy
HH:mm:ss z, EEE, dd-MMM-yyyy HH-mm-ss z, EEE, dd MMM yy HH:mm:ss z,
EEE dd-MMM-yyyy HH:mm:ss z, EEE dd
MMM yyyy HH:mm:ss z, EEE dd-MMM-yyyy HH-mm-ss z, EEE dd-MMM-yy
HH:mm:ss z, EEE dd MMM yy HH:mm:ss z, EEE,dd-MMM-yy HH:mm:ss z,
EEE,dd-MMM-yyyy HH:mm:ss z, EEE, dd-MM-yyyy HH:mm:ss z]
2006/09/13 18:50:06 DEBUG -
org.apache.commons.httpclient.methods.PostMethod: enter
PostMethod.addParameter(String, String)
2006/09/13 18:50:06 DEBUG -
org.apache.commons.httpclient.methods.EntityEnclosingMethod: enter
EntityEnclosingMethod.clearRequestBody()
2006/09/13 18:50:06 DEBUG - org.apache.commons.httpclient.HttpClient:
Java version: 1.5.0_06
2006/09/13 18:50:06 DEBUG - org.apache.commons.httpclient.HttpClient:
Java vendor: Sun Microsystems Inc.
2006/09/13 18:50:06 DEBUG - org.apache.commons.httpclient.HttpClient:
Java class path:
/opt/jakarta-jmeter-2.2/bin/ApacheJMeter.jar:/opt/jakarta-jmeter-2.2/lib/Tidy.jar:/opt/jakarta-jmeter-2.2/lib/avalon-framework-4.1.4.jar:/opt/jakarta-jmeter-2.2/lib/batik-awt-util.jar:/opt/jakarta-jmeter-2.2/lib/bsf-2.3.0.jar:/opt/jakarta-jmeter-2.2/lib/bshclient.jar:/opt/jakarta-jmeter-2.2/lib/commons-codec-1.3.jar:/opt/jakarta-jmeter-2.2/lib/commons-collections.jar:/opt/jakarta-jmeter-2.2/lib/commons-httpclient-3.0.1.jar:/opt/jakarta-jmeter-2.2/lib/commons-jexl-1.0.jar:/opt/jakarta-jmeter-2.2/lib/commons-logging-1.1.jar:/opt/jakarta-jmeter-2.2/lib/excalibur-datasource-1.1.1.jar:/opt/jakarta-jmeter-2.2/lib/excalibur-instrument-1.0.jar:/opt/jakarta-jmeter-2.2/lib/excalibur-logger-1.1.jar:/opt/jakarta-jmeter-2.2/lib/excalibur-pool-1.2.jar:/opt/jakarta-jmeter-2.2/lib/htmlparser.jar:/opt/jakarta-jmeter-2.2/lib/htmlparserparser.jar:/opt/jakarta-jmeter-2.2/lib/htmlparserparser16.jar:/opt/jakarta-jmeter-2.2/lib/jCharts-0.7.5.jar:/opt/jakarta-jmeter-2.2/lib/jakarta-oro-2.0.8.jar:/opt/jakarta-jmeter-2.2/lib/jdom-1.0.jar:/opt/jakarta-jmeter-2.2/lib/jorphan.jar:/opt/jakarta-jmeter-2.2/lib/js.jar:/opt/jakarta-jmeter-2.2/lib/junit.jar:/opt/jakarta-jmeter-2.2/lib/logkit-1.2.jar:/opt/jakarta-jmeter-2.2/lib/soap.jar:/opt/jakarta-jmeter-2.2/lib/xalan.jar:/opt/jakarta-jmeter-2.2/lib/xercesImpl.jar:/opt/jakarta-jmeter-2.2/lib/xml-apis.jar:/opt/jakarta-jmeter-2.2/lib/xpp3_min-1.1.3.4.I.jar:/opt/jakarta-jmeter-2.2/lib/xstream-1.1.3.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_components.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_core.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_ftp.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_functions.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_http.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_java.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_jdbc.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_jms.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_junit.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_ldap.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_mail.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_monitors.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_report.jar:/opt/jakarta-jmeter-2.2/lib/ext/ApacheJMeter_tcp.jar:/opt/jakarta-jmeter-2.2/lib/junit/test.jar
2006/09/13 18:50:06 DEBUG - org.apache.commons.httpclient.HttpClient:
Operating system name: Linux
2006/09/13 18:50:06 DEBUG - org.apache.commons.httpclient.HttpClient:
Operating system architecture: i386
2006/09/13 18:50:06 DEBUG - org.apache.commons.httpclient.HttpClient:
Operating system architecture: i386
2006/09/13 18:50:07 DEBUG - org.apache.commons.httpclient.HttpClient:
Operating system version: 2.6.15-26-686
2006/09/13 18:50:07 DEBUG - org.apache.commons.httpclient.HttpClient:
SUN 1.5: SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5
digests; SecureRandom; X.509 certificates; JKS keystore; PKIX
CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores)
2006/09/13 18:50:07 DEBUG - org.apache.commons.httpclient.HttpClient:
SunRsaSign 1.5: Sun RSA signature provider
2006/09/13 18:50:07 DEBUG - org.apache.commons.httpclient.HttpClient:
SunJSSE 1.5: Sun JSSE provider(PKCS12, SunX509 key/trust factories,
SSLv3, TLSv1)
2006/09/13 18:50:07 DEBUG - org.apache.commons.httpclient.HttpClient:
SunJCE 1.5: SunJCE Provider (implements RSA, DES, Triple DES, AES,
Blowfish, ARCFOUR, RC2, PBE,
Diffie-Hellman, HMAC)
2006/09/13 18:50:07 DEBUG - org.apache.commons.httpclient.HttpClient:
SunJGSS 1.0: Sun (Kerberos v5)
2006/09/13 18:50:07 DEBUG - org.apache.commons.httpclient.HttpClient:
SunSASL 1.5: Sun SASL provider(implements client mechanisms for:
DIGEST-MD5, GSSAPI, EXTERNAL, PLAIN, CRAM-MD5; server mechanisms for:
DIGEST-MD5, GSSAPI, CRAM-MD5)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.params.DefaultHttpParams: Set parameter
http.protocol.cookie-policy = ignoreCookies
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.params.DefaultHttpParams: Set parameter
http.protocol.version = HTTP/1.0
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.params.DefaultHttpParams: Set parameter
http.socket.timeout = 0
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.methods.PostMethod: enter
PostMethod.clearRequestBody()
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.methods.EntityEnclosingMethod: enter
EntityEnclosingMethod.clearRequestBody()
2006/09/13 18:50:07 DEBUG - org.apache.commons.httpclient.HttpClient:
enter HttpClient.executeMethod(HttpMethod)
2006/09/13 18:50:07 DEBUG - org.apache.commons.httpclient.HttpClient:
enter HttpClient.executeMethod(HostConfiguration,HttpMethod,HttpState)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodDirector: Attempt number 1 to
process request
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpConnection: enter HttpConnection.open()
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpConnection: Open connection to
server:9000
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodBase: enter
HttpMethodBase.execute(HttpState, HttpConnection)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodBase: enter
HttpMethodBase.writeRequest(HttpState, HttpConnection)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodBase: enter
HttpMethodBase.writeRequestLine(HttpState, HttpConnection)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodBase: enter
HttpMethodBase.generateRequestLine(HttpConnection, String, String,
String, String)
2006/09/13 18:50:07 DEBUG - httpclient.wire.header: >> "POST
/services/LoadBalance HTTP/1.0[\r][\n]"
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpConnection: enter
HttpConnection.print(String)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpConnection: enter
HttpConnection.write(byte[])
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpConnection: enter
HttpConnection.write(byte[], int, int)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodBase: enter
HttpMethodBase.writeRequestHeaders(HttpState,HttpConnection)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.methods.EntityEnclosingMethod: enter
EntityEnclosingMethod.addRequestHeaders(HttpState, HttpConnection)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.methods.ExpectContinueMethod: enter
ExpectContinueMethod.addRequestHeaders(HttpState, HttpConnection)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodBase: enter
HttpMethodBase.addRequestHeaders(HttpState, HttpConnection)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodBase: enter
HttpMethodBase.addUserAgentRequestHeaders(HttpState, HttpConnection)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodBase: enter
HttpMethodBase.addHostRequestHeader(HttpState, HttpConnection)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodBase: Adding Host request header
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodBase: enter
HttpMethodBase.addCookieRequestHeader(HttpState, HttpConnection)
2006/09/13 18:50:07 DEBUG - org.apache.commons.httpclient.HttpState:
enter HttpState.getCookies()
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodBase: enter
HttpMethodBase.addProxyConnectionHeader(HttpState, HttpConnection)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.methods.EntityEnclosingMethod: enter
EntityEnclosingMethod.addContentLengthRequestHeader(HttpState,
HttpConnection)
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.methods.EntityEnclosingMethod: enter
EntityEnclosingMethod.getRequestContentLength()
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.methods.PostMethod: enter
PostMethod.hasRequestContent()
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.methods.EntityEnclosingMethod: enter
EntityEnclosingMethod.hasRequestContent()
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpMethodDirector: Closing the connection.
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpConnection: enter
HttpConnection.close()
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpConnection: enter
HttpConnection.closeSockedAndStreams()
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpConnection: enter
HttpConnection.releaseConnection()
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpConnection: Releasing connection
back to connection manager.
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpConnection: enter
HttpConnection.releaseConnection()
2006/09/13 18:50:07 DEBUG -
org.apache.commons.httpclient.HttpConnection: Releasing connection
back to connection manager.
Version in use :
jmeter : 2.2
http-client : 3.0.1
jre : sun 1.5.0_06-b05
It looks like a problem with the content length ... What do you think
about this ?
Antoine
Antoine,
HttpClient has no other choice but to throw a protocol exception if the
content length of the request entity is not known and HTTP/1.0 is being
used. Request entities that generate content on the fly cannot be used
with HTTP/1.0.
Hope this helps
Oleg
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]