Accessing SOAP::Mapping::Object

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:

<?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



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




</soap:Body>
</soap:Envelope>

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:

#<FetchKnownUnitsResponse:0x102389c
@fetchKnownUnitsResult=
#<SOAP::Mapping::Object:0x8119ce {}Units=#<SOAP::Mapping::Object:
0x81191a {}Unit=#<SOAP::Mapping::Object:0x811802
{}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

On Aug 13, 10:14 pm, Ruby R. [email protected] wrote:

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance
2007-07-24 20:31:31
</soap:Body>
obj.wiredump_dev = STDERR if $DEBUG
#<FetchKnownUnitsResponse:0x102389c

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

On 13 aug, 22:30, dima [email protected] wrote:

EF000000AC023F282007-07-24 19:08:58</

endpoint_url = ARGV.shift
----- end ruby code ----
15:51:34" {}LastRTCValue="2007-07-24
Thanx

Patrick

You should send your question tohttp://groups.google.com/group/soap4r

I just did, thank you