X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=tools%2Fxmlrpc%2Fxmlrpc.html;fp=tools%2Fxmlrpc%2Fxmlrpc.html;h=3d41c1993430bf69f63df6c67fc405caac62ad63;hb=ce67d0cdeaa37c3e856e23ae4010480887165630;hp=0000000000000000000000000000000000000000;hpb=e355d4e7962400470f467b88f5568de9c8324475;p=xmlrpc-c diff --git a/tools/xmlrpc/xmlrpc.html b/tools/xmlrpc/xmlrpc.html new file mode 100644 index 0000000..3d41c19 --- /dev/null +++ b/tools/xmlrpc/xmlrpc.html @@ -0,0 +1,249 @@ + +Xmlrpc User Manual + + +

xmlrpc makes an XML-RPC remote procedure call (RPC) and displays +the response. xmlrpc runs an XML-RPC client. + +

This program is mainly useful for debugging and learning about +XML-RPC servers. XML-RPC is such that the RPCs normally need to be made +by a program rather than a person to be of use. + +

A similar tool done as a web form is at +http://gggeek.damacom.it/debugger/ + +

Examples

+ +
+
+     $ xmlrpc http://localhost:8080/RPC2 sample.add i/3 i/5
+       Result:
+         Integer: 8
+
+
+ +
+
+     $ xmlrpc localhost:8080 sample.add i/3 i/5
+       Result:
+         Integer: 8
+     
+
+
+ +
+
+     $ xmlrpc http://xmlrpc.server.net/~bryanh echostring \
+         "s/This is a string"
+     Result:
+       String: This is a string
+
+
+
+ +
+
+     $ xmlrpc http://xmlrpc.server.net/~bryanh echostring \
+         "This is a string in shortcut syntax"
+     Result:
+       String: This is a string in shortcut syntax
+
+
+
+
+
+     $ xmlrpc http://xmlrpc.server.net sample.add i/3 i/5 \
+         transport=curl -curlinterface=eth1 -username=bryanh -password=passw0rd
+       Result:
+         Integer: 8
+     
+
+
+ +

Overview

+

+xmlrpc +url +methodName +parameter ... +[-transport=transportname] +[-username=username -password=password] +[-curlinterface={interface|host}] +[-curlnoverifypeer] +[-curlnoverifyhost] + +

parameter: + +

+i/integer | +s/string | +b/{true|false|t|f} | +d/realnum | +n/ | +string + + +

Minimum unique abbreviation of option is acceptable. You may use double +hyphens instead of single hyphen to denote options. You may use white +space in place of the equals sign to separate an option name from its value. + + +

Arguments

+ +
+
url + +
This is the URL of the XML-RPC server. As XML-RPC uses HTTP, this +must be an HTTP url. However, if you don't specify a type ("http:") +in the URL, xmlrpc assumes an "http://" prefix and a +"/RPC2" suffix. RPC2 is the conventional file name for +an XML-RPC responder. + +
methodName + +
The name of the XML-RPC method you want to invoke. + +
parameter ... + +
The list of parameters for the RPC. xmlrpc turns each of these +arguments into an XML-RPC parameter, in the order given. You may specify +no parameters if you like. + +

You specify the data type of the parameter with a prefix ending in +a slash. Example: i/5. Here, the "i" signifies an +integer data type. "5" is the value. + +

xmlrpc is capable of only a subset of the +possible XML-RPC types, as follows by prefix: + +

+
i/ +
integer (<int4>) + +
s/ +
string (<string>) + +
b/ +
boolean (<boolean>) + +
d/ +
double (<double>) (i.e. real number) + +
n/ +
nil (<nil>) + +
+ +

As a shortcut, if you don't specify a prefix (i.e. your argument does +not contain a slash), xmlrpc assumes string data type. + +

+ + +

Options

+ +
+
-transport=transportname + +
This selects the XML transport facility (e.g. libwww) that +xmlrpc uses to perform the RPC. + +

The name transportname is one that the Xmlrpc-c programming +library recognizes. This is typically libwww, curl, and +wininet. + +

By default, xmlrpc lets the Xmlrpc-c library choose. + +

-username=username +
-password=password + +
These options, which must be used together, cause the client to +authenticate itself to the server, if the server requires it, using +HTTP Basic Authentication and the specified username and password. + +
-curlinterface={interface|host} + +
+This option gives the "interface" option for a Curl XML transport. + +

The exact meaning of this option is up to the Curl library, and the +best documentation for it is the manual for the 'curl' program that comes +with the Curl library. + +

But essentially, it chooses the local network interface through which +to send the RPC. It causes the Curl library to perform a +"bind" operation on the socket it uses for the +communication. It can be the name of a network interface (e.g. on +Linux, "eth1") or an IP address of the interface or a host +name that resolves to the IP address of the interface. Unfortunately, +you can't explicitly state which form you're specifying, so there's +some ambiguity. + +

Examples: + +

+ +

This option causes xmlrpc to default to using the Curl +XML transport. You may not specify any other transport. + +

-curlnoverifypeer + +
+This option gives the "no_ssl_verifypeer" option for the Curl +XML transport, which is essentially the CURLOPT_SSL_VERIFYPEER option +of the Curl library. + +

See the curl_easy_setopt() man page for details on this, but +essentially it means that the client does not authenticate the server's +certificate of identity -- it just believes whatever the server says. + +

You may want to use -curlnoverifyhost as well. Since you're +not authenticating the server's identity, there's not much sense in +checking it. + +

This option causes xmlrpc to default to using the Curl +XML transport. You may not specify any other transport. + + +

-curlnoverifyhost + +
+This option gives the "no_ssl_verifyhost" option for the Curl +XML transport, which is essentially the CURLOPT_SSL_VERIFYHOST option +of the Curl library. + +

See the curl_easy_setopt() man page for details on this, but +essentially it means that the client does not verify the server's +identity. It just assumes that if the server answers the IP address +of the server as indicated by the URL (probably via host name), then +it's the intended server. + +

You may want to use -curlnoverifypeer as well. As long as +you don't care who the server says it is, there's no point in +authenticating its identity. + +

This option causes xmlrpc to default to using the Curl +XML transport. You may not specify any other transport. + + +

+ +