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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]