From: Brian Candler Date: 2010-03-16T18:21:32+09:00 Subject: Re: Wsdl - Webservice Client Axel Fuchs wrote: > I > can see all the data in the wire dump. But how can I get to it using one > of these methods? There must be a way to extract the information. It's simply the result from the method call, which is an object of class GetTodaysBirthdaysResponse. Unfortunately, soap4r can't break it down further for you, because the stupid WSDL doesn't say any more than that it contains a getTodaysBirthdaysResult which is simply a collection of any XML elements (note ) So this is essentially untyped XML. soap4r can't build you an OO interface into this; you just have to dig down into the returned XML for yourself, like this. $ irb --simple-prompt >> require 'rubygems' => true >> gem 'soap4r' => true >> require 'defaultDriver' => true >> obj = DeadOrAliveSoap.new => #> >> obj.wiredump_dev = STDERR => # >> result = obj.getTodaysBirthdays(nil) Wire dump: ... => #> result.methods - methods => ["getTodaysBirthdaysResult", "getTodaysBirthdaysResult="] >> br = result.getTodaysBirthdaysResult => #> br.methods - methods => ["diffgram", "diffgram=", "__xmlele_any", "set_any", "schema", "schema="] >> br.diffgram => #> br.diffgram['NewDataSet'] => #> br.diffgram['NewDataSet']['Table'][0] => # >> br.diffgram['NewDataSet']['Table'][0]['FullName'] => "Cunningham, Walter" >> So despite all the complexity of SOAP and WSDL, it doesn't help you at all. Why don't you suggest that they change to JSON instead :-) HTH, Brian. -- Posted via http://www.ruby-forum.com/.