[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)
----------------------------------------------