ws-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Taft <a...@hydroblaster.com>
Subject Re: XMLRPC client problem with long requests
Date Thu, 29 Dec 2005 19:18:09 GMT

PHP has a maximum time which a script can run.  If it goes beyond this, 
it closes the connection.  I think it might drop an error too, but it's 
just a traditional PHP html output error, not an xmlrpc exception.

http://us3.php.net/manual/en/function.set-time-limit.php

Remember, XMLRPC is HTTP.  You should be able to use a web browser to 
check that your xmlrpc script is running and at least giving a standard 
xmlrpc exception.  When running a PHP server, you may not actually see 
any results in your xmlrpc client if your PHP server script is running 
poorly.


Andreas Schlicker wrote:
> Hi all,
> 
> I'm using xmlrpc-2.0 with Java 1.5.0 (I think update 5). I have a 
> problem with long requests.
> 
> My Java client implementation calls a dummy PHP script that waits for 
> some time and then returns the start and end times using XMLRPC.
> This works perfectly fine if the script waits for up to 5 minutes.
> 
> The debug output from a successful call is:
> 
> Created client to url space 
> http://bioinf.mpi-sb.mpg.de/projects/gotax/wait.php
> Unable to determine the value of the system property 
> 'org.apache.xmlrpc.TypeFactory': access denied 
> (java.util.PropertyPermission org.apache.xmlrpc.TypeFactory read)
> Beginning parsing XML input stream
> startElement: methodResponse
> startElement: params
> startElement: param
> startElement: value
> startElement: string
> endElement: string
> endElement: value
> endElement: param
> endElement: params
> endElement: methodResponse
> Spent 12 millis parsing
> Spent 150 millis in request/process/response
> 
> 
> However, the real application I'm interested in will take probably some 
> hours. If the PHP script waits longer than five minutes I get the 
> following error from XmlRpcClient with debug set to true:
> 
> Created client to url space 
> http://bioinf.mpi-sb.mpg.de/projects/gotax/wait.php
> Unable to determine the value of the system property 
> 'org.apache.xmlrpc.TypeFactory': access denied 
> (java.util.PropertyPermission org.apache.xmlrpc.TypeFactory read)
> Spent 803665 millis in request/process/response
> Avoiding obscuring previous error by supressing error encountered while 
> ending request: org.apache.xmlrpc.XmlRpcClientException: Exception 
> closing URLConnection
> Unexpected end of file from server
> java.net.SocketException: Unexpected end of file from server
>     at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:684)
>     at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:554)
>     at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:682)
>     at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:554)
>     at 
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:936)

> 
>     at org.apache.xmlrpc.DefaultXmlRpcTransport.sendXmlRpc(Unknown Source)
>     at org.apache.xmlrpc.XmlRpcClientWorker.execute(Unknown Source)
>     at org.apache.xmlrpc.XmlRpcClient.execute(Unknown Source)
>     at org.apache.xmlrpc.XmlRpcClient.execute(Unknown Source)
>     at org.apache.xmlrpc.XmlRpcClient.execute(Unknown Source)
>     at gotaxexplorer.client.Runner.run(Runner.java:61)
> 
> 
> The XmlRpcClientLite throws this exception:
> XmlRpcClientLite:
> Server returned invalid Response.
> java.io.IOException: Server returned invalid Response.
>     at org.apache.xmlrpc.LiteXmlRpcTransport.sendRequest(Unknown Source)
>     at org.apache.xmlrpc.LiteXmlRpcTransport.sendXmlRpc(Unknown Source)
>     at org.apache.xmlrpc.XmlRpcClientWorker.execute(Unknown Source)
>     at org.apache.xmlrpc.XmlRpcClient.execute(Unknown Source)
>     at org.apache.xmlrpc.XmlRpcClient.execute(Unknown Source)
>     at org.apache.xmlrpc.XmlRpcClient.execute(Unknown Source)
>     at gotaxexplorer.client.Runner.run(Runner.java:60)
> 
> 
> Here is the client code I use:
> 
> XmlRpc.setKeepAlive(true);
> XmlRpc.setDebug(true);
> XmlRpcClient xml = new XmlRpcClient(url);
> Vector params = new Vector(2);
> params.addElement(query);
> params.addElement(param);
> Object result = xml.execute(method,  params);
> 
> Does anyone have an idea?
> 
> Thanks in advance.
> Andreas
> 

Mime
View raw message