Action #1406

GVOClient should not open always a new socket when sending stuff

Added by Knödlseder Jürgen over 9 years ago. Updated almost 9 years ago.

Status:RejectedStart date:01/12/2015
Priority:NormalDue 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 over 9 years ago

Here some useful links:

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 almost 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.

Also available in: Atom PDF