WebServiceX.net

翻訳APIを提供しているWebサービスを探していたら、「WebServiceX.net」というサービスに行き当たりました。Rubyでちょっとだけ試してみました。

http://www.webservicex.net/WS/WSDetails.aspx?WSID=63


irb(main):001:0> require 'soap/wsdlDriver'
=> true

irb(main):002:0> wsdl = 'http://www.webservicex.net/TranslateService.asmx?WSDL'
=> "http://www.webservicex.net/TranslateService.asmx?WSDL"

irb(main):003:0> serv = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
ignored element: {http://schemas.xmlsoap.org/wsdl/http/}binding
ignored element: {http://schemas.xmlsoap.org/wsdl/http/}operation
ignored element: {http://schemas.xmlsoap.org/wsdl/http/}urlEncoded
ignored element: {http://schemas.xmlsoap.org/wsdl/mime/}mimeXml
ignored element: {http://schemas.xmlsoap.org/wsdl/mime/}content
ignored element: {http://schemas.xmlsoap.org/wsdl/http/}address
=> #http://www.webservicex.net/translatese>

irb(main):004:0> serv.generate_explicit_type = true
=> true

irb(main):005:0> hash = {:LanguageMode => "EnglishTOJapanese", :Text => "good morning"}
=> {:Text=>"good morning", :LanguageMode=>"EnglishTOJapanese"}

irb(main):006:0>serv.Translate(hash)
=> #

あれ?再度試してみると、今度は違うエラーが。

irb(main):007:0> serv.Translate(hash)
=> #
何か間違えたかなと思い、このAPIを使っていそうなサイトを利用してみましたが、同じようなエラーが表示されていたので、向こうのサービスの問題のようです。
しばらくしてもう一度試してみたところ、

irb(main):008:0> serv.Translate(hash)
=> #
翻訳できました。このエラー頻度ですと、実用は難しそうです…