首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP5.3.10 SoapServer::函数

PHP5.3.10 SoapServer::函数
EN

Stack Overflow用户
提问于 2019-11-27 02:04:38
回答 1查看 287关注 0票数 0

我在Apache2错误日志中得到了这个错误:

PHP Fatal error: Function 'ns1:getClients' doesn't exist

我检查了PHP为什么没有在类Client_API中定位该方法,并且看不到任何课程--这里是index.php文件:

代码语言:javascript
复制
require(INCLUDES_DIR.'BaseService.class.php');
require($interfaceFile);
require($serviceFile); // loads  /var/www/official-productionapi/includes/Client.service.php
//...
$server = new SoapServer(null, array ('uri'=>'', 'trace' => 1,  'connection_timeout' => intval(600)));
$server->setClass($serviceName.CLASS_SUFFIX); // -- e.g. 'Client_API'
$server->handle();

包含缺失方法的类:

代码语言:javascript
复制
class Client_API extends BaseService implements Client_API_Interface
{   
    public function getClients($range = 10, $search, $accessUserID = null)
    {
        if(!$this->Authenticated){
            throw new SoapFault('Server', 'Authorization failed: Wrong username or password');
        }
        $max = 100;
        $range = (int)$range;
        if($range > $max){
            $range = $max;
        }
        $clients = array();
        $db = Database::getInstance();
        if(null !== $accessUserID){
            $sql = "SELECT * FROM clients as c, users_clients_access as uac WHERE c.ClientID = uac.ClientID AND uac.UserID = '".$db->escape($accessUserID)."' AND c.IsShopAssistClient = 0 AND (c.ClientName LIKE '".$db->escape($search)."%' OR c.Tag LIKE '".$db->escape($search)."%') ORDER BY c.ClientName Asc LIMIT $range";

        }else{
            $sql = "SELECT * FROM clients  WHERE IsShopAssistClient = 0 AND (ClientName LIKE '".$db->escape($search)."%' OR Tag LIKE '".$db->escape($search)."%') ORDER BY ClientName Asc LIMIT $range";
        }
        $clientQ = $db->query($sql);
        while($client = $db->fetch_array($clientQ)){
            $arr = array();
            $arr['PClientName'] = $client['ClientName'];
            $arr['PClientTag'] = $client['Tag'];
            $clients[$client['ClientID']] = $arr;
        }
        return $clients;
    }
//...

任何帮助都会很感激,我一直在想,如果它与PHP版本不匹配有关,那么它是在5.3.3版本上工作,而不是在5.3.10版本上。所以只有细微的差别。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-06 00:46:46

我已经能够通过将uri选项设置为'uri'=>'api'来解决这个问题。好像留着空白不是个好主意。它仍然困扰着我,它是如何在Windows上相同版本的PHP上工作的。

这篇文章引导我找到了我的答案:Issues with SOAP in non-WSDL mode

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

https://stackoverflow.com/questions/59061999

复制
相关文章

相似问题

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