You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by daranha3560 <da...@rogers.com> on 2004/03/05 21:51:18 UTC
commons-httpclient-2.0.jar class not found: org\apache\commons\httpclient\HttpMethod
Problem: I am getting a runtime error when posting an XML file
via HTTP POST to a servlet running on Tomcat 5.0.18
Error: java.lang.NoClassDefFoundError: org\apache\commons\httpclient\HttpMethod
Environment:
WINNT 4.0
jdk : Java 2 standard edition version 1.4.2_03
Downloaded software (site : http://jakarta.apache.org/site/binindex.cgi):
(downloaded yesterday afternoon)
Commons FileUpload 1.0 zip; Commons Logging 1.0.3;
Commons HttpClient 2.0 zip
Note: Commons HttpClient 2.0 zip was downloaded again (Mar 5) and jar was copied
to j2sdk1.4.2_03\jre\lib\ext, recompiled and run with the same error
jar files copied to j2sdk1.4.2_03\jre\lib\ext:
1. commons-httpclient-2.0.jar
2. commons-logging.jar
3. commons-logging-api.jar
4. commons-fileupload-1.0.jar
Tomcat 5.0.18 and client program are on the same machine
Is any other package required? Is JSSE required for j2sdk 1.4.2_03?
Please do not send email to my address. Your help is very much appreciated.
Code is listed below for your convenience (HttpClient sample code: jakarta-comons/httpclient/src/examples) postXML.java:
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.EntityEnclosingMethod;
import org.apache.commons.httpclient.methods.*;
public class postXML {
public static void main(String[] args) throws Exception {
try {
String strURL = "http://test.ca:80/Test1/fileUpload"; // does not exist; changed for the mailing list
String strXMLFilename = "D:\\testXML.xml";
File input = new File(strXMLFilename);
PostMethod post = new PostMethod(strURL);
post.setRequestBody(new FileInputStream(input));
if (input.length() < Integer.MAX_VALUE) {
post.setRequestContentLength((int)input.length());
} else {
post.setRequestContentLength(EntityEnclosingMethod.CONTENT_LENGTH_CHUNKED);
}
post.setRequestHeader("Content-type", "text/xml; charset=ISO-8859-1");
HttpClient httpclient = new HttpClient();
int result = httpclient.executeMethod(post);
System.out.println("Response status code: " + result);
System.out.println("Response body: ");
System.out.println(post.getResponseBodyAsString());
post.releaseConnection();
}
catch (Exception e)
{ e.getMessage(); }
} // end main
} // end postXML
Thanks for your help.
Diana
Re: commons-httpclient-2.0.jar class not found: org\apache\commons\httpclient\HttpMethod
Posted by Michael Becke <be...@u.washington.edu>.
Hi Diana,
It sounds like you are having class loader problems. Either there is
more than one instance of the HttpClient jar on the classpath (e.g. one
in common/lib and one in WEB-INF/lib) or there is some bug with Tomcat.
My guess is that it's the first.
Mike
On Mar 5, 2004, at 3:51 PM, daranha3560 wrote:
> Problem: I am getting a runtime error when posting an XML file
> via HTTP POST to a servlet running on Tomcat 5.0.18
> Error: java.lang.NoClassDefFoundError:
> org\apache\commons\httpclient\HttpMethod
>
> Environment:
> WINNT 4.0
> jdk : Java 2 standard edition version 1.4.2_03
> Downloaded software (site :
> http://jakarta.apache.org/site/binindex.cgi):
> (downloaded yesterday afternoon)
> Commons FileUpload 1.0 zip; Commons Logging 1.0.3;
> Commons HttpClient 2.0 zip
> Note: Commons HttpClient 2.0 zip was downloaded again (Mar 5) and jar
> was copied
> to j2sdk1.4.2_03\jre\lib\ext, recompiled and run with the same error
>
> jar files copied to j2sdk1.4.2_03\jre\lib\ext:
> 1. commons-httpclient-2.0.jar
> 2. commons-logging.jar
> 3. commons-logging-api.jar
> 4. commons-fileupload-1.0.jar
>
> Tomcat 5.0.18 and client program are on the same machine
> Is any other package required? Is JSSE required for j2sdk 1.4.2_03?
>
> Please do not send email to my address. Your help is very much
> appreciated.
>
> Code is listed below for your convenience (HttpClient sample code:
> jakarta-comons/httpclient/src/examples) postXML.java:
>
> import java.io.File;
> import java.io.FileInputStream;
>
> import org.apache.commons.httpclient.HttpClient;
> import org.apache.commons.httpclient.HttpException;
> import org.apache.commons.httpclient.methods.EntityEnclosingMethod;
> import org.apache.commons.httpclient.methods.*;
>
> public class postXML {
>
> public static void main(String[] args) throws Exception {
>
> try {
> String strURL = "http://test.ca:80/Test1/fileUpload"; // does
> not exist; changed for the mailing list
> String strXMLFilename = "D:\\testXML.xml";
> File input = new File(strXMLFilename);
>
> PostMethod post = new PostMethod(strURL);
> post.setRequestBody(new FileInputStream(input));
>
> if (input.length() < Integer.MAX_VALUE) {
> post.setRequestContentLength((int)input.length());
> } else {
>
> post.setRequestContentLength(EntityEnclosingMethod.CONTENT_LENGTH_CHUNK
> ED);
> }
>
> post.setRequestHeader("Content-type", "text/xml;
> charset=ISO-8859-1");
>
> HttpClient httpclient = new HttpClient();
>
> int result = httpclient.executeMethod(post);
>
> System.out.println("Response status code: " + result);
>
> System.out.println("Response body: ");
> System.out.println(post.getResponseBodyAsString());
>
> post.releaseConnection();
> }
> catch (Exception e)
> { e.getMessage(); }
> } // end main
> } // end postXML
>
> Thanks for your help.
>
> Diana
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-httpclient-dev-help@jakarta.apache.org