[php][WebAPI]WebserviceX.NETのTranlation Engineが動いてくれない

Posted under php by uechoco on 水曜日 21 11月 2007 at 16 : 20 : 50

翻訳のWebAPIを探していて、1つみつけたのが、WebserviceX.NETTranslate Engineです。

SOAPとかHTML(GET / POST)に対応しているはずです。んで、私はSOAPなんて使ったことも内容も知らないのですが、下記のコードでレスポンスが帰ってきたので、これでいいのかなっと。間違ってたら指摘してもらえると助かります。ちなみにphpマニュアルにも書いてあるとおり、SoapClientクラスなどのSOAP関数は、SOAP拡張モジュールを必要とするので、phpコンパイル時に「--enable-soap」オプションが必要になります。

PHP:
  1. define('WSDL', 'http://www.webservicex.net/TranslateService.asmx?wsdl');
  2.  
  3. $soap_client = new SoapClient(WSDL);
  4. $ret = $soap_client->Translate(
  5.   'EnglishTOJapanese',
  6.   'This is a pen.'
  7. );
  8.  
  9. print_r($ret);

んで、返ってきた結果のprint_rが、

CODE:
  1. stdClass Object (
  2.   [TranslateResult] => Value cannot be null. Parameter name: translationmode
  3. )

どうやら、translationmodeというパラメータがnullらしいのですが、Translate関数の定義は

string Translate(string $LanguageMode, string $Text)

なので、translationmodeというパラメータを送ることはできないはずなのですが・・・

もう少しググってみたら、いくつかのサイトで「ほとんどレスポンスが帰ってこない」「ほとんどエラーだけどたまに翻訳結果が返ってくる」といった記述がちらほら。これでは、私が書いたプログラムが正しいのかどうかも良くわからないです。成功していたとしてもこれでは実用に耐えられなそうですね。

今回はあきらめるかな。


« 前ページへ

Copyright © 2012 うえちょこ@ぼろぐ. WP Theme created by Web Top.