Worked for the great part of the evening on this. My feeling is that the 
problem is with the web services that require complex types as input, as 
the omnipresent apiRequestHeader .

This source:

---
(...)
print "Trying to keep it alive... "
apiRequestHeader = { :clientStamp => "foo",
                     :sessionToken => "bar" }
response = soapDriver.keepAlive(:request => { :header => 
apiRequestHeader })
exit unless response.result.apiVersion != ""
puts "done."
(...)
---

makes ruby produce the following message; the parameters have 
disappeared!

---
<- "POST /betex-api-public-ws/v2/BFService HTTP/1.1\r\nAccept: 
*/*\r\nContent-Type: text/xml; charset=utf-8\r\nUser-Agent: 
SOAP4R/1.5.5\r\nSoapaction: \"keepAlive\"\r\nContent-Length: 
393\r\nHost: api.betfair.com\r\n\r\n"
<- "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<env:Envelope 
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\n 
xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\"\n 
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n  <env:Body>\n 
<n1:keepAlive 
xmlns:n1=\"http://www.betfair.com/publicapi/BFServiceV2/\">\n 
<n1:request>\n      </n1:request>\n    </n1:keepAlive>\n 
</env:Body>\n</env:Envelope>"
-> "HTTP/1.1 200 OK\r\n"
(...)
---

Is it normal?

Giacecco

-- 
Posted via http://www.ruby-forum.com/.