ちょいとした要件でRubyでSOAPクライアントを作りたい!!
調べたところsoap4rが便利らしい。なので早速使ってみる。
gem install soap4r
入れたらアクセス先のWSDLからモック(?)を作る
wsdl2ruby --wsdl 'http://targethost/target?wsdl' --classdef
するとtarget.rbが出来る。中を見るとメソッドなり色々IFが出来てる。
んでそれをrequireする。
調べていたら
wsdl2ruby --wsdl 'http://targethost/target?wsdl' --type client
のほうが便利だ!
クライアントクラスのスケルトン一式全部つくってくれていいな。
そして
`complexobj2soap': nil not allowed: garaData (SOAP::Mapping::MappingError)
なエラーやらなんやらに2日ほど悩まされた・・・・orz
結局サーバー側の問題っぽいところまで突き止めたんだけど
ずっとクライアントのエラーにみえていて非常にこまったよ。。。。