Mike, Thanks for the help. I am using the custom file and string parts and that solved the problem. Let me know if you come up with a patch for this problem.
Regards, Dan Alford ----- Original Message ----- From: "Michael Becke" <[EMAIL PROTECTED]> To: "Commons HttpClient Project" <[EMAIL PROTECTED]> Sent: Wednesday, September 24, 2003 6:13 PM Subject: Re: Problem with multipart post data - Content-Transfer-Encoding: 8bit > Hi Dan, > > It seems that a number of servers do not handle multi-part requests > correctly and subsequently have trouble with posts that include > transfer-encoding or content-type. Please see this email thread for a > possible solution > <http://marc.theaimsgroup.com/?t=105794025900005&r=1&w=2>. > > I will also start working on a patch that will make it easier to > disable these headers without resorting to custom FileParts. > > Mike > > On Wednesday, September 24, 2003, at 05:59 PM, Dan Alford wrote: > > > Hi all, > > > > I have a problem with a multipart post that I am doing to a third party > > webserver. I am using a MultiPartPostMethod and adding parts to it by > > the > > following : > > > > Hashtable params = transferObj.getPostParams(); > > HttpMethod method; > > if (transferObj.isMultipartForm()) { > > method = new > > MultipartPostMethod(transferObj.getTargetURL().toString()); > > for (Enumeration e = params.elements(); e.hasMoreElements(); ) { > > Hashtable partParams = (Hashtable) e.nextElement(); > > String field = (String) partParams.get("fieldName"); > > if (partParams.containsKey("isFile")) { > > //file part > > byte[] data = ( (ByteArrayOutputStream) > > partParams.get(CONTENT_VALUE)). > > toByteArray(); > > String name = (String) partParams.get("fileName"); > > > > String encoding = (String) partParams.get(CONTENT_ENC); > > ByteArrayPartSource part = new ByteArrayPartSource(name, > > data); > > FilePart filePart = new FilePart(field, part); > > ( (MultipartPostMethod) method).addPart(filePart); > > } > > else { > > //string part > > String data = (String) partParams.get(CONTENT_VALUE); > > System.out.println("setting "+field+"="+data); > > StringPart part = new StringPart(field,data); > > ( (MultipartPostMethod) method).addPart(part); > > > > } > > } > > > > This correctly gets me my multipart request which I send to the > > server. The > > problem is that the third party server doesnt seem to fully understand > > the > > format of the post data. > > > > It responds in xml with part of the encoding information still there, > > for > > example: > > > > <TARGET="Content-Transfer-Encoding: 8bit AB-031717-01693-1"/> > > > > when the data supplied as the field parameter above is > > "AB-031717-01693-1" > > and the XML response should be > > > > <TARGET="AB-031717-01693-1"/> > > > > I am using the latest rc ( httpclient 2.0-rc1). > > > > I have two questions: > > Firstly, is this a bug or a problem with the target server? > > > > secondly, if it is a problem with the target server, how can I disable > > the > > output of the Content-Transfer-Encoding part of the multipart data? > > > > Thanks in advance, > > > > Dan Alford > > > > --- > > [This E-mail scanned for viruses] > > > > > > --------------------------------------------------------------------- > > 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] > > --- > [This E-mail scanned for viruses] > > --- [This E-mail scanned for viruses] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]