You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Kedar Panse <ke...@bancbridge.com> on 2005/06/14 12:15:59 UTC
Re: HttpClient problem
If its a applet, are you including httpclient classes with it? It seems
from the error that its not able to load the claases
Kedar
Rosa wrote:
> I am developing an applet that sends two byte arrays and two
> parameters to the server. It uses the HttpClient library. The code
> looks like this:
> ...
> URL url = new URL(baseApp, "../guardaHr.do");
> //HttpClient version 3.0-rc2
> PostMethod pM = new PostMethod(url.getPath());
> try {
> byte [] oA = UtilXML.creaFXML(docA);
> byte [] oP = UtilXML.creaFXML(docG);
> pM.addParameter("fI", fIniStr);
> pM.addParameter("fF", fFinStr);
> ByteArrayPartSource horA = new
> ByteArrayPartSource("horA.xml", oA);
> ByteArrayPartSource horP = new
> ByteArrayPartSource("horP.xml", oP);
> FilePart p1 = new FilePart("hA", horA);
> FilePart p2 = new FilePart("hP", horP);
> Part[] partes = {p1, p2};
> pM.setRequestEntity(new
> MultipartRequestEntity(partes, pM.getParams()));
> HttpClient cliente = new HttpClient();
>
> cliente.getHttpConnectionManager().getParams().setConnectionTimeout(30000);
>
> int estado = cliente.executeMethod(pM);
> if (estado == HttpStatus.SC_OK) {
> System.out.println(
> "Upload finished, response=" +
> pM.getResponseBodyAsString()
> );
> } else {
> System.out.println(
> "Upload failed, response=" +
> HttpStatus.getStatusText(estado)
> );
> }
> pM.releaseConnection();
> }
> catch (Exception ex) {
> ex.printStackTrace();
> pM.releaseConnection();
> } ...
>
>
>
> The code compiles fine. The applet is not signed because I am not
> accessing the file system at all. When I try to load the applet from
> the web browser I get the following error
>
> java.lang.NoClassDefFoundError:
> org/apache/commons/httpclient/methods/multipart/PartSource
>
> at java.lang.Class.getDeclaredConstructors0(Native Method)
>
> at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
>
> at java.lang.Class.getConstructor0(Unknown Source)
>
> at java.lang.Class.newInstance0(Unknown Source)
>
> at java.lang.Class.newInstance(Unknown Source)
>
> at sun.applet.AppletPanel.createApplet(Unknown Source)
>
> at sun.plugin.AppletViewer.createApplet(Unknown Source)
>
> at sun.applet.AppletPanel.runLoader(Unknown Source)
>
> at sun.applet.AppletPanel.run(Unknown Source)
>
> at java.lang.Thread.run(Unknown Source)
>
>
> Do somebody knows what is happening?
>
> Thanks in advance
>
> Rosa
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org
Re: HttpClient problem
Posted by Rosa <rm...@terra.es>.
Rosa wrote:
> Kedar Panse wrote:
>
>> If its a applet, are you including httpclient classes with it? It
>> seems from the error that its not able to load the claases
>>
>> Kedar
>>
>> Rosa wrote:
>>
>>> I am developing an applet that sends two byte arrays and two
>>> parameters to the server. It uses the HttpClient library. The code
>>> looks like this:
>>> ...
>>> URL url = new URL(baseApp, "../guardaHr.do");
>>> //HttpClient version 3.0-rc2
>>> PostMethod pM = new PostMethod(url.getPath());
>>> try {
>>> byte [] oA = UtilXML.creaFXML(docA);
>>> byte [] oP = UtilXML.creaFXML(docG);
>>> pM.addParameter("fI", fIniStr);
>>> pM.addParameter("fF", fFinStr);
>>> ByteArrayPartSource horA = new
>>> ByteArrayPartSource("horA.xml", oA);
>>> ByteArrayPartSource horP = new
>>> ByteArrayPartSource("horP.xml", oP);
>>> FilePart p1 = new FilePart("hA", horA);
>>> FilePart p2 = new FilePart("hP", horP);
>>> Part[] partes = {p1, p2};
>>> pM.setRequestEntity(new
>>> MultipartRequestEntity(partes, pM.getParams()));
>>> HttpClient cliente = new HttpClient();
>>>
>>> cliente.getHttpConnectionManager().getParams().setConnectionTimeout(30000);
>>>
>>> int estado = cliente.executeMethod(pM);
>>> if (estado == HttpStatus.SC_OK) {
>>> System.out.println(
>>> "Upload finished, response=" +
>>> pM.getResponseBodyAsString()
>>> );
>>> } else {
>>> System.out.println(
>>> "Upload failed, response=" +
>>> HttpStatus.getStatusText(estado)
>>> );
>>> }
>>> pM.releaseConnection();
>>> }
>>> catch (Exception ex) {
>>> ex.printStackTrace();
>>> pM.releaseConnection();
>>> } ...
>>>
>>>
>>>
>>> The code compiles fine. The applet is not signed because I am not
>>> accessing the file system at all. When I try to load the applet from
>>> the web browser I get the following error
>>>
>>> java.lang.NoClassDefFoundError:
>>> org/apache/commons/httpclient/methods/multipart/PartSource
>>>
>>> at java.lang.Class.getDeclaredConstructors0(Native Method)
>>>
>>> at java.lang.Class.privateGetDeclaredConstructors(Unknown
>>> Source)
>>>
>>> at java.lang.Class.getConstructor0(Unknown Source)
>>>
>>> at java.lang.Class.newInstance0(Unknown Source)
>>>
>>> at java.lang.Class.newInstance(Unknown Source)
>>>
>>> at sun.applet.AppletPanel.createApplet(Unknown Source)
>>>
>>> at sun.plugin.AppletViewer.createApplet(Unknown Source)
>>>
>>> at sun.applet.AppletPanel.runLoader(Unknown Source)
>>>
>>> at sun.applet.AppletPanel.run(Unknown Source)
>>>
>>> at java.lang.Thread.run(Unknown Source)
>>>
>>>
>>> Do somebody knows what is happening?
>>>
>>> Thanks in advance
>>>
>>> Rosa
>>>
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>>> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>>>
>>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>>
>>
>
> Yes, I am including them. I put the same code in a standalone class
> and I get a distinct error. The code of the class is
>
> import java.net.URL;
>
> import org.apache.commons.httpclient.HttpClient;
> import org.apache.commons.httpclient.HttpStatus;
> import org.apache.commons.httpclient.methods.PostMethod;
> import
> org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource;
> import org.apache.commons.httpclient.methods.multipart.FilePart;
> import
> org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
> import org.apache.commons.httpclient.methods.multipart.Part;
>
> /*
> * Created on 14-jun-2005
> *
> * TODO To change the template for this generated file go to
> * Window - Preferences - Java - Code Style - Code Templates
> */
>
> /**
> * @author Rosa
> *
> * TODO To change the template for this generated type comment go to
> * Window - Preferences - Java - Code Style - Code Templates
> */
> public class Cliente {
>
> public static void main(String[] args) {
> PostMethod pM =null;
> try {
> URL url = new URL("http://localhost:8085/sigp/guardaHr.do");
> //Asi se hace con la version 3.0 de la api
> pM = new PostMethod(url.getPath());
> byte [] oA = "abc".getBytes();
> byte [] oP = "def".getBytes();
> pM.addParameter("fI", "12/31/2004");
> pM.addParameter("fF", "12/31/2005");
> ByteArrayPartSource horA = new
> ByteArrayPartSource("horA.xml", oA);
> ByteArrayPartSource horP = new
> ByteArrayPartSource("horP.xml", oP);
> FilePart p1 = new FilePart("hA", horA);
> FilePart p2 = new FilePart("hP", horP);
> Part[] partes = {p1, p2};
> pM.setRequestEntity(new
> MultipartRequestEntity(partes, pM.getParams()));
> HttpClient cliente = new HttpClient();
>
> cliente.getHttpConnectionManager().getParams().setConnectionTimeout(30000);
>
> int estado = cliente.executeMethod(pM);
> if (estado == HttpStatus.SC_OK) {
> System.out.println(
> "Upload finished, response=" +
> pM.getResponseBodyAsString()
> );
> } else {
> System.out.println(
> "Upload failed, response=" +
> HttpStatus.getStatusText(estado)
> );
> }
> pM.releaseConnection();
> }
> catch (Exception ex) {
> ex.printStackTrace();
> System.out.println("Exception "+ex.toString());
> pM.releaseConnection();
> } }
> }
>
> and the error I get now is
>
> java.lang.IllegalArgumentException: host parameter is null
> at
> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:206)
>
> at
> org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:155)
>
> at
> org.apache.commons.httpclient.SimpleHttpConnectionManager.getConnectionWithTimeout(SimpleHttpConnectionManager.java:132)
>
> at
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:152)
>
> at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:393)
>
> at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)Exception
> java.lang.IllegalArgumentException: host parameter is null
>
> at Cliente.main(Cliente.java:50)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>
OK. The standalone class works fine if I replace url.getPath() with
url.toString(), but the applet still doesn´t work.
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org
Re: HttpClient problem
Posted by Rosa <rm...@terra.es>.
Kedar Panse wrote:
> If its a applet, are you including httpclient classes with it? It
> seems from the error that its not able to load the claases
>
> Kedar
>
> Rosa wrote:
>
>> I am developing an applet that sends two byte arrays and two
>> parameters to the server. It uses the HttpClient library. The code
>> looks like this:
>> ...
>> URL url = new URL(baseApp, "../guardaHr.do");
>> //HttpClient version 3.0-rc2
>> PostMethod pM = new PostMethod(url.getPath());
>> try {
>> byte [] oA = UtilXML.creaFXML(docA);
>> byte [] oP = UtilXML.creaFXML(docG);
>> pM.addParameter("fI", fIniStr);
>> pM.addParameter("fF", fFinStr);
>> ByteArrayPartSource horA = new
>> ByteArrayPartSource("horA.xml", oA);
>> ByteArrayPartSource horP = new
>> ByteArrayPartSource("horP.xml", oP);
>> FilePart p1 = new FilePart("hA", horA);
>> FilePart p2 = new FilePart("hP", horP);
>> Part[] partes = {p1, p2};
>> pM.setRequestEntity(new
>> MultipartRequestEntity(partes, pM.getParams()));
>> HttpClient cliente = new HttpClient();
>>
>> cliente.getHttpConnectionManager().getParams().setConnectionTimeout(30000);
>>
>> int estado = cliente.executeMethod(pM);
>> if (estado == HttpStatus.SC_OK) {
>> System.out.println(
>> "Upload finished, response=" +
>> pM.getResponseBodyAsString()
>> );
>> } else {
>> System.out.println(
>> "Upload failed, response=" +
>> HttpStatus.getStatusText(estado)
>> );
>> }
>> pM.releaseConnection();
>> }
>> catch (Exception ex) {
>> ex.printStackTrace();
>> pM.releaseConnection();
>> } ...
>>
>>
>>
>> The code compiles fine. The applet is not signed because I am not
>> accessing the file system at all. When I try to load the applet from
>> the web browser I get the following error
>>
>> java.lang.NoClassDefFoundError:
>> org/apache/commons/httpclient/methods/multipart/PartSource
>>
>> at java.lang.Class.getDeclaredConstructors0(Native Method)
>>
>> at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
>>
>> at java.lang.Class.getConstructor0(Unknown Source)
>>
>> at java.lang.Class.newInstance0(Unknown Source)
>>
>> at java.lang.Class.newInstance(Unknown Source)
>>
>> at sun.applet.AppletPanel.createApplet(Unknown Source)
>>
>> at sun.plugin.AppletViewer.createApplet(Unknown Source)
>>
>> at sun.applet.AppletPanel.runLoader(Unknown Source)
>>
>> at sun.applet.AppletPanel.run(Unknown Source)
>>
>> at java.lang.Thread.run(Unknown Source)
>>
>>
>> Do somebody knows what is happening?
>>
>> Thanks in advance
>>
>> Rosa
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>
Yes, I am including them. I put the same code in a standalone class and
I get a distinct error. The code of the class is
import java.net.URL;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource;
import org.apache.commons.httpclient.methods.multipart.FilePart;
import
org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
import org.apache.commons.httpclient.methods.multipart.Part;
/*
* Created on 14-jun-2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author Rosa
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Cliente {
public static void main(String[] args) {
PostMethod pM =null;
try {
URL url = new URL("http://localhost:8085/sigp/guardaHr.do");
//Asi se hace con la version 3.0 de la api
pM = new PostMethod(url.getPath());
byte [] oA = "abc".getBytes();
byte [] oP = "def".getBytes();
pM.addParameter("fI", "12/31/2004");
pM.addParameter("fF", "12/31/2005");
ByteArrayPartSource horA = new
ByteArrayPartSource("horA.xml", oA);
ByteArrayPartSource horP = new
ByteArrayPartSource("horP.xml", oP);
FilePart p1 = new FilePart("hA", horA);
FilePart p2 = new FilePart("hP", horP);
Part[] partes = {p1, p2};
pM.setRequestEntity(new MultipartRequestEntity(partes,
pM.getParams()));
HttpClient cliente = new HttpClient();
cliente.getHttpConnectionManager().getParams().setConnectionTimeout(30000);
int estado = cliente.executeMethod(pM);
if (estado == HttpStatus.SC_OK) {
System.out.println(
"Upload finished, response=" +
pM.getResponseBodyAsString()
);
} else {
System.out.println(
"Upload failed, response=" +
HttpStatus.getStatusText(estado)
);
}
pM.releaseConnection();
}
catch (Exception ex) {
ex.printStackTrace();
System.out.println("Exception "+ex.toString());
pM.releaseConnection();
}
}
}
and the error I get now is
java.lang.IllegalArgumentException: host parameter is null
at
org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:206)
at
org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:155)
at
org.apache.commons.httpclient.SimpleHttpConnectionManager.getConnectionWithTimeout(SimpleHttpConnectionManager.java:132)
at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:152)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:393)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)Exception
java.lang.IllegalArgumentException: host parameter is null
at Cliente.main(Cliente.java:50)
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org