计费模块的 ispConfig soap 客户端函数不存在

ispConfig soap client functions of billing module does not exist

我对 ISPConfig 和 php soap 技术还很陌生。我从下载示例脚本 http://www.ispconfig.org/page/en/addons/billing-module.html

但是当我尝试 add_invoice 它告诉 billing_invoice_add 函数我遇到异常:

//* Create the SOAP client connection
$client = new SoapClient(null, array('location' => $soap_location,
                                 'uri'      => $soap_uri,
                                 'trace' => 1,
                                 'exceptions' => 1));
//* Login as remote user
if($session_id = $client->login($username,$password)) {
    echo 'Logged successfull. Session ID:'.$session_id.'<br />';
}

//* We will create a invouce for the client with the following ID
$client_id = 4;

//* Optional parameters to override the client address or client settings
$params = array();

//* Add the invoice
$invoice_id = $client->billing_invoice_add($session_id, $client_id, $params); # Here I am getting exception.
echo 'InvoiceID: '.$invoice_id.'<br />';

我可以成功登录。

ispConfig 版本:3.0

请建议将发票远程添加到服务器的任何方法。

我可以将它添加到仪表板中。

哦,经过几个小时的调试,我明白了。 该错误是由于 $soap_location 引起的。 $soap_location 位置指向 remote.php

一般来说,当我们为ispconfig 创建任何模块时,模块class 应该继承自remoting class。现在,当我们需要使用模块时,我们需要调用该模块位置。

例如,在我的案例中,计费是一个模块。它继承自 remoting class 模块。所以要获得远程处理和计费功能,我们需要将 soapclient 位置设置为 billing.php,而不是 remoting.php