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

Reply via email to