Action #1406
GVOClient should not open always a new socket when sending stuff
Status: | Rejected | Start date: | 01/12/2015 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assigned To: | Knödlseder Jürgen | % Done: | 0% | |
Category: | - | |||
Target version: | 1.0.0 | |||
Duration: |
Description
Using the TOPCAT Hub, it appears that the connection always gets closed when an XML-RPC exchange has been done. This seems to be part of the XML-RPC protocol, see for example http://www.tutorialspoint.com/xml-rpc/xml_rpc_response.htm:
After the response is delivered from the XML-RPC server to the XML-RPC client, the connection is closed. Follow-up requests need to be sent as separate XML-RPC connections.
Note that typical XML-RPC response has the following format:
HTTP/1.1 200 OK Date: Sat, 06 Oct 2001 23:20:04 GMT Server: Apache.1.3.12 (Unix) Connection: close Content-Type: text/xml Content-Length: 124 <?xml version="1.0"?> <methodResponse> <params> <param> <value><double>18.24668429131</double></value> </param> </params> </methodResponse>
The response obviously says:
Connection: close
Recurrence
No recurrence.
History
#1 Updated by Knödlseder Jürgen almost 10 years ago
- http://xmlrpc.scripting.com/spec.html
- http://www.tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-intro.html
- http://xmlrpcpp.sourceforge.net/faq.html (C++ XML-RPC library)
And here a summary of the XML-RPC definition:
An XML-RPC message is an HTTP-POST request. The body of the request is in XML. A procedure executes on the server and the value it returns is also formatted in XML. Procedure parameters can be scalars, numbers, strings, dates, etc.; and can also be complex record and list structures.
The payload is in XML, a single <methodCall>
structure. The <methodCall>
must contain a <methodName> sub-item, a string, containing the name of the method to be called. If the procedure call has parameters, the <methodCall>
must contain a <params>
sub-item.
Unless there’s a lower-level error, always return 200 OK.
The body of the response is a single XML structure, a <methodResponse>
, which can contain a single <params>
which contains a single <param>
which contains a single <value>
.
The <methodResponse>
could also contain a <fault>
which contains a <value>
which is a <struct>
containing two elements, one named <faultCode>
, an <int>
and one named <faultString>
, a <string>
.
#2 Updated by Knödlseder Jürgen over 9 years ago
- Status changed from New to Rejected
- Remaining (hours) set to 0.0
Rejected as opening always a new socket is part of the XML-RPC protocol.