准备:
在使用soap之前先做好准备工作,在www目录下建一个文件,在文件下添加如下内容
<?php echo phpinfo();?>运行此文件,看是否有soap这个模块,如果没有打开php.ini文件,将
extension=php_soap.dll
前面的;去掉,重启apache。
客户端:
在www目录下新建一个php文件,文件名为client.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,在该文件下添加如下内容
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();
?>这样服务端和客户端写完了,现在访问客户端,结果为 outsider@outsiderla.me.....4