Проблема аутентификации с использованием веб-коннектора QuickBooks: ссылка на объект не указывает на экземпляр объекта

У меня есть сервер SOAP для обработки подключений из веб-коннектора QuickBooks. Первый метод, который он вызывает, это «аутентификация», который правильно возвращает ожидаемые данные, однако он дает мне ошибку

QBWC1012: Authentication failed due to following error message.
Object reference not set to an instance of an object.

Я в недоумении по этому поводу, и, похоже, в Интернете нет решения. Сообщение об ошибке на самом деле не дает мне ничего для продолжения.

Если у кого-нибудь есть идеи, где я могу найти дополнительную информацию об этом, я был бы признателен.

Вот журнал ошибок WC для этой проблемы:

20140215.17:15:32 UTC    : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False
20140215.17:15:32 UTC    : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked *********************
20140215.17:15:32 UTC    : QBWebConnector.WebServiceManager.DoUpdate() : Update completed with errors. See log (QWClog.txt) for details.
20140215.17:15:32 UTC    : UpdateThisScheduledApp() : QBWC1031: Update completed with some error. Application has been notified of the error accordingly. See QWCLog for further information.
20140215.17:16:30 UTC    : UpdateThisScheduledApp() : Password management - Started
20140215.17:16:30 UTC    : UpdateThisScheduledApp() : Password management - Ended
20140215.17:16:30 UTC    : UpdateThisScheduledApp() : Performing SCHEDULED UPDATE for application = PManager SOAP
20140215.17:16:30 UTC    : QBWebConnector.RegistryManager.getUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock = FALSE
20140215.17:16:30 UTC    : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to True
20140215.17:16:30 UTC    : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session locked *********************
20140215.17:16:30 UTC    : QBWebConnector.SOAPWebService.instantiateWebService() : Initiated connection to the following application.
20140215.17:16:30 UTC    : QBWebConnector.SOAPWebService.instantiateWebService() : AppName: PManager SOAP
20140215.17:16:30 UTC    : QBWebConnector.SOAPWebService.instantiateWebService() : AppUniqueName (if available): PManager SOAP
20140215.17:16:30 UTC    : QBWebConnector.SOAPWebService.instantiateWebService() : AppURL: https://[SNIP]/pmanager/soapserver.php
20140215.17:16:30 UTC    : QBWebConnector.SOAPWebService.do_serverVersion() : *** Calling serverVersion().
20140215.17:16:31 UTC    : QBWebConnector.SOAPWebService.do_serverVersion() : Received from serverVersion() following parameter:<serverVersionRet="">
20140215.17:16:31 UTC    : QBWebConnector.SOAPWebService.do_serverVersion() : This application sent a null for server version. Allowing update operation.
20140215.17:16:31 UTC    : QBWebConnector.SOAPWebService.do_clientVersion() : *** Calling clientVersion() with following parameter:<productVersion="2.1.0.30">
20140215.17:16:32 UTC    : QBWebConnector.SOAPWebService.do_clientVersion() : Received from clientVersion() following parameter:<clientVersionRet="">
20140215.17:16:32 UTC    : QBWebConnector.SOAPWebService.do_clientVersion() : This application agrees with the current version of QBWebConnector. Allowing update operation.
20140215.17:16:32 UTC    : QBWebConnector.SOAPWebService.do_authenticate() : Authenticating to application 'PManager SOAP', username = '[SNIP]'
20140215.17:16:32 UTC    : QBWebConnector.SOAPWebService.do_authenticate() : *** Calling authenticate() with following parameters:<userName="[SNIP]"><password=<MaskedForSecurity>
20140215.17:16:33 UTC    : QBWebConnector.SOAPWebService.do_authenticate() : QBWC1012: Authentication failed due to following error message.
Object reference not set to an instance of an object.
More info:
StackTrace =    at QBWebConnector.WebService.do_authenticate(String& ticket, String& companyFileName)
Source = QBWebConnector
20140215.17:16:33 UTC    : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False
20140215.17:16:33 UTC    : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked *********************
20140215.17:16:33 UTC    : QBWebConnector.WebServiceManager.DoUpdate() : Update completed with errors. See log (QWClog.txt) for details.
20140215.17:16:33 UTC    : UpdateThisScheduledApp() : QBWC1031: Update completed with some error. Application has been notified of the error accordingly. See QWCLog for further information.

Ответ SOAP отправляется в WC:

<?xml version="1.0" encoding="ISO-8859-1"?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:authenticateResponse xmlns:ns1="http://developer.intuit.com/">
    <return xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[2]">
        <item xsi:type="xsd:string">8d51474324d94e25aa1e6670da584204</item>
        <item xsi:type="xsd:string">C:/Path/File.QBW</item>
    </return>
</ns1:authenticateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

person Ian    schedule 15.02.2014    source источник
comment
Можете ли вы опубликовать свой код? Или ответ SOAP, который вы возвращаете?   -  person Keith Palmer Jr.    schedule 16.02.2014


Ответы (2)


Вероятно, немного поздно, но на случай, если это поможет кому-то еще, у меня была аналогичная проблема, и изменение стиля с «RPC» на «DocWrapped» в файле QWC устранило проблему.

ОБНОВЛЕНИЕ 5/2017:

Проблема ОП была связана с несоответствием номера версии, но у меня были те же симптомы, когда проблема была связана с несоответствием стиля в конфигурации QWC. Согласно QBWC_proguide правильная версия будет зависеть от настройка сервера, но допустимые параметры включают: «Документ» (по умолчанию), «DocWrapped» и «RPC».

Для моей настройки Rails работал либо «Документ», либо «DocWrapped».

После изменения этой конфигурации удалите и снова добавьте приложение Web Connector.

person joe    schedule 07.07.2014
comment
Это больше похоже на комментарий, чем на ответ... Можете ли вы немного расширить это? - person apaul; 08.07.2014

Я должен был обновить это раньше... Проблема оказалась в номере версии, я пытался использовать более старую версию, которая не поддерживала некоторые функции. Изменение версии в вызове WC решило это.

person Ian    schedule 08.07.2014
comment
какой номер версии? Какой звонок в туалет? - person winduptoy; 01.11.2016
comment
Ненавижу быть могильщиком, но, пожалуйста, помогите направить потерянные корабли в море. - person Wilhelm Erasmus; 20.04.2021
comment
Не уверен, что ты спрашиваешь? - person Ian; 20.04.2021