• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Plesk 10.3.1 with CBM - HSBC + SOAP error, corrupt file?

hardlink

New Pleskian
Plesk 10.3.1 with CBM - HSPC + SOAP error, corrupt file?

---------------------------------------------------------------
PRODUCT, VERSION, OPERATING SYSTEM, ARCHITECTURE
Plesk 10.3.1 with CBM 10.3.0, Centos 5.5, X86?

PROBLEM DESCRIPTION AND STEPS TO REPRODUCE
I log into Plesk/CBM and when I go to either
#All Settings->Payment Gateways->Add New Payment Gateway
or
#All Settings->Server Info
I get a fatal error. Having opened the file in question I've lost the initial error, but basically the file is now really badly corrupted and that's causing the problem.

ACTUAL RESULT
The file...
/opt/plesk-billing/lib/billing-libs/HSPC/SoapClient/Abstract.php
Now looks like this...
Abstract-dot-php.jpg

Which, ironically is quite Abstract! Maybe that's why it's called that?

And the error I now get when I try to add new payment gateway is direct from php engine...
Parse error: syntax error, unexpected $end in /opt/plesk-billing/lib/billing-libs/HSPC/SoapClient/Abstract.php on line 53 PHP parse or compilation error in /opt/plesk-billing/lib/billing-libs/HSPC/SoapClient/Abstract.php at 53: syntax error, unexpected $end

EXPECTED RESULT
Obviously I would like to add a payment gateway, or view my server info.

ANY ADDITIONAL INFORMATION
Please could anyone supply contents of a not-corrupt copy of /opt/plesk-billing/lib/billing-libs/HSPC/SoapClient/Abstract.php??
--------------------------------------------------------------
 
Last edited:
Plesk is commercial product therefore all our php files are encrypted. That's why you see this abstract content of php file.
You can try to find corresponding rpm package to which belongs this file with

# rpm -qf /opt/plesk-billing/lib/billing-libs/HSPC/SoapClient/Abstract.php

and try to reinstall this rpm package at least.
 
[root@ns1 ~]# rpm -qf /opt/plesk-billing/lib/billing-libs/HSPC/SoapClient/Abstract.php
plesk-billing-10.3.0-20110630.04

To my knowledge, everything else on the server is working fine (Plesk Panel + CBM).
If I reinstall plesk-billing rpm what problems might I face?

Chris
 
Thank you for your post IgorG!

I have now found the rpm package file at
/root/parallels/BILLING_10.3.0/dist-rpm-RedHat-all-all/packages/plesk-billing-10.3.0-20110630.04.noarch.rpm
That the AutoInstaller had downloaded.

I downloaded the rpm package and used 7Zip to extract the Abstract.php =)

However, having saved myself a re-install nightmare, I still have my original fault which made me open Abstract.php and break it in the first!

When I click into the Business Manger Panel and go to
"All Settings -> Panel Gateways -> Add New Payment Gateway"
It creates an error as below...
An unexpected error occurred. Please go back and retry your operation. If this error persists, contact Parallels support.

Error Message : 'Unable to parse URL'

Error Report #4ea58ccbb3485
Details
--- GENERAL ----------------------------

Description: 'Unable to parse URL' at /opt/plesk-billing/lib/billing-libs/HSPC/SoapClient/Abstract.php:45
Created: 2011-10-24 17:05:31
Action: AddPaymentGateway

--- CALLSTACK --------------------------

#0 SoapClient->__doRequest() called at [/opt/plesk-billing/lib/billing-libs/HSPC/SoapClient/Abstract.php:45]
#1 HSPCSoapClientAbstract->__doRequest() called at [:]
#2 SoapClient->__call() called at [/opt/plesk-billing/lib/billing-libs/HSPC/PaymentProcess.php:15]
#3 HSPCSoapClientCommon->get_plugins() called at [/opt/plesk-billing/lib/billing-libs/HSPC/PaymentProcess.php:15]
#4 HSPCPaymentProcess::getTemplates() called at [/opt/plesk-billing/lib/billing-libs/object_managers/PaymentGatewayManager.php:115]
#5 PaymentGatewayManager::getHSPCModules() called at [/opt/plesk-billing/lib/admin/include/lib-action/paymentgateways/AddPaymentGateway.php:66]
#6 PaymentGatewaySelectModulePage->initControl() called at [/opt/plesk-billing/lib/billing-libs/UI/WizardController.php:27]
#7 UIWizardController->processRequest() called at [/opt/plesk-billing/lib/admin/include/lib-action/paymentgateways/AddPaymentGateway.php:225]
#8 AddPaymentGateway->execute() called at [/opt/plesk-billing/lib/lib-action/baseaction.php:1804]
#9 dispatchAction() called at [/opt/plesk-billing/htdocs/admin/paymentgateways.php:10]
#10 require() called at [/opt/plesk-billing/lib/admin/include/lib-action/default/controllers/IndexController.php:24]
#11 IndexController->indexAction() called at [/usr/local/psa/admin/plib/Zend/Controller/Action.php:503]
#12 Zend_Controller_Action->dispatch() called at [/usr/local/psa/admin/plib/Zend/Controller/Dispatcher/Standard.php:285]
#13 Zend_Controller_Dispatcher_Standard->dispatch() called at [/usr/local/psa/admin/plib/Zend/Controller/Front.php:934]
#14 Zend_Controller_Front->dispatch() called at [/opt/plesk-billing/htdocs/admin/index.php:34]

