A bug in the JFS tasks sample?
![](http://jazz.net/_images/myphoto/ad27312034d818e1be6fafc23a4a54b6.jpg)
When I try to request the url<https>to reset the storage area,an exception occured,reproduced steadily
org.apache.http.client.ClientProtocolException
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:557)
at com.ibm.team.jfs.app.http.cache.HttpCache.revalidate(HttpCache.java:207)
at com.ibm.team.jfs.app.http.cache.HttpCache.execute(HttpCache.java:118)
at com.ibm.team.jfs.app.http.cache.HttpCache.execute(HttpCache.java:89)
at com.ibm.team.http.client.impl.HttpClientService.internalSend(HttpClientService.java:267)
at com.ibm.team.http.client.impl.HttpClientService.send(HttpClientService.java:186)
at com.ibm.team.jfs.sdk.samples.tasks.utils.OAuthEnabledHttpClient.send(OAuthEnabledHttpClient.java:96)
at com.ibm.team.jfs.sdk.samples.tasks.utils.OAuthEnabledHttpClient.send(OAuthEnabledHttpClient.java:103)
at com.ibm.team.jfs.sdk.samples.tasks.JFSTasksClient.head(JFSTasksClient.java:661)
at com.ibm.team.jfs.sdk.samples.tasks.JFSTasksClient.checkResourceExists(JFSTasksClient.java:666)
at com.ibm.team.jfs.sdk.samples.tasks.utils.ResourceInitializer.initialize(ResourceInitializer.java:46)
at com.ibm.team.jfs.sdk.samples.tasks.utils.ResourceInitializer.reset(ResourceInitializer.java:65)
at com.ibm.team.jfs.sdk.samples.tasks.ResetService.doGet(ResetService.java:30)
at com.ibm.team.jfs.app.servlet.AppContainerServlet.dispatchRequest(AppContainerServlet.java:124)
at com.ibm.team.jfs.app.servlet.AppContainerServlet.service(AppContainerServlet.java:215)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by: org.apache.http.ProtocolException: Invalid header:
(v „l0@
at org.apache.http.impl.io.AbstractMessageParser.parseHeaders(AbstractMessageParser.java:184)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:214)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:271)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:292)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:126)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:410)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
... 32 more
org.apache.http.client.ClientProtocolException
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:557)
at com.ibm.team.jfs.app.http.cache.HttpCache.revalidate(HttpCache.java:207)
at com.ibm.team.jfs.app.http.cache.HttpCache.execute(HttpCache.java:118)
at com.ibm.team.jfs.app.http.cache.HttpCache.execute(HttpCache.java:89)
at com.ibm.team.http.client.impl.HttpClientService.internalSend(HttpClientService.java:267)
at com.ibm.team.http.client.impl.HttpClientService.send(HttpClientService.java:186)
at com.ibm.team.jfs.sdk.samples.tasks.utils.OAuthEnabledHttpClient.send(OAuthEnabledHttpClient.java:96)
at com.ibm.team.jfs.sdk.samples.tasks.utils.OAuthEnabledHttpClient.send(OAuthEnabledHttpClient.java:103)
at com.ibm.team.jfs.sdk.samples.tasks.JFSTasksClient.head(JFSTasksClient.java:661)
at com.ibm.team.jfs.sdk.samples.tasks.JFSTasksClient.checkResourceExists(JFSTasksClient.java:666)
at com.ibm.team.jfs.sdk.samples.tasks.utils.ResourceInitializer.initialize(ResourceInitializer.java:46)
at com.ibm.team.jfs.sdk.samples.tasks.utils.ResourceInitializer.reset(ResourceInitializer.java:65)
at com.ibm.team.jfs.sdk.samples.tasks.ResetService.doGet(ResetService.java:30)
at com.ibm.team.jfs.app.servlet.AppContainerServlet.dispatchRequest(AppContainerServlet.java:124)
at com.ibm.team.jfs.app.servlet.AppContainerServlet.service(AppContainerServlet.java:215)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by: org.apache.http.ProtocolException: Invalid header:
(v „l0@
at org.apache.http.impl.io.AbstractMessageParser.parseHeaders(AbstractMessageParser.java:184)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:214)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:271)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:292)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:126)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:410)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
... 32 more
3 answers
![](http://jazz.net/_images/myphoto/ad27312034d818e1be6fafc23a4a54b6.jpg)
Can you provide the details of the HttpRequest object (e.g. the HTTP headers, request URI)? Just looking at the exception it appears the error is occuring even before the request is sent on the wire. The exception seems to be indicating the presence of a bad header:
Caused by: org.apache.http.ProtocolException: Invalid header:
(v l0@
![](http://jazz.net/_images/myphoto/ad27312034d818e1be6fafc23a4a54b6.jpg)
Can you provide the details of the HttpRequest object (e.g. the HTTP headers, request URI)? Just looking at the exception it appears the error is occuring even before the request is sent on the wire. The exception seems to be indicating the presence of a bad header:
Caused by: org.apache.http.ProtocolException: Invalid header:
(v l0@
Yes,I also noticed the invalid header issue.The exception also throw in my colleage's environment.
I used the JFS tasks sample,and didn't make any changes(for example,add request header),and I noticed that there is a ResetService in the sample to clean the Storage area,the request url is:
https://localhost:9444/jfsSamples/tasks.reset