2009-08-14 15 views
0

私はsoapベースのWebサービスメソッドを呼び出すことによってレポートを取得するためにrubyを使用します。このようなメソッド(soap_driver.method_foo(params))を呼び出すことによって、このタイプのSOAP :: Mapping :: Objectのルビーオブジェクトを取得しています。Ruby SOAP .. soapレスポンスを扱う

私はオブジェクトを検査し、QNamesの束を取得します。これを使用して、オブジェクトから情報を取得しようとします。

soapResponseがWebメソッドから返されたオブジェクトだと考えると、私はsoapResponse ["// some_elem"] ..のようなものを試しました。しかし、私はnilsを得る(根を除いて)。

オブジェクトを解析するにはどうすればよいですか?

おかげ

答えて

0

SOAPオブジェクト内の情報にアクセスする方法は、レスポンスオブジェクトにpublic_methodsを呼び出し、要素にアクセスする方法を探すことであるようです。そのメソッドの戻り値は別のオブジェクトです。もう一度パブリックメソッドなどを見て、希望の値に達するまでこれらの手順を繰り返します。

responseObject.dailyStatisticsRecords.dailyStatisticRecords.dailyStatisticsRecord.totalCommission

1

ない直接の回答が、それはクリーンなRubyのSOAPクライアントであるとして、あなたはhandsoapを見てみることができます。

0

SOAP呼び出し(method1)は、文字列をキーとしてハッシュとしてアクセスできるSOAP :: Mapping :: Objectを返します。ルート要素の名前は、呼び出したメソッドの名前になります。

result = soap_driver.method1(:param1 => 'foo', :param2 => 'bar') 
puts result['method1Result']['field1'] 
puts result['method1Result']['field2'] 
関連する問題