TP5融合soap问题

浏览:1444 发布日期:2018/12/14 分类:求助交流 关键字: thinkphp5,webservice,soap
最近因为项目需求,希望能搭建一个php版本的webservice,用了soap扩展,虽然已经搞成功,但是在配合thinkphp5的过程一直出问题。
建立单独文件没有啥问题,代码如下:ini_set("soap.wsdl_cache_enabled", "0");
$server = new SoapServer("SomeService.wsdl");
$server->setClass(Webservice::class);
$server->handle();
class Webservice{
    public function TimesTwo($valueObj) 
    {         
        $valueArr = get_object_vars($valueObj);
        $value = $valueArr["value"];        
        $result = $value * 2;    
        return array("TimesTwoResult" => $result);
    }
    public function Wxfun($valueObj) 
    {         
        $valueArr = get_object_vars($valueObj);    
        $result = $valueArr["myname"]."----".$valueArr["myage"];
        return array("WxfunResult" => $result);
    }
}
但是想融入tp5,代码如下:虽然客户端也能找到wsdl但是调不用了相应的函数,方法一代码如下:namespace app\index\controller;
use think\Controller;
use think\Url;
use think\Cache;
use think\Session;
use think\Request;
class Webservice{
    public function wsdl(){
        ini_set("soap.wsdl_cache_enabled", "0");
        $server = new SoapServer("SomeService.wsdl");
        $server->setClass(Myservice::class);
        $server->handle();
    }
}
class Myservice{    
    public function TimesTwo($valueObj) 
    {         
        $valueArr = get_object_vars($valueObj);
        $value = $valueArr["value"];        
        $result = $value * 2;    
        return array("TimesTwoResult" => $result);
    }
    public function Wxfun($valueObj) 
    {         
        $valueArr = get_object_vars($valueObj);    
        $result = $valueArr["myname"]."----".$valueArr["myage"];
        return array("WxfunResult" => $result);
    }
}
方法二:<?php
ini_set("soap.wsdl_cache_enabled", "0");
$server = new SoapServer("SomeService.wsdl");
$server->setClass(app\index\controller\Webservice::class);
$server->handle();
?>
<?php
namespace app\index\controller;
use think\Controller;
use think\Url;
use think\Cache;
use think\Session;
use think\Request;
class Webservice{
    public function _initialize(){
        parent::_initialize();
    }    
    public function TimesTwo($valueObj) 
    {         
        $valueArr = get_object_vars($valueObj);
        $value = $valueArr["value"];        
        $result = $value * 2;    
        return array("TimesTwoResult" => $result);
    }
    public function Wxfun($valueObj) 
    {         
        $valueArr = get_object_vars($valueObj);    
        $result = $valueArr["myname"]."----".$valueArr["myage"];
        return array("WxfunResult" => $result);
    }
}
?>
方法二会提示找不到函数,求各位了解的人帮忙给出出注意
最佳答案
评论( 相关
后面还有条评论,点击查看>>