Use of XML-RPC methods
- From: Phil Daintree <phil logicworks co nz>
- To: libsoup-list gnome org
- Subject: Use of XML-RPC methods
- Date: Tue, 31 Aug 2010 21:56:01 +1200
I am trying to use libsoup's XML-RPC client methods to get data from a
remote application .. using genie (or vala). Using the code
[indent=4]
/* Build with "valac --thread --pkg libsoup-2.4 yourfile.gs */
uses
Soup
Gee
struct LocQty
quantity : double
loccode : string
init
var session = new Soup.SessionAsync ()
ItemCode:string = "DVD-TOPGUN"
UserName:string = "admin"
Password:string = "weberp"
var message = Soup.xmlrpc_request_new
("http://localhost/webERP/api/api_xml-rpc.php",
"weberp.xmlrpc_GetStockBalance", typeof(string),ItemCode,
typeof(string), UserName, typeof(string), Password)
session.send_message(message)
ResponseData:string = message.response_body.flatten().data
MessageLength : int = (int) message.response_body.length
try
xmlrpc_parse_method_response (ResponseData, MessageLength,
typeof(int))
print("Stock of %s = %s",ItemCode, ResponseData)
except
print("Could not get webERP API location stock over XML-RPC.")
print ("message length = %d",MessageLength)
I get a nice response from the web-server :
Stock of DVD-TOPGUN = <?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value><array>
<data>
<value><int>0</int></value>
<value><array>
<data>
<value><struct>
<member><name>quantity</name>
<value><string>-1</string></value>
</member>
<member><name>loccode</name>
<value><string>MEL</string></value>
</member>
</struct></value>
<value><struct>
<member><name>quantity</name>
<value><string>0</string></value>
</member>
<member><name>loccode</name>
<value><string>TOR</string></value>
</member>
</struct></value>
</data>
</array></value>
</data>
</array></value>
</param>
</params>
</methodResponse>
I am figuring that the xmlrpc_extract_method_response is the method to
parse the returned xml into an array of structs?? But I can't figure out
how to use it and can find no examples on the net...
Would appreciate any ideas?
Phil
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]