Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    54

    [java] http client

    Ciao volevo esporvi il mio problema.
    Vorrei spedire, tramite un'applicazione java, un file xml ad una servlet utilizzando il metodo POST.

    Il codice che ho creato è il seguente:

    package nomepackage;
    import java.io.File;
    import java.io.FileInputStream;
    import org.apache.commons.httpclient.HttpClient;
    import org.apache.commons.httpclient.methods.InputStreamR equestEntity;
    import org.apache.commons.httpclient.methods.PostMethod;

    public class PostXml {
    public static void main(String[] args) throws Exception {
    // Get target URL
    String URL= "http://localhost:8080/test";
    // Get file to be posted
    String XMLFile = "C:\\Biblioteca.xml";
    File input = new File(XMLFile);
    // Prepare HTTP post
    PostMethod post = new PostMethod(URL);
    post.setRequestEntity(new InputStreamRequestEntity(
    new FileInputStream(input), input.length()));
    post.setRequestHeader("Content-type", "text/xml; charset=ISO-8859-1");
    // Get HTTP client
    HttpClient httpclient = new HttpClient();
    // Execute request
    try {
    int result = httpclient.executeMethod(post);
    // Display status code
    System.out.println("Response status code: " + result);
    // Display response
    System.out.println("Response body: ");
    System.out.println(post.getResponseBodyAsString()) ;
    }finally { post.releaseConnection();
    // Release current connection to the connection pool once you are done
    }
    }
    }
    Si tratta di un codice preesistente al quale ho fatto le opportune modifiche per renderlo adatto al mio caso.

    Se lancio l'applicazione da eclipse mi dà il seguente output:

    java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
    at org.apache.commons.httpclient.HttpMethodBase.<init >(HttpMethodBase.java:217)
    at org.apache.commons.httpclient.methods.ExpectContin ueMethod.<init>(ExpectContinueMethod.java:92)
    at org.apache.commons.httpclient.methods.EntityEnclos ingMethod.<init>(EntityEnclosingMethod.java:114)
    at org.apache.commons.httpclient.methods.PostMethod.< init>(PostMethod.java:105)
    at com.inera.formatodiscambio.senderxml.PostXml.main( PostXml.java:23)
    Exception in thread "main"


    La servlet è così fatta, ma non so se va bene per recuperare il file perchè sulle servlet ancora non mi sono documentato bene:

    package nomepackage;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;

    public class ReceiverXml extends HttpServlet {

    public ReceiverXml() { }
    public void doPost(HttpServletRequest req,HttpServletResponse res)
    throws ServletException, IOException {
    ObjectInputStream in = new ObjectInputStream(req.getInputStream());
    try {
    Object o = in.readObject();
    System.out.println(o);
    } catch(ClassNotFoundException e) {}
    }
    }


    Oltre a farmi capire perchè il client non funziona, qualcuno potrebbe orientarmi sulla servlet, cioè se in questo modo è in grado di recuperare il file passatole dal client?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    54
    Nessuno mi sa orientare ragazzi? Devo inviare un file da un'applicazione all'altra utilizzando il protocollo HTTP...

  3. #3
    Beh l'errore è abbastanza chiaro, ti mancano delle librerie di apache commons, le devi scaricare e metterle nella cartella ext della jvm

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Originariamente inviato da marcon83
    Beh l'errore è abbastanza chiaro, ti mancano delle librerie di apache commons, le devi scaricare e metterle nella cartella ext della jvm
    Non risollevare discussioni morte da tempo (quasi 7 anni, un record!).
    Leggi il Regolamento.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.