您好我正在尝试使用粗麻布创建一个Web服务,但即使是最基本的示例,我似乎也没有任何运气。
这是我的客户
<?php
include_once './Hessian/HessianClient.php';
$testurl = 'http://localhost/HessianPHP/server.php';
$proxy = new HessianClient($testurl);
echo $proxy->div(2,5);
?>
这是我的服务器代码:
<?php
include_once 'Hessian/HessianService.php';
$service = new HessianService(new Math());
$service->handle();
?>
class Math {
function add($n1,$n2) {
return $n1+$n2;
}
function sub($n1,$n2) {
return $n1-$n2;
}
function mul($n1,$n2) {
return $n1*$n2;
}
function div($n1,$n2) {
return $n1/$n2;
}
}
当我运行此代码时,我收到此错误:
致命错误:未捕获异常'HessianFault',并在E:\ Program Files \ xampp \ htdocs \ HessianPHP \ Hessian \ Hessian2 \ Hessian2ServiceParser.php中显示消息'代码未被识别为顶级元素':38堆栈跟踪:#0 E :\ Program Files文件\ XAMPP \ htdocs中\ HessianPHP \海森\ HessianClient.php(74):Hessian2ServiceParser-&GT; parseTop()#1 E:\ Program Files文件\ XAMPP \ htdocs中\ HessianPHP \海森\ HessianClient.php(111): HessianClient-&gt; _ hessianCall('div',Array)#2 E:\ Program Files \ xampp \ htdocs \ HessianPHP \ client.php(5):HessianClient-&gt; _call('div' ,数组)#3 E:\ Program Files \ xampp \ htdocs \ HessianPHP \ client.php(5):HessianClient-&gt; div(2,5)#4 {main}抛出E:\ Program Files \ xampp \ htdocs第38行的\ HessianPHP \ Hessian \ Hessian2 \ Hessian2ServiceParser.php
我在这里做错了什么?
答案 0 :(得分:1)
<?php
require_once 'HessianPHP/src/HessianClient.php';
$testurl = 'http://path/to/mathservice.php' ;
$proxy = &new HessianClient($testurl);
try{
echo '<pre>';
print_r($proxy->add(1 , 3));
echo '</pre>';
} catch (Exception $ex){
echo 'Exception: ' . $ex->getMessage();
}
<?php
include_once 'HessianPHP/src/HessianService.php';
include_once 'Math.php';
$service = new HessianService(new Math());
$service->handle();
<?php
class Math{
function add($n1,$n2) {
return $n1+$n2;
}
function sub($n1,$n2) {
return $n1-$n2;
}
function mul($n1,$n2) {
return $n1*$n2;
}
function div($n1,$n2) {
return $n1/$n2;
}
}
希望它有所帮助。我认为你的代码中存在一些语法错误(你编写没有php标签的Math类的方式很奇怪)。如果你得到空白屏幕,那么检查你的日志文件(error.log)。