Have you tried posting a file from a simple Java client to that second servlet first? I'd do that to take out a variable and make sure your logic is right. I would venture a guess that this code wouldn't work in isolation either, though.
It looks like you're trying to mix a multipart post with a regular post. I believe you need to add mutiple "parts" to that MultipartRequestEntity. You need to use a StringPart to post regular parameter values (your "test" parameter). On 9/17/07, bhadu <[EMAIL PROTECTED]> wrote: > > Hi all, > sorry for repost b'coz my first post is consists with error... > > this is right post...... > > > > I have to web application using servlets. > My First web application's servlet is calling servlet of another application > using HTTP client connection. > Calling servlet is sending file as parameter to second servlet. > > My problem is that in my second servlet there is nothing in request > parameter. > > Look at my code...............First servlet........... > > > String urlString = "http://localhost:8787//testone//MyServlet"; > > > HttpClient client = new HttpClient(); > PostMethod postMethod = new PostMethod(urlString); > post(postMethod); > > > > client.getParams().setParameter("http.useragent", "My > Browser"); > postMethod.addParameter("test","testvalue"); > NameValuePair[] nm = {new NameValuePair("test","test")}; > postMethod.setRequestBody(nm); > int statusCode1 = client.executeMethod(postMethod); > System.out.println(" status >>> "+statusCode1); > System.out.println("statusLine>>>" + > postMethod.getStatusLine()); > postMethod.releaseConnection(); > > > } > > private void post(PostMethod postMethod) throws FileNotFoundException > { > File f = new File("C:\\error.txt"); > System.out.println("file exit = "+f.exists()); > Part[] parts = { > new FilePart(f.getName(), f) > }; > > postMethod.addRequestHeader("Content-type","multipart/form-data;boundary="+f.length()); > postMethod.addRequestHeader("content-disposition","form-data; > name="+f.getName()); > postMethod.setRequestEntity( > new MultipartRequestEntity(parts, postMethod.getParams()) > ); > } > > And This is my Second servlet....................... > > > > protected void doPost(HttpServletRequest request, HttpServletResponse > response) throws IOException > { > > String path = System.getenv("Target_PATH"); > try > { > DiskFileItemFactory df = new DiskFileItemFactory(); > PrintWriter out = response.getWriter(); > > ServletFileUpload fu = new ServletFileUpload(df); > // If file size exceeds, a FileUploadException will be thrown > fu.setSizeMax(1000000); > > List fileItems = fu.parseRequest(request); > Iterator itr = fileItems.iterator(); > > while(itr.hasNext()) { > FileItem fi = (FileItem)itr.next(); > > createFile(path,"signedresources.txt", fi.get()); > > } > > > > out.println("SUCCESS123456: "); > out.close(); > } > catch(Exception e) > { > e.printStackTrace(); > } > > > > } > > > > > private void createFile(String destinationPath, String fileName, byte[] > content) throws IOException > { > > OutputStream outputStream = new FileOutputStream(destinationPath); > outputStream.write(content); > outputStream.flush(); > outputStream.close(); > } > > > problem is here....... List fileItems = fu.parseRequest(request); list is > empty. > > So anybody can tell me what is wrong I m doing? > > I am using Tomcat 5.0. > > Thanx In advance > > bhadu > > -- > View this message in context: > http://www.nabble.com/Uploading-a-File-using-apache-commons-Http-clien-tf4464865.html#a12730645 > Sent from the Commons - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > 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]
