Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JAVA] NoHttpResponseException su proxy

    Buongiorno,

    ricevo l'errore NoHttpResponseException su un proxy che ho programmato solo per inviare al server la stessa identica richiesta proveniente dal client.

    Il codice completo dell'errore è il seguente:

    I/O exception (org.apache.commons.httpclient.NoHttpResponseExcep tion) caught when processing request: The server api.facebook.com failed to respond
    Non so davvero come muovermi.

    Anche perchè senza il proxy il tutto funziona, mentre con il proxy, che dovrebbe passare al server la stessa richiesta eseguita dal client, ricevo questo errore.

    Il proxy si blocca sulla chiamata:

    codice:
    protected void doPost(HttpServletRequest request, HttpServletResponse response) {     
    
         PostMethod method = new PostMethod(request.getHeader(SERVER_URL));          
         Enumeration requestHeaderNames = request.getHeaderNames();
         Enumeration requestParametersNames = request.getParameterNames();     
    
            while (requestHeaderNames.hasMoreElements()) {            
            String requestHeaderName = (String)requestHeaderNames.nextElement();                                                                      method.setRequestHeader(requestHeaderName, request.getHeader(requestHeaderName));   
    }       
    
    while(requestParametersNames.hasMoreElements()){          
        String requestParameterName = (String) requestParametersNames.nextElement();                method.setParameter(requestParameterName, request.getParameter(requestParameterName));              
      }          
    
    
           byte[] requestBody = IOUtils.toByteArray(request.getInputStream()); 
           method.setRequestBody(new ByteArrayInputStream(requestBody));          
            int resp = httpClient.executeMethod(method);
    Sull'esecuzione del metodo POST si blocca il tutto.

    Qualche motivo in particolare?

  2. #2
    Tra l'altro, l'applicazione gira correttamente senza l'utilizzo del proxy, dunque client e server singolarmente lavorano bene.

    Nel momento in cui inserisco un proxy, che inrealtà dovrebbe solo passare l'identica request del client al server e passare la respons del server al client così com'è, si blocca tutto.

    Quindi non può essere un errore nel server ma nel proxy stesso.

    Eppure qualcosa non va...

  3. #3
    Sono riuscito a trovare un primo errore:

    da quello che leggo nella documentazione, il campo HOST di un messaggio HTTP deve contenere il valor dell'indirizzo della risorsa che vogliamo ottenere.

    Nel mio caso, dal passaggio client - proxy copiavo gli stessi headers e dunque ottenevo che il mio proxy avesse come header HOST l'indirizzo del proxy.

    Ora però che ho cambiato il tutto l'errore è lo stesso...

    Allora chiedo una cosa:

    PostMethod in java ha un costruttore al quale può essere passata una stringa contenente un URI.

    Se la risorsa alla quale voglio accedere è "http://api.facebook.com/restserver.php" devo settare quel valore nel costruttore di PostMethod? E allo stesso tempo, se il campo HOST della PostMethod deve contenere un valore contenente l'indirizzo della risorsa, che valore devo impostare?

    Per adesso anche l'header HOST del PostMethod vale http://api.facebook.com/restserver.php.

    Qualcosa è concettualmente sbagliato?

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.