準備:
在使用soap之前先做好準備工作,在www目錄下建一個文件,在文件下添加如下內容
<?php echo phpinfo();?>運行此文件,看是否有soap這個模組,如果沒有打開php.ini文件,將
extension=php_soap.dll
前面的;去掉,重啟apache。
客戶端:
在www目錄下新建一個php文件,文件名為client.php,在該文件下添加如下內容
<?php $client = new SoapClient(null, array('location' => "http://www.samples.com/Service.php",//服务端的文件位置 'uri'=> "","login" => "outsider","password" => "1234567"//访问服务端文件时的用户名和密码)); $user_info = json_decode($client->user_info());//服务端的方法 $result = $client->show(1,3);//服务端的方法 print_r($user_info->email.".....".$result); ?>服務端:
在www目錄下新建一個php文件,文件名為Service.php,在該文件下添加如下內容
<?php if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) || !($_SERVER['PHP_AUTH_USER'] == 'outsider' && $_SERVER['PHP_AUTH_PW'] == '1234567')) { header('WWW-Authenticate: Basic realm="WEBSERVICE"'); header("HTTP/1.0 401 Unauthorized"); echo "You must enter a valid login ID and password to access this resource/n"; die; }//验证用户名和密码 class fuck{ function show($one, $two) { return $one + $two; } function user_info() { $user_info = array( 'name' => 'Outsider', 'sex' => '男', 'email' => 'outsider@outsiderla.me', 'tel' => '1369*******', ); return json_encode($user_info); } } $server = new SoapServer(null, array('uri' => '', 'location' => 'http://www.samples.com/soapService.php')); $server->setClass('fuck');//注册fuck类 $server->handle(); ?>這樣服務端和客戶端寫完了,現在訪問客戶端,結果為
以上就介紹了php soap用法,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。