[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Betfair soap problem

Peter Aszkenasy

10/10/2007 1:11:00 PM

Hi. I'm trying to use the Betfair API with Ruby:-
http://bdp.betfair.com/exchdeve...

Basically, I can login to the service but I can't do anything else - I
keep getting a no session error? I can do something very similar below
in php and it works fine so I think my arguments are correct. However,I
would like to stick to ruby. I've seen some other posts on this but I'm
not to clear. I'm using Ruby 1.8.6 (2007-09-24 patchlevel 111) and this
is my irb session:-

...
irb(main):032:0> bfsoapclient = SOAP::WSDLDriverFactory.new( wsdl
).create_rpc_driverignored attr: {}abstract
ignored attr: {}nillable
ignored attr: {}mixed
=>
#<SOAP::RPC::Driver:#<SOAP::RPC::Proxy:https://api.betfair.com/global/v3/BFGlobalServi...

irb(main):033:0> bflogin = bfsoapclient.login(:request=>logindetails)
=> #<SOAP::Mapping::Object:0x..fdbd49328
{http://www.betfair.com/publicapi/v3/BFGlob...}Result=#<SOAP::Mapping::Object:0x..fdbd491fc
{}header=#<SOAP::Mapping::Object:0x..fdbd49026 {}errorCode="OK"
{}minorErrorCode=#<SOAP::Mapping::Object:0x..fdbd48900>
{}sessionToken="MMrLImJigs0OO0u3K5gty8qSPIbwFaZwRyzzLnmOEjo="
{}timestamp="2007-10-10T12:58:04.062Z"> {}currency="GBP"
{}errorCode="OK" {}minorErrorCode=#<SOAP::Mapping::Object:0x..fdbd46b3c>
{}validUntil="0001-01-01T00:00:00.000Z">>

irb(main):034:0> apiRequestHeader = { :clientstamp => 0,:sessionToken =>
bflogin.result.header.sessionToken }
=> {:clientstamp=>0,
:sessionToken=>"MMrLImJigs0OO0u3K5gty8qSPIbwFaZwRyzzLnmOEjo="}

irb(main):035:0> events = bfsoap.getActiveEventTypes(:request =>
{:header=>apiRequestHeader})
=> #<SOAP::Mapping::Object:0x..fdbd3689a
{http://www.betfair.com/publicapi/v3/BFGlob...}Result=#<SOAP::Mapping::Object:0x..fdbd3671e
{}header=#<SOAP::Mapping::Object:0x..fdbd36534 {}errorCode="NO_SESSION"
{}minorErrorCode=#<SOAP::Mapping::Object:0x..fdbd35d82>
{}sessionToken=#<SOAP::Mapping::Object:0x..fdbd3585a>
{}timestamp="2007-10-10T13:00:25.199Z">
{}eventTypeItems=#<SOAP::Mapping::Object:0x..fdbd34996>
{}minorErrorCode=#<SOAP::Mapping::Object:0x..fdbd344b4>
{}errorCode="API_ERROR">>
--
Posted via http://www.ruby-....

8 Answers

NAKAMURA, Hiroshi

10/11/2007 1:27:00 AM

0

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Peter Aszkenasy wrote:
> Hi. I'm trying to use the Betfair API with Ruby:-
> http://bdp.betfair.com/exchdeve...

> irb(main):034:0> apiRequestHeader = { :clientstamp => 0,:sessionToken =>
> bflogin.result.header.sessionToken }
> => {:clientstamp=>0,
> :sessionToken=>"MMrLImJigs0OO0u3K5gty8qSPIbwFaZwRyzzLnmOEjo="}

clientstamp => clientStamp

I don't think it causes the server error 'NO_SESSION' though.

> irb(main):035:0> events = bfsoap.getActiveEventTypes(:request =>
> {:header=>apiRequestHeader})

Please download the WSDL as a local file, then add the following change;

<xsd:schema
targetNamespace="http://www.betfair.com/publicapi/types/global/v3/...

=>

<xsd:schema
elementFormDefault="qualified"
targetNamespace="http://www.betfair.com/publicapi/types/global/v3/...

(add "elementFormDefault" line)

And please try to use the WSDL to see how it goes?

- From example XML messages of the site, they seems to expect 'header'
element Namespace qualified but the WSDL does not define
'elementFormDefault' to 'qualified'. I think it's just a bug of the
WSDL because the definition for targetNamespace
'http://www.betfair.com/publicapi/v3/BFGlobalSer... in the WSDL has
elementFormDefault='qualified'.

Regards,
// NaHi

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)

iQEVAwUBRw18XB9L2jg5EEGlAQIBugf/Xh5060A6y8il9xewTOyEj4EXrCIDxDi9
kyhdLDJBLJEymY+WT1/bGH7e3LimsQTNn3wJwpnSKfTWaoTXcJLI6pYoVgPUcEsS
fk23godkL8lOv1J+DpPYGybXfCBWzLZgRgVNjCCjWKcRGgWuTc04pnxA3Gr3NMNg
1GAwclmER9OsTRs1/5ZbluG/fZPGO9egoBSUTECKOpdKPEqB53kazi0HTm+flbnM
nSwucDp2VBd/5X2NtsxUTUJw3RZSv+wWcIH8ugUsRWyvBpluSIAiHrbmvOxG19o5
ZYFLA/Js5zpsPFs+H+yE7CajaLU0C5ifwx9S9GyxlrU/ooDVYqHd5Q==
=Ksu6
-----END PGP SIGNATURE-----

Peter Aszkenasy

10/11/2007 9:58:00 AM

0

Many thanks for answering quickly but still the same problem after
adding:-

Please download the WSDL as a local file, then add the following change;

<xsd:schema
targetNamespace="http://www.betfair.com/publicapi/types/global/v3/...

=>

<xsd:schema
elementFormDefault="qualified"
targetNamespace="http://www.betfair.com/publicapi/types/global/v3/...

(add "elementFormDefault" line)

Please see irb output below:-

irb(main):010:0> wsdl_url="BFGlobalService.wsdl"=>
"BFGlobalService.wsdl"
irb(main):011:0> soap = SOAP::WSDLDriverFactory.new( wsdl_url
).create_rpc_driverignored attr: {}abstract
ignored attr: {}nillable
ignored attr: {}mixed
=>
#<SOAP::RPC::Driver:#<SOAP::RPC::Proxy:https://api.betfair.com/global/v3/BFGlobalServi...
irb(main):012:0>
logindetails={:locationId=>0,:password=>"********",:productId=>82,:username=>"showaprofit",:vendorSoftwareId=>0,:ipAddress=>"82.69.38.122"
}
=> {:productId=>82, :username=>"showaprofit", :vendorSoftwareId=>0,
:ipAddress=>"82.69.38.122", :password=>"********", :locationId=>0}
irb(main):013:0> response=soap.login(:request=>logindetails)=>
#<SOAP::Mapping::Object:0x..fdbde4da0
{http://www.betfair.com/publicapi/v3/BFGlob...}Result=#<SOAP::Mapping::Object:0x..fdbde4c88
{}header=#<SOAP::Mapping::Object:0x..fdbde47b0 {}errorCode="OK"
{}minorErrorCode=#<SOAP::Mapping::Object:0x..fdbde313a>
{}sessionToken="gyfLobWGRgPw+mHI6hD67i49xGJ9nddrywn/hmYn9Hg="
{}timestamp="2007-10-11T09:51:05.569Z"> {}currency="GBP"
{}errorCode="OK" {}minorErrorCode=#<SOAP::Mapping::Object:0x..fdbde03f4>
{}validUntil="0001-01-01T00:00:00.000Z">>
irb(main):014:0> apiRequestHeader={:clientStamp => 0,:sessionToken =>
response.result.header.sessionToken}=>
{:sessionToken=>"gyfLobWGRgPw+mHI6hD67i49xGJ9nddrywn/hmYn9Hg=",
:clientStamp=>0}
irb(main):015:0> response=soap.getActiveEventTypes(:request
=>{:header=>apiRequestHeader})=> #<SOAP::Mapping::Object:0x..fdbdbb702
{http://www.betfair.com/publicapi/v3/BFGlob...}Result=#<SOAP::Mapping::Object:0x..fdbdbb23e
{}header=#<SOAP::Mapping::Object:0x..fdbdbad8e {}errorCode="NO_SESSION"
{}minorErrorCode=#<SOAP::Mapping::Object:0x..fdbdb9fce>
{}sessionToken=#<SOAP::Mapping::Object:0x..fdbdb9ace>
{}timestamp="2007-10-11T09:54:06.142Z">
{}eventTypeItems=#<SOAP::Mapping::Object:0x..fdbdb7580>
{}minorErrorCode=#<SOAP::Mapping::Object:0x..fdbdb640a>
{}errorCode="API_ERROR">>
irb(main):016:0>

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

NAKAMURA, Hiroshi

10/11/2007 2:27:00 PM

0

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Peter Aszkenasy wrote:
> Please see irb output below:-
>
> irb(main):010:0> wsdl_url="BFGlobalService.wsdl"=>
> "BFGlobalService.wsdl"
> irb(main):011:0> soap = SOAP::WSDLDriverFactory.new( wsdl_url
> ).create_rpc_driverignored attr: {}abstract
> ignored attr: {}nillable
> ignored attr: {}mixed

Oops. I should have known it before. You are using bundled version of
soap4r with ruby 1.8.X, right? Please install latest soap4r stable
release from http://dev.ctor.org/soap4r...

Here's my sample client (BFGlobalService.wsdl is edited locally):

require 'soap/wsdlDriver'
wsdl = 'BFGlobalService.wsdl'
drv = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
drv.wiredump_dev = STDOUT
# no connection and causes EmptyResponseError
drv.test_loopback_response << ''
header = { :clientStamp => 0, :sessionToken => "token" }
p drv.getAllEventTypes(
:request => {
:header => {
:clientStamp => 0,
:sessionToken => "token"
},
:locate => 'en'
}
)

And the generated request under soap4r-1.5.8:

<?xml version="1.0" encoding="utf-8" ?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSc...
xmlns:env="http://schemas.xmlsoap.org/soap/envel...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance...
<env:Body>
<n1:getAllEventTypes
xmlns:n1="http://www.betfair.com/publicapi/v3/BFGlobalService/...
<n1:request
xmlns:n2="http://www.betfair.com/publicapi/types/global/v3/...
<n2:header>
<n2:clientStamp>0</n2:clientStamp>
<n2:sessionToken>token</n2:sessionToken>
</n2:header>
<n2:locale xsi:nil="true"></n2:locale>
</n1:request>
</n1:getAllEventTypes>
</env:Body>
</env:Envelope>

When it still does not work, please get a wiredump with
drv.wiredump_dev = STDOUT
and show me the wiredump.

Regards,
// NaHi

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)

iQEVAwUBRw4ymh9L2jg5EEGlAQIJ6gf+JB/VwAvXzR0KZQMmv8PVcJ7GYgCqE09s
1IwMUbrO3zgri7xVaQIlMumTMq9ofWZrvx940v6G8h8tUguiKRX6iHYvOB3GxWOi
kt6YgqcK1BLbt0mWkH5+JbatapeIxW+jE/94fdhiBIURbmTJbYmQdUQhTu3i43VH
nH6/PGlXKdqpknXMHwMMqAH47zpLoWFEnwTwU+fT1YlF8ZkVPtImwVjNA/jOaHj/
M641pxmkRYnFVlmEHMKiHKmFGohJtwY+ceaJTqx0NK5clvE1kxdqPkoYT6C6lPPs
ITCm4blknOxjDDfSA8I5ZKn6+mbYZqd/OezDlu0mmEPlOaZwBpcaRA==
=4AVG
-----END PGP SIGNATURE-----

Peter Aszkenasy

10/11/2007 2:57:00 PM

0

Thankyou very very much - that works! Just for completeness I just
mentioned the commands I used to enable the gem soap4r module to work as
opposed to the built in earlier version version and also how to log in
and obtain the active markets

irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> gem "soap4r"
=> true
irb(main):003:0> require "soap/wsdlDriver"
=> true
irb(main):004:0> wsdl = "BFGlobalService.wsdl"
=> "BFGlobalService.wsdl"
irb(main):005:0> drv =
SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
=>
#<SOAP::RPC::Driver:#<SOAP::RPC::Proxy:https://api.betfair.com/global/v3/BFGlobalServi...
logindetails={:locationId=>0,:password=>'bfpasswd',:username=>'bfuser',:productId=>82,:vendorSoftwareId=>0,:ipAddress="82.69.38.122"}
=> {:locationId=>0, :username=>"bfuser", :productId=>82,
:vendorSoftwareId=>0, :ipAddress=>"82.69.38.122", :password=>"bfpasswd"}
irb(main):008:0> response= drv.login(:request=>logindetails)
=> #<SOAP::Mapping::Object:0x..fdbdec00a
{http://www.betfair.com/publicapi/v3/BFGlob...}Result=#<SOAP::Mapping::Object:0x..fdbdeb8da
{}header=#<SOAP::Mapping::Object:0x..fdbdeb56a {}errorCode="OK"
{}minorErrorCode=""
{}sessionToken="r3k89g9Lu+tWRHlenQg7YwraNx/+Din5VPCXsn3r8="
{}timestamp="2007-10-11T14:42:14.600Z"> {}currency="GBP"
{}errorCode="OK" {}minorErrorCode=""
{}validUntil="0001-01-01T00:00:00.000Z">>
irb(main):009:0> apiRequestHeader={:clientStamp => 0,:sessionToken
=>response.result.header.sessionToken}
=> {:clientStamp=>0,
:sessionToken=>"r3k89g9Lu+tWRHlenQg7YwraNx/+Din5VPCXsn3r8="}
irb(main):010:0>
response=drv.getActiveEventTypes(:request=>{:header=>apiRequestHeader})
=> #<SOAP::Mapping::Object:0x..fdbd7e1e0
{http://www.betfair.com/publicapi/v3/BFGlob...}Result=#<SOAP::Mapping::Object:0x..fdbd7e154
{}header=#<SOAP::Mapping::Object:0x..fdbd7e0b4 {}errorCode="OK"
{}minorErrorCode=""
{}sessionToken="TXr3k89g9Lu+tWRHlenQg7YwraNx/+Din5VPCXsn3r8="
{}timestamp="2007-10-11T14:43:44.088Z">
{}eventTypeItems=#<SOAP::Mapping::Object:0x..fdbd7811e
{http://www.betfair.com/publicapi/types/...}EventType=[#<SOAP::Mapping::Object:0x..fdbd7809c
{}id="6423" {}name="American Football" {}nextMarketId="0"
{}exchangeId="0">, #<SOAP::Mapping::Object:0x..fdbd71ad0 {}id="61420"
{}name="Australian Rules" {}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd71184 {}id="7511" {}name="Baseball"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd6dbba {}id="7522" {}name="Basketball"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd69182 {}id="6" {}name="Boxing"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd663e2 {}id="982477" {}name="Bridge"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd645e2 {}id="4968929" {}name="Combat
Sports" {}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd6189c {}id="4" {}name="Cricket"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd5c3ba {}id="11" {}name="Cycling"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd58210 {}id="3503" {}name="Darts"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd55100 {}id="6231" {}name="Financial
Bets" {}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd52b44 {}id="2152880" {}name="Gaelic
Games" {}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd4d2f2 {}id="3" {}name="Golf"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd463da {}id="4339" {}name="Greyhound
Racing" {}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd3d5be {}id="15" {}name="Greyhound -
Todays Card" {}nextMarketId="20629641" {}exchangeId="1">,
#<SOAP::Mapping::Object:0x..fdbd38b68 {}id="468328" {}name="Handball"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd34eb4 {}id="7" {}name="Horse Racing"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd2fa22 {}id="13" {}name="Horse Racing -
Todays Card" {}nextMarketId="20628919" {}exchangeId="1">,
#<SOAP::Mapping::Object:0x..fdbd2b1d4 {}id="7524" {}name="Ice Hockey"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd26544 {}id="8" {}name="Motor Sport"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd2108a {}id="5412697" {}name="Pelota"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd1c904 {}id="315220" {}name="P0ker"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd18228 {}id="2378961" {}name="Politics"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd12436 {}id="1477" {}name="Rugby League"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd0bb36 {}id="5" {}name="Rugby Union"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd0633e {}id="6422" {}name="Snooker"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbd017b2 {}id="1" {}name="Soccer"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbcfec1a {}id="14" {}name="Soccer -
Fixtures" {}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbcfab10 {}id="10" {}name="Special Bets"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbcf4f30 {}id="2" {}name="Tennis"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbcf053e {}id="998917" {}name="Volleyball"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbcec7fe {}id="2901849" {}name="Water Polo"
{}nextMarketId="0" {}exchangeId="0">,
#<SOAP::Mapping::Object:0x..fdbce701a {}id="451485" {}name="Winter
Sports" {}nextMarketId="0" {}exchangeId="0">]> {}minorErrorCode=""
{}errorCode="OK">>
irb(main):011:0>
--
Posted via http://www.ruby-....

NAKAMURA, Hiroshi

10/11/2007 3:08:00 PM

0

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Peter Aszkenasy wrote:
> Thankyou very very much - that works!

Good.

Can you confirm that the local WSDL editing is needed or not? I'll
contact to the server administrator if the WSDL is wrong.

Regards,
// NaHi
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)

iQEVAwUBRw48PR9L2jg5EEGlAQL6PQf9Ed+eb+yuV9+WU5oYtW6NwGXaM7IyzNFR
w+GsT9zBv6YW0/Js8IZwKGD/0gfaPJj5bGDugBf3/yBktHs1A+0WyVThOKOJocnL
SkuDHzwAW68pB5o49rUI9bgSnDrV/Df+fTNmPMgDdkyNNs0Ks1IDLOaOFQWRpEAj
6zTt2Qs5iyKhJTJqhFh6AamVgMgvQ8+AVJtbCm8W6ngp7FHfFtoa1PiAn4A5xdlY
kjbx5CX2/2hT6YF2wK7o8EMg4VJZK2Gqhl+rtY7LGxTP0ILLx1eWpwm46+owvc6e
+UiXBn00bwhQPYw3oOyY09BR3et1EOSCnpLzNbtzr8MenTK4/vyusw==
=kEGy
-----END PGP SIGNATURE-----

Peter Aszkenasy

10/11/2007 3:14:00 PM

0

Yes - once I downloaded and edited the wsdl file locally as per your
instructions, everything is now working. Using the remote service
(soap4r 1.5.8) without downloading the wsdl file results in the
following error:-

irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> gem "soap4r"
=> true
irb(main):003:0> require "soap/wsdlDriver"
=> true
irb(main):004:0> wsdl =
"https://api.betfair.com/global/v3/BFGlobalSer...
=> "https://api.betfair.com/global/v3/BFGlobalSer...
irb(main):005:0> bfsoapclient = SOAP::WSDLDriverFactory.new(
wsdl).create_rpc_driver
RuntimeError: Unexpected response: #<HTTP::Message::Headers:0xb7a1abf0
@response_status_code=404, @chunked=false, @body_charset=nil,
@request_uri=nil, @header_item=[["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"], ["Server", "TME-GLUE/5.0.2"], ["Date",
"Thu, 11 Oct 2007 15:12:23 GMT"], ["Content-Type",
"text/html;charset=ISO-8859-1"], ["Content-Length", "1510"]],
@body_type=nil, @request_method=nil, @body_date=nil,
@request_via_proxy=nil, @is_request=false, @reason_phrase="cannot find
/var/sportex/betex/as/jboss-4.0.5.GA/server/betex/./tmp/deploy/tmp64997japi-public-ws-global-application-8.4.2-8.ear-contents/api-public-ws-global-5.0-exp.war/BFGlobalService",
@body_size=0, @request_query=nil, @http_version="1.1">
from
/usr/lib/ruby/gems/1.8/gems/httpclient-2.1.2/lib/httpclient.rb:2058:in
`follow_redirect'
from
/usr/lib/ruby/gems/1.8/gems/httpclient-2.1.2/lib/httpclient.rb:1890:in
`get_content'
from
/usr/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/importer.rb:73:in
`fetch'
from
/usr/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/importer.rb:36:in
`import'
from
/usr/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/wsdl/importer.rb:18:in
`import'
from
/usr/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/soap/wsdlDriver.rb:146:in
`import'
from
/usr/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/soap/wsdlDriver.rb:32:in
`initialize'
from (irb):5:in `new'
from (irb):5
--
Posted via http://www.ruby-....

Blake Miller

3/24/2008 4:24:00 PM

0

I installed soap4r as a gem as specified on that soap4r page, and now
when I start my site I get. When I installed soap4r, I DID include
dependencies:

blake-millers-power-mac-g5:trunk bmiller$ script/server
/script/../config/boot.rb:29:Warning: require_gem is obsolete. Use gem
instead.
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:478:in
`const_missing': uninitialized constant XSD::NS::KNOWN_TAG (NameError)
from /usr/local/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/soap/ns.rb:18
from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
from
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in
`require'
from
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:343:in
`new_constants_in'
from
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in
`require'
from
/usr/local/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/soap/generator.rb:10
from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
... 47 levels...
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:61:in `require_gem'
from ./script/../config/boot.rb:29
from script/server:2:in `require'
from script/server:2

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

Blake Miller

3/24/2008 5:17:00 PM

0

I fixed it. I didn't have the gem declaration:
require 'rubygems'
gem 'soap4r'

At the top of environment.rb

Blake Miller wrote:
> I installed soap4r as a gem as specified on that soap4r page, and now
> when I start my site I get. When I installed soap4r, I DID include
> dependencies:
>
> blake-millers-power-mac-g5:trunk bmiller$ script/server
> ./script/../config/boot.rb:29:Warning: require_gem is obsolete. Use gem
> instead.
> /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:478:in
> `const_missing': uninitialized constant XSD::NS::KNOWN_TAG (NameError)
> from /usr/local/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/soap/ns.rb:18
> from
> /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
> `gem_original_require'
> from
> /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
> `require'
> from
> /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in
> `require'
> from
> /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:343:in
> `new_constants_in'
> from
> /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in
> `require'
> from
> /usr/local/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/soap/generator.rb:10
> from
> /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
> `gem_original_require'
> ... 47 levels...
> from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:61:in `require_gem'
> from ./script/../config/boot.rb:29
> from script/server:2:in `require'
> from script/server:2

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