From: Ruby Rookie Date: 2007-08-14T17:20:02+09:00 Subject: Re: accessing SOAP::Mapping::Object On 13 aug, 22:30, dima wrote: > On Aug 13, 10:14 pm, Ruby Rookie wrote: > > > > > Hi, > > > I just started with SOAP and Ruby and after one day trying to get it > > working I'am now stuck at getting the response into useable variables > > i.e. accessing the SOAP::Mapping::Object. > > I used soap4r and wdsl2ruby for generating the client code > > > The bare SOAP XML result is: > > > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > > > > > > > > > > EF000000AC023F282007-07-24 19:08:58 > LastConnect> > > 2007-07-23 10:34:48 > > 2007-07-24 15:51:34 > > 2007-07-24 20:31:31 > > 2007-07-23 10:05:14 > > 2007-07-24 19:09:03 > > 27 > > 0 > > 23 > > 0 > > > > > > > > > > > > > > > In ruby > > --- begin ruby code ------ > > #!/usr/bin/env ruby -d > > # issue the command to the server > > endpoint_url = ARGV.shift > > obj = DefaultSoap.new(endpoint_url) > > > # run ruby with -d to see SOAP wiredumps. > > obj.wiredump_dev = STDERR if $DEBUG > > # > > SoapResponse = obj.fetchKnownUnits(:username => 'Me', :challenge => > > 'Secret') > > > pp SoapResponse > > > ----- end ruby code ---- > > > The result on screen is: > > > # > @fetchKnownUnitsResult= > > # > 0x81191a {}Unit=# > {}Id="EF000000AC023F28" {}LastConnect="2007-07-24 > > 19:08:58" {}LastClear="2007-07-23 > > 10:34:48" {}LastDisconnect="2007-07-24 > > 15:51:34" {}LastRTCValue="2007-07-24 > > 20:31:31" {}LastLogStart="2007-07-23 > > 10:05:14" {}LastLocalTime="2007-07-24 > > 19:09:03" {}LastRecordCount="27" {}LastVersion="0" {}LastRevision="23" {}LastErrorStatus="0">>>> > > > Can someone please give the code to capture the value foe the unit Id > > into a variable. > > > I expected it to be something like: > > my_unit_id = SoapResponse['fetchKnownUnitsResult']['Units'][0]['Id'] > > > Thanx > > > Patrick > > You should send your question tohttp://groups.google.com/group/soap4r I just did, thank you