From: dima Date: 2007-08-14T05:34:57+09:00 Subject: Re: accessing SOAP::Mapping::Object 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 to http://groups.google.com/group/soap4r