0

我对 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

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

我可以在仪表板中添加它。

4

1 回答 1

0

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

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

例如,在我的情况下,计费是一个模块。它继承自远程类模块。所以要同时获得remoting和billing的功能,我们需要将soapclient loation设为billing.php,而不是remoting.php

于 2015-11-24T08:45:19.553 回答