[PHP-users 9699] SOAPによる実装

Shinji Hotta php-users@php.gr.jp
Tue, 3 Sep 2002 15:45:24 +0900


はじめまして、堀田です。
初めてメーリングリストに質問させていただきます。

今回、Perlで書いてあるプログラムをPHPからアクセスするためにSOAPを用いて実装
しようとしました。
まず、SOAPをインストールしようとして、CVSによりPEAR開発版を入手しようとし
た。

$ cvs -d:pserver:cvsread@cvs.php.net:/repository login
[phpfi]と入力
$ cvs -d:pserver:cvsread@cvs.php.net:/repository -z4 co pear

ネットから調べたとおりに、上記のコマンド通りに打ったのですが、phpfiと入力し
た時点で、

cvs login: failed to open /root/ .cvspass for reading: No such file or
directory
cvs [login aborted]:fator error:exiting

というエラーが出てうまくいきませんでした。

他にも、PHPSOAPというライブラリを使って実装しようとしたのですが、使い方がよ
く分かりませんでした。

そこで、PHPからSOAPを用いて、他の言語(例えば、Perl)で書いたプログラムを利
用する方法を教えてください。

Perl同士では、うまくいったので、参考として載せておきます。

サーバ側のプログラムrandam.cgi    (これを、Apacheのcgi-binフォルダに入れて
おく。)
#!/usr/bin/perl -w
use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::CGI
   ->dispatch_to('Random')
   ->handle;
package Random;
   sub choose {
         $random = int(rand(9))+1;
   return $random;
   }

クライアント側のプログラムtest_client.pl
#!/usr/bin/perl -w
use SOAP::Lite;
print SOAP::Lite
   -> uri('http://192.168.7.148/Random')        <=これは、名前空間なのであま
り関係ない
   -> proxy('http://192.168.7.148/cgi-bin/random.cgi')
   -> choose()
   -> result;

これを実行すると、1から10までの数字がランダムに返ってくる。

この例では、Perl同士の実装なんですが、これをPerl−PHPで実装できるようにした
いので、
よろしくお願いします。

----------------------------------------
堀田(address:tj0012@mail4.doshisha.ac.jp)
----------------------------------------------