title: Authentication issue using the QuickBooks Web Connector: Object reference not set to an instance of an object
body: <p>I have a SOAP server to handle connections from the QuickBooks Web Connector. The first method it calls is "authenticate" which correctly returns the data it expects, however it's giving me the error </p>
  
  <pre><code>QBWC1012: Authentication failed due to following error message.
  Object reference not set to an instance of an object.
  </code></pre>
  
  <p>I'm at a loss on this one and there doesn't seem to be a solution on the web. The error message doesn't really give me anything to go on.</p>
  
  <p>If anyone has any idea where I can look for more information about this I'd be grateful.</p>
  
  <p>Here is the WC error log for the issue:</p>
  
  <pre><code>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:&lt;serverVersionRet=""&gt;
  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:&lt;productVersion="2.1.0.30"&gt;
  20140215.17:16:32 UTC    : QBWebConnector.SOAPWebService.do_clientVersion() : Received from clientVersion() following parameter:&lt;clientVersionRet=""&gt;
  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:&lt;userName="[SNIP]"&gt;&lt;password=&lt;MaskedForSecurity&gt;
  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&amp; ticket, String&amp; 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.
  </code></pre>
  
  <p>SOAP response being sent to WC:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
  &lt;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/"&gt;
  &lt;SOAP-ENV:Body&gt;
  &lt;ns1:authenticateResponse xmlns:ns1="http://developer.intuit.com/"&gt;
      &lt;return xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[2]"&gt;
          &lt;item xsi:type="xsd:string"&gt;8d51474324d94e25aa1e6670da584204&lt;/item&gt;
          &lt;item xsi:type="xsd:string"&gt;C:/Path/File.QBW&lt;/item&gt;
      &lt;/return&gt;
  &lt;/ns1:authenticateResponse&gt;
  &lt;/SOAP-ENV:Body&gt;
  &lt;/SOAP-ENV:Envelope&gt;
  </code></pre>