Hi,

I have created ruby scripts using wsdl2ruby.rb (v1.5.8) from the Betfair
service.

ruby \ruby\bin\wsdl2ruby.rb --type client --wsdl
https://api.betfair.com/global/v3/BFGlobalService.wsdl

When I try to run the generated client, it fails with a "service not
found" message,
which then breaks the xmlparser.
The first wiredump shows the generated XML request.

When I try to do the same thing with SOAPBITS or WEBSERVICESTUDIO, it
works fine.

But there are some clear differences between the two XML request strings
(note lines with "envelope" in them), and my knowledge is
far too small to comprehend what is going on, and I'm about to give up.

Can anyone out there suggest a way that I can move forward with this
please ?
Is this a wsdl2ruby.rb bug or am I not doing something correctly ?

Regards,
Tad


https://api.betfair.com/global/v3/BFGlobalService.wsdl


ruby BFGlobalServiceClient.rb

Wire dump:

= Request

! CONNECT TO api.betfair.com:443
! CONNECTION ESTABLISHED
POST /global/v3/BFGlobalService.wsdl HTTP/1.1

SOAPAction: "login"

Content-Type: text/xml; charset=utf-8

User-Agent: SOAP4R/1.5.8 (/187, ruby 1.8.6 (2007-03-13) [i386-mswin32])

Date: Wed, 23 Apr 2008 10:44:07 GMT

Content-Length: 460

Host: api.betfair.com



<?xml version="1.0" encoding="utf-8" ?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <env:Body>
    <n1:login
xmlns:n1="http://www.betfair.com/publicapi/v3/BFGlobalService/">
      <username>xxxxxxxx</username>
      <password>xxxxxxxx</password>
      <productId>82</productId>
    </n1:login>
  </env:Body>
</env:Envelope>

= Response

HTTP/1.1 500 service not found

Server: Apache-Coyote/1.1

X-Powered-By: Servlet 2.4; JBoss-4.0.5.GA (build: CVSTag=Branch_4_0
date=200610162339)/Tomcat-5.5

Content-Type: text/html;charset=utf-8

Content-Length: 1051

Date: Wed, 23 Apr 2008 10:43:31 GMT

nnCoection: close


SOAPBITS :  (This works ok)

  <?xml version="1.0" encoding="utf-8" ?>
  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <login xmlns="http://www.betfair.com/publicapi/v3/BFGlobalService/">
     <request>
      <ipAddress xmlns="" />
      <locationId xmlns="">0</locationId>
      <password xmlns="">xxxxxxxx</password>
      <productId xmlns="">82</productId>
      <username xmlns="">xxxxxxxx</username>
      <vendorSoftwareId xmlns="">0</vendorSoftwareId>
     </request>
    </login>
  </soap:Body>
  </soap:Envelope>
-- 
Posted via http://www.ruby-forum.com/.