Skip to content
lsmonki edited this page Oct 23, 2013 · 2 revisions

Automatic Type Conversion

IXR takes great pains to hide the details of the XML-RPC specification from the user. Where-ever possible, XML-RPC types are converted to PHP types (and vice versa) with no intervention needed from the web service programmer. Where this is not possible, objects are returned that allow easy access to the encapsuated data.

Supported XML-RPC Extensions

system.multicall

The system.multicall specification is fully implemented in the IXR_Server class. Any servers built using that class (or the IXR_IntrospectionServer class which extends it) will have a system.multicall method available, allowing clients to make multiple procedure requests in on HTTP transaction.

Client support for system.multicall is available in the IXR_ClientMulticall class, which extends IXR_Client.

Introspection

The introspection specification was originally here, but is no longer available. I have mirrored the information from the missing page here. Additional information can be found here.

IXR_Server provides the system.listMethods method for all XML-RPC servers built using the library. system.methodSignature and system.methodHelp are not supported in the basic server class, but can be fully implemented by using the IXR_IntrospectionServer instead. Both of these methods require the web service programmer to provide extra information about the methods they are defining - for this reason they have been left out of IXR_Server to keep basic implementation as simple as possible.

system.getCapabilities

The system.getCapabilities method (described here) is implemented in the basic IXR_Server class, and is automatically updated by the IXR_IntrospectionServer class to ensure it returns information on the additional capabilities gained from using the more advanced server class.

Specification for Fault Code Interoperability

The Specification for Fault Code Interoperability is supported by IXR - any errors within the library that match one of the defined error codes in the specification are returned with the corresponding error number.