RubyでSOAPクライアントを作る

ちょいとした要件でRubySOAPクライアントを作りたい!!

調べたところ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
結局サーバー側の問題っぽいところまで突き止めたんだけど
ずっとクライアントのエラーにみえていて非常にこまったよ。。。。



しかしそれにしてもSOAP*rubyは情報が少ない。
人気ない技術ってつらいなぁ。。。