QuickBooks Consolibyte PHP SDK (веб-коннектор) - аутентификация не удалась - PullRequest
0 голосов
/ 19 марта 2020

Я использую Consolibyte PHP Dev Kit для Quick Books Desktop и получаю ошибку аутентификации со следующим сообщением: 20200319.12: 39: 20 UT C: QBWebConnector.SOAPWebService.do_authenticate (): QBWC1012: Не удалось выполнить аутентификацию на следующее сообщение об ошибке. Запрос не выполнен с состоянием HTTP 403: запрещено.

.QW C FILE:

<?xml version="1.0"?>
<QBWCXML>
	<AppName>Local Netexem</AppName>
	<AppID></AppID>
	<AppURL>https://bitsclan-solutions.com/quickbooks/qbwc</AppURL>
	<AppDescription>Netexem Quickbooks</AppDescription>
	<AppSupport>https://bitsclan-solutions.com/quickbooks/qbwc</AppSupport>
	<UserName>username</UserName>
	<OwnerID>{b7177e65-2f70-a214-214c-aed509cd911e}</OwnerID>
	<FileID>{ba656061-e8a4-0a24-95fa-aa6c74b5f6b9}</FileID>
	<QBType>QBFS</QBType>
	<Notify>false</Notify>
	<Scheduler>
		<RunEveryNMinutes>1</RunEveryNMinutes>
	</Scheduler>
	<IsReadOnly>false</IsReadOnly>
</QBWCXML>

QW C LOG:

20200322.23:31:33 UTC	: QBWebConnector.WebServiceManager.DoUpdateSelected() : updateWS() for application = 'Local Netexem' has STARTED
20200322.23:31:33 UTC	: QBWebConnector.RegistryManager.getUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock = FALSE
20200322.23:31:33 UTC	: QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to True
20200322.23:31:33 UTC	: QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session locked *********************
20200322.23:31:33 UTC	: QBWebConnector.SOAPWebService.instantiateWebService() : Initiated connection to the following application.
20200322.23:31:33 UTC	: QBWebConnector.SOAPWebService.instantiateWebService() : AppName: Local Netexem
20200322.23:31:33 UTC	: QBWebConnector.SOAPWebService.instantiateWebService() : AppUniqueName (if available): Local Netexem
20200322.23:31:33 UTC	: QBWebConnector.SOAPWebService.instantiateWebService() : AppURL: https://bitsclan-solutions.com/quickbooks/qbwc
20200322.23:31:33 UTC	: QBWebConnector.SOAPWebService.do_serverVersion() : *** Calling serverVersion().
20200322.23:31:34 UTC	: QBWebConnector.SOAPWebService.do_serverVersion() : Actual error received from web service for serverVersion call: <Client found response content type of 'text/xml;charset=UTF-8', but expected 'text/xml'.
The request failed with an empty response.>. For backward compatibility of all webservers, QBWC will catch all errors under app-not-supporting-serverVersion.
20200322.23:31:34 UTC	: QBWebConnector.SOAPWebService.do_serverVersion() : This application does not contain support for serverVersion. Allowing update operation for backward compatibility.
20200322.23:31:34 UTC	: QBWebConnector.SOAPWebService.do_clientVersion() : *** Calling clientVersion() with following parameter:<productVersion="2.3.0.36">
20200322.23:31:34 UTC	: QBWebConnector.SOAPWebService.updateWS() : Actual error received from web service for clientVersion call: <Client found response content type of 'text/xml;charset=UTF-8', but expected 'text/xml'.
The request failed with an empty response.>. For backward compatibility of all webservers, QBWC will catch all errors under app-not-supporting-clientVersion.
20200322.23:31:34 UTC	: QBWebConnector.SOAPWebService.do_clientVersion() : This application does not contain support for clientVersion. Allowing update operation for backward compatibility.
20200322.23:31:34 UTC	: QBWebConnector.SOAPWebService.do_authenticate() : Authenticating to application 'Local Netexem', username = 'username'
20200322.23:31:34 UTC	: QBWebConnector.SOAPWebService.do_authenticate() : *** Calling authenticate() with following parameters:<userName="username"><password=<MaskedForSecurity>
20200322.23:31:35 UTC	: QBWebConnector.SOAPWebService.do_authenticate() : QBWC1012: Authentication failed due to following error message.
Client found response content type of 'text/xml;charset=UTF-8', but expected 'text/xml'.
The request failed with an empty response.
More info:
StackTrace =    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at QBWebConnector.localhost.WCWebServiceDoc.authenticate(String strUserName, String strPassword)
   at QBWebConnector.localhost.WCWebService.authenticate(String strUserName, String strPassword)
   at QBWebConnector.SOAPWebService.authenticate(String UserName, String Password)
   at QBWebConnector.WebService.do_authenticate(String& ticket, String& companyFileName)
Source = System.Web.Services
20200322.23:31:35 UTC	: QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False
20200322.23:31:35 UTC	: QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked *********************
20200322.23:31:35 UTC	: QBWebConnector.WebServiceManager.DoUpdateSelected() : Update completed with errors. See log (QWClog.txt) for details.

1 Ответ

1 голос
/ 19 марта 2020

Это: The request failed with HTTP status 403: Forbidden.

Означает, что у вас есть:

  1. Неправильно настроенный веб-сервер, который отклоняет POST запросов на ваш URL
  2. Сценарий PHP, который отправляет заголовок 403 Forbidden (возможно, через https://www.php.net/header)

Исправьте ваш код или конфигурацию вашего веб-сервера.

Это то, что вы получите, если попытаетесь POST перейти по URL:

enter image description here

Вы должны узнать, если это 403 Forbidden страница, которую создает ваш код (может быть, вы используете фреймворк, такой как Laravel или CodeIgnitor или что-то, что генерирует это?) или что-то, что ваш веб-хост производит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...