The present invention provides for a system and method of performing
efficient XML-RPC. Generally, the system comprises a client which
generates XML-RPC requests in a compression format which encodes tags,
attributes and attribute values as tokens rather than strings and
transmits the request to a server. The server gets the requests from the
client, invokes the corresponding method and sends a response encoded in
the same format that the clients request was encoded in. In a further
aspect of the present invention, the client receives a URL of a valid
XML-RPC server. The client establishes a persistent connection with the
server via a request utilizing the URL. The method to be called utilizing
XM-RPC is passed to the client along with the associated parameters. The
client generates and XML-RPC request which is transmitted in an encoding
format which represents at least a portion of the tags (and attributes
and attribute values if present) as tokens rather than strings. The
server receives the requests, and after being parsed receives the method
to be called and the associated parameters. The server attempts to locate
the method and handler in a hash table, and if available, calls the
method. When the return parameters of the method are returned to the
server, it encodes the parameters in a XML-RPC response according to the
tokenized format, and sends the response back to the client. The response
is then parsed and the client obtains the parameters, which it then
utilizes as appropriate.