Я использую PHP Dev Kit от Consolibyte для Quick Books, у меня установлена виртуальная машина с Quick Books, а также веб-разъем для Quick Books. Я могу успешно добавить свою службу SOAP к веб-соединителю, но каждый раз, когда я запрашиваю его для обновления, я получаю ошибку аутентификации со следующим сообщением:
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
Куда мне обратиться, чтобы получить больше информации о причинах?
Похоже, что я прошел мою первоначальную ошибку, но теперь я получаю неверное имя пользователя или пароль.
ns1:authenticateResponse Invalid username or password, try again.
Таблица QuickBooks содержит имя пользователя и пароль прямо из примера, и именно это я использую в веб-коннекторе. Где хорошее место для размещения логов, чтобы я мог понять, почему фреймворк не проходит аутентификацию?
Ниже находится файл журнала:
QBWC1012: Authentication failed due to following error message.
Client found response content type of 'text/html; charset=UTF-8', but expected 'text/xml'.
The request failed with the error message:
--
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Phoenix Courier:
QuickBooks </title>
<link href="/favicon.ico" type="image/x-icon" rel="icon"/><link href="/favicon.ico" type="image/x-icon" rel="shortcut icon"/>
<link rel="stylesheet" href="/font/fa/master.css"/> <link rel="stylesheet" href="/font/open-sans/styles.css"/> <link rel="stylesheet" href="/font/open-sans-condensed/styles.css"/> <link rel="stylesheet" href="/font/oswald/styles.css"/>
<link rel="stylesheet" href="/css/base.css"/> <link rel="stylesheet" href="/css/style.css"/> <link rel="stylesheet" href="/css/phoenix.css"/>
<script src="/js/jquery-3.3.1.min.js"></script>
<script src="/js/psUserInterface.js"></script></head>
<body>
<div class="page-wrap">
<div class="container clearfix">
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://developer.intuit.com/">
<SOAP-ENV:Body><ns1:authenticateResponse><ns1:authenticateResult><ns1:string>67481fd9-4703-fae4-6d81-0ccbf770b4fa</ns1:string>
<ns1:string></ns1:string>
</ns1:authenticateResult></ns1:authenticateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope> </div>
</div>
<script>
PS_UI.navigation.initNavActive();
PS_UI.navigation.desktop.initNavArrows();
</script>
</body>
</html>
--.
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
Вот мой файл QWC:
<?xml version="1.0"?>
<QBWCXML>
<AppName>My QuickBooks SOAP Server</AppName>
<AppID></AppID>
<AppURL>https://dispatch.sharp.com/</AppURL>
<AppDescription>An example QuickBooks SOAP Server</AppDescription>
<AppSupport>https://dispatch.phoenixcourier.com/</AppSupport>
<UserName>quickbooks</UserName>
<OwnerID>{57F3B9B6-86F1-4FCC-B1FF-166DE1813D20}</OwnerID>
<FileID>{57F3B9B6-86F1-4FCC-B1FF-966DE1813D20}</FileID>
<QBType>QBFS</QBType>
<Notify>false</Notify>
<Scheduler>
<RunEveryNMinutes>10</RunEveryNMinutes>
</Scheduler>
<IsReadOnly>false</IsReadOnly>
</QBWCXML>