The same thing happens when I click into "System Info" as well.

Any idea what is going on with that please?
 
Last edited:
This is what I get for the "System Info" page...
An unexpected error occurred. Please go back and retry your operation. If this error persists, contact Parallels support.

Error Message : 'Unable to parse URL'

Error Report #4ea58bd8ac268
Details
--- GENERAL ----------------------------

Description: 'Unable to parse URL' at /opt/plesk-billing/lib/billing-libs/HSPC/SoapClient/Abstract.php:45
Created: 2011-10-24 17:01:28
Action: ShowSystemServerInfo

--- CALLSTACK --------------------------

#0 SoapClient->__doRequest() called at [/opt/plesk-billing/lib/billing-libs/HSPC/SoapClient/Abstract.php:45]
#1 HSPCSoapClientAbstract->__doRequest() called at [:]
#2 SoapClient->__call() called at [/opt/plesk-billing/lib/billing-libs/HSPC/DomainManagerProcess.php:15]
#3 HSPCSoapClientCommon->get_plugins() called at [/opt/plesk-billing/lib/billing-libs/HSPC/DomainManagerProcess.php:15]
#4 HSPCDomainManagerProcess::getTemplates() called at [/opt/plesk-billing/lib/billing-libs/object_managers/BillingRegistrarManager.php:166]
#5 BillingRegistrarManager::getHSPCModules() called at [/opt/plesk-billing/lib/billing-libs/object_managers/BillingRegistrarManager.php:150]
#6 BillingRegistrarManager::loadModules() called at [/opt/plesk-billing/lib/billing-libs/object_managers/BillingRegistrarManager.php:50]
#7 BillingRegistrarManager::getModules() called at [/opt/plesk-billing/lib/billing-libs/object_managers/BillingRegistrarManager.php:62]
#8 BillingRegistrarManager::getNotInstalledModules() called at [/opt/plesk-billing/lib/lib-mbapi/GetModules.php:159]
#9 MBAPI_GetModulesCommand->getRegistrarModules() called at [/opt/plesk-billing/lib/lib-mbapi/GetModules.php:62]
#10 MBAPI_GetModulesCommand->getLocalModules() called at [/opt/plesk-billing/lib/lib-mbapi/GetModules.php:38]
#11 MBAPI_GetModulesCommand->execute() called at [/opt/plesk-billing/lib/lib-mbapi/Command.php:808]
#12 MBAPI_Command->getData() called at [/opt/plesk-billing/lib/lib-mbapi/mbapi.php:214]
#13 dispatchMBAPI() called at [/opt/plesk-billing/lib/admin/include/lib-action/modules/ShowSystemServerInfo.php:26]
#14 ShowSystemServerInfo->execute() called at [/opt/plesk-billing/lib/lib-action/baseaction.php:1804]
#15 dispatchAction() called at [/opt/plesk-billing/htdocs/admin/modules.php:26]
#16 require() called at [/opt/plesk-billing/lib/admin/include/lib-action/default/controllers/IndexController.php:24]
#17 IndexController->indexAction() called at [/usr/local/psa/admin/plib/Zend/Controller/Action.php:503]
#18 Zend_Controller_Action->dispatch() called at [/usr/local/psa/admin/plib/Zend/Controller/Dispatcher/Standard.php:285]
#19 Zend_Controller_Dispatcher_Standard->dispatch() called at [/usr/local/psa/admin/plib/Zend/Controller/Front.php:934]
#20 Zend_Controller_Front->dispatch() called at [/opt/plesk-billing/htdocs/admin/index.php:34]

(And a whole lot more including all my config, am willing to PM if you want to look)
 
I fixed the f***er! Yay me!

Parallels: This may be of desire for your next micro updates?

I couldn't load my System Info page because of this. After much hardcore reading into google results to do with my error, I came accross this website...
http://www.electrictoolbox.com/php-soapclient-unable-parse-url/
...which explains two problems to do with this "unable to parse url" error when using Abstract.php.

First I looked into wsdl cache and deleted the wsdl* files in /tmp. No joy with that.
Then I thought about "specify the full the path" and started to look for the path within config files.

Well peeps, it's specified in...
/opt/plesk-billing/lib/lib-billing/include/config/hspc.ini.
[SERVER]

URL = https://127.0.0.1:12443/HSPC/Plugin/SOAP/WebServices

I spotted the problem after trying to connect to this url with wget at an ssh login. It is https, and delivers a certificate. The problem is that the certificate is based on a hostname (CN=localhost.localdomain) and if you haven't twigged it yet, the url above is an IP address.

I simply changed the "127.0.0.1" to "localhost.localdomain" which matches the certificate, saved the file (forced with ! in vi as file is read only) and all is working again!
[SERVER]

URL = https://localhost.localdomain:12443/HSPC/Plugin/SOAP/WebServices

Yay me =) As you can tell I am quite excited at my lucky success.

Hope this post can help someone else.
 
Last edited:
Back
Top