ShaSha
Posts: 1
|
Posted: 11/11/2005, 12:21 AM |
|
Hi, I am trying to upload XML files via HTTP to an HTTP server from java client instead of browser. On the HTTP server side, there is a Perl script that will be receiving the incoming file and files it into the designated folders in the server.When I run the Java client, I get the response Status = 200 and also uploaded replies from the Perl script but when I checked in the folder, the XML file is 0 KB. I am not sure what went wrong. Spending a few days now looking into it but no luck.Please help shed some light. Below are the some of the codes and responses:
public class UploadXMLFile {
String sXMLFilename = "c:\\Test.xml";
PostMethod filePost1 = new PostMethod("http://000.000.000.000/cgi-bin/upload.pl");
File targetFile = new File(sXMLFilename);
Part[] parts1 = { new StringPart("filenm", sXMLFilename), new FilePart(targetFile.getName(), targetFile) };
filePost1.setRequestEntity (new MultipartRequestEntity(parts1, filePost1.getParams()));
HttpClient client = new HttpClient();
client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
int status = client.executeMethod(filePost1);
System.out.println("Status = " + status);
if (status == HttpStatus.SC_OK)
{
System.out.println("Upload complete, response =" + filePost1.getResponseBodyAsString());
}
else
{
System.out.println("Upload failed, response =" + HttpStatus.getStatusText(status));
}
filePost1.releaseConnection();
}
The perl program accepts "filenm" as a parameter when uploading the file. The response that I get is:
Status = 200
Upload complete, response =
<HTML>
<HEAD>
<TITLE>Thanks!</TITLE>
</HEAD>
<BODY>
<P>Thank you. We have received your file! Test.xml </P>
</BODY>
</HTML>
I tried upload from browser, no problem. But I cant get it work from the Java client. Hope someone can help me on this. Thanks in advance.
|
|
|
|