The original problem was using httpclient with vfs library. Now , I am
almost sure that the problem is exclusively with httpclient, so you are
right and I should move this item.


On Mon, 2011-02-07 at 16:55 -0800, Ralph Goers wrote:
> The question I have is why this is flagged as "vfs" and isn't being asked on 
> the httpclient mailing list?
> 
> Ralph
> 
> On Feb 7, 2011, at 8:12 AM, Ismael Marín Carrión wrote:
> 
> > Hi all,
> > 
> > I would like to recall my question. Briefly, httpclient is not able to
> > connect to a HTTP server, which has opened a GASS session, using a URI
> > such as: http://localhost:8180/opt/mytext.txt , where /opt/mytext.txt is
> > on /. However, using a web server or tomcat servlet container,
> > httpclient has not problems.
> > 
> > Tracking the code, in the generateRequestLine method of
> > HttpMethodBase.java, it does not receives the correct path.
> > 
> > protected static String generateRequestLine(HttpConnection connection,
> >        String name, String requestPath, String query, String version)
> > 
> > Thus, for the GASS session , requestPath shows:
> > HEAD / HTTP/1.1 , instead of HEAD /opt/mytext.txt HTTP/1.1
> > 
> > But, using a URI of tomcat, such as http://localhost:8080/index.jsp , it
> > shows:
> > HEAD /index.jsp HTTP/1.1
> > 
> > I hope it clarifies the problem. Any comment or suggestion is welcome.
> > Regards.
> > 
> > 
> > On Thu, 2011-02-03 at 17:27 +0100, Ismael Marín Carrión wrote:
> > 
> >> Dear Martin, thanks for your response.
> >> 
> >> The GASS session does not uses the port 80 (and magno is a local
> >> domain). It opens a HTTP session such as
> >> 
> >> $ globus-gass-server -i -p 8180
> >> http://localhost:8180
> >> 
> >> 
> >> and so, you can transfer files using the globus-url-copy (in a grid
> >> environment) or simply, using wget to a URI such as
> >> http://localhost:8180/out/test.txt, where /out/test.txt is on /, the
> >> file is downloaded.
> >> 
> >> It seems rare since using a URI of a web server or tomcat servlet, this
> >> application has not problems. So, I guess that httpclient is not ready
> >> for this kind of HTTP services, no?
> >> 
> >> By other hand, the application previously set the HostConfiguration,
> >> client.setHostConfiguration(config);. I am not the developer of this
> >> code, and so I unknown some details.
> >> 
> >> Regards. 
> >> 
> >> On Thu, 2011-02-03 at 11:09 -0500, Martin Gainty wrote:
> >>> ssh username@magno (or whatever the IP is assigned to magno in hosts file)
> >>>> netstat -ab | grep 80
> >>> 
> >>> //if you do not have HTTPServer running on 80 you will get no results
> >>> //if you do have HTTPServer running on Port 80 you should see output
> >>> 
> >>> //also if your HttpClient executeMethod is declared as 
> >>> public int executeMethod(HostConfiguration hostconfig, final HttpMethod 
> >>> method, final HttpState state)
> >>> throws IOException, HttpException 
> >>> 
> >>> //you should call executeMethod with all of the params initialised e.g.
> >>> try
> >>> {
> >>> int n=client.executeMethod(hostconfig,method,state)
> >>> }
> >>> catch(IOException ioe)
> >>> {
> >>> log.debug("Handle your IOException from client.executeMethod here");
> >>> }
> >>> catch(HttpException http_exception)
> >>> {
> >>> log.debug("Handle your HttpException from client.executeMethod here");
> >>> }
> >>> 
> >>> Saludos Cordiales,
> >>> Martin Gainty 
> >>> ______________________________________________ 
> >>> Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité
> >>> 
> >>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene 
> >>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede 
> >>> unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese 
> >>> Nachricht dient lediglich dem Austausch von Informationen und entfaltet 
> >>> keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit 
> >>> von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
> >>> Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas 
> >>> le destinataire prévu, nous te demandons avec bonté que pour satisfaire 
> >>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou la 
> >>> copie de ceci est interdite. Ce message sert à l'information seulement et 
> >>> n'aura pas n'importe quel effet légalement obligatoire. Étant donné que 
> >>> les email peuvent facilement être sujets à la manipulation, nous ne 
> >>> pouvons accepter aucune responsabilité pour le contenu fourni.
> >>> 
> >>> 
> >>> 
> >>> 
> >>>> Date: Thu, 3 Feb 2011 16:20:33 +0100
> >>>> From: [email protected]
> >>>> Subject: Re: [vfs] - Problem with httpclient
> >>>> To: [email protected]
> >>>> 
> >>>> I would like to emphasize that the URI is given by a insecure Globus
> >>>> GASS session (the files are transfered using wget, so the session is
> >>>> ok). This code does not fail with other kind of URIs.
> >>>> 
> >>>> Thus, are this kind of URIs valid for httpclient?
> >>>> 
> >>>> Regards.
> >>>> 
> >>>> On Wed, 2011-02-02 at 10:13 +0100, Ismael Marín Carrión wrote:
> >>>>> Dear all,
> >>>>> 
> >>>>> I am working in the development of a driver for a Grid system. In our
> >>>>> tests, we are using GridSAM, which use the httpclient and commons-vfs.
> >>>>> 
> >>>>> I am writing you to get some advise of how solving the next problem.
> >>>>> 
> >>>>> GridSAM invokes httpclient classes from the HttpClientFactory class
> >>>>> (org.apache.commons.vfs.provider.http), in the method
> >>>>> createConnection().
> >>>>> 
> >>>>> public static HttpClient createConnection(HttpFileSystemConfigBuilder
> >>>>> builder, String scheme,
> >>>>>                                              String hostname, int port,
> >>>>> String username,
> >>>>>                                              String password,
> >>>>> FileSystemOptions fileSystemOptions)
> >>>>>            throws FileSystemException
> >>>>>    {
> >>>>>             ....
> >>>>>            client.executeMethod(new HeadMethod());
> >>>>>            ....
> >>>>>     }
> >>>>> 
> >>>>> I am not using any authentication mechanism, and so username and passwd
> >>>>> are null, but hostname, port and scheme has the proper values.
> >>>>> 
> >>>>> Thus, in executeMethod() method of the HttpClient class:
> >>>>> 
> >>>>> public int executeMethod(HostConfiguration hostconfig,
> >>>>>        final HttpMethod method, final HttpState state)
> >>>>>        throws IOException, HttpException  {
> >>>>>        ....
> >>>>>         HostConfiguration defaulthostconfig = getHostConfiguration();
> >>>>>        if (hostconfig == null) {
> >>>>>            hostconfig = defaulthostconfig;
> >>>>>        }
> >>>>>        URI uri = method.getURI();
> >>>>>       ....
> >>>>> }
> >>>>> 
> >>>>> I received a null value for uri, while the hostconfig object has values
> >>>>> for host attribute, but not for localAddress attribute or any other.
> >>>>> Later it causes a NoHttpResponseException. 
> >>>>> 
> >>>>> The complete stack is:
> >>>>> 
> >>>>> 2011-02-01 17:11:49,050 ERROR [TransferAgentFactory] source URI is not
> >>>>> resolvable
> >>>>> org.apache.commons.vfs.FileSystemException: Could not connect to HTTP
> >>>>> server on "magno".
> >>>>> at
> >>>>> org.apache.commons.vfs.provider.http.HttpClientFactory.createConnection(HttpClientFactory.java:186)
> >>>>> at
> >>>>> org.apache.commons.vfs.provider.http.HttpClientFactory.createConnection(HttpClientFactory.java:53)
> >>>>> at
> >>>>> org.apache.commons.vfs.provider.http.HttpFileProvider.doCreateFileSystem(HttpFileProvider.java:97)
> >>>>> at
> >>>>> org.apache.commons.vfs.provider.AbstractOriginatingFileProvider.getFileSystem(AbstractOriginatingFileProvider.java:103)
> >>>>> at
> >>>>> org.apache.commons.vfs.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:82)
> >>>>> at
> >>>>> org.apache.commons.vfs.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:66)
> >>>>> at
> >>>>> org.apache.commons.vfs.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:706)
> >>>>> at
> >>>>> org.apache.commons.vfs.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:623)
> >>>>> at
> >>>>> org.icenigrid.gridsam.core.plugin.transfer.protocol.AbstractTransferAgent.getFileObject(AbstractTransferAgent.java:239)
> >>>>> at
> >>>>> org.icenigrid.gridsam.core.plugin.transfer.protocol.TransferAgentFactory.resolveSourceFile(TransferAgentFactory.java:168)
> >>>>> at
> >>>>> org.icenigrid.gridsam.core.plugin.transfer.protocol.TransferAgentFactory.<init>(TransferAgentFactory.java:120)
> >>>>> at
> >>>>> org.icenigrid.gridsam.core.plugin.transfer.provider.AFTFileTransferJob.execute(AFTFileTransferJob.java:131)
> >>>>> at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
> >>>>> at org.quartz.simpl.SimpleThreadPool
> >>>>> $WorkerThread.run(SimpleThreadPool.java:525)
> >>>>> Caused by: org.apache.commons.httpclient.NoHttpResponseException: The
> >>>>> server magno failed to respond
> >>>>> at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(Unknown
> >>>>> Source)
> >>>>> at org.apache.commons.httpclient.HttpMethodBase.readResponse(Unknown
> >>>>> Source)
> >>>>> at org.apache.commons.httpclient.HttpMethodBase.execute(Unknown Source)
> >>>>> at
> >>>>> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(Unknown
> >>>>>  Source)
> >>>>> at
> >>>>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(Unknown
> >>>>> Source)
> >>>>> at org.apache.commons.httpclient.HttpClient.executeMethod(Unknown
> >>>>> Source)
> >>>>> at org.apache.commons.httpclient.HttpClient.executeMethod(Unknown
> >>>>> Source)
> >>>>> at
> >>>>> org.apache.commons.vfs.provider.http.HttpClientFactory.createConnection(HttpClientFactory.java:182)
> >>>>> ... 13 more
> >>>>> 
> >>>>> Maybe, the line numbers are not exactly correct since I have been some
> >>>>> minor changes. The version of httpclient is 3.0.1 and vfs is 2.1.
> >>>>> 
> >>>>> I am very pleased of any help or advise. Best regards.
> >>>> 
> >>>> 
> >>>> 
> >>>> ---------------------------------------------------------------------
> >>>> 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]
> >> 
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> 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]

Reply via email to