首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现Hessian web服务

实现Hessian web服务
EN

Stack Overflow用户
提问于 2013-06-11 18:36:06
回答 1查看 891关注 0票数 0

嗨,我正在尝试用他的语言来创建一个web服务,但是我似乎在实现最基本的例子方面没有任何运气。

这是我的客户

代码语言:javascript
复制
<?php
include_once './Hessian/HessianClient.php';
$testurl = 'http://localhost/HessianPHP/server.php';
$proxy = new HessianClient($testurl);

    echo $proxy->div(2,5); 

?>

这是我的服务器代码:

代码语言:javascript
复制
<?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;    
  }
}

当我运行这段代码时,我会得到以下错误:

致命错误:E:\ProgramHessian2ServiceParser->parseTop()# Files\xampp\htdocs\HessianPHP\Hessian\HessianClient.php(74):Files\xampp\htdocs\HessianPHP\Hessian\HessianClient.php(74):Hessian2ServiceParser->parseTop() #1E:\Program>_hessianCall(‘div’,数组)#2E:\Program( 5):HessianClient->_call('div',Array) #3E:\Program(5):HessianClient->div(2,5)# {main} {main}抛入第38行的E:\ProgramFiles\xampp\htdocs\HessianPHP\Hessian\Hessian2\Hessian2ServiceParser.php

我在这里做错什么了?

EN

回答 1

Stack Overflow用户

发布于 2014-04-15 06:31:05

index.php (客户)

代码语言:javascript
复制
<?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();
    }

服务器( mathservice.php )

代码语言:javascript
复制
<?php

include_once 'HessianPHP/src/HessianService.php';
include_once 'Math.php';

$service = new HessianService(new Math());
$service->handle();

Math.php

代码语言:javascript
复制
<?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 )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17051324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档