QuickBooks Web 连接器总是 returns 404 错误
QuickBooks Web Connector always returns a 404 error
我已经创建了一个 WCF 服务端点供我的 QBWC 调用。我接触过 HTTPS 并实施了合同。
- 客户端版本
- 验证
- 关闭连接
- 连接错误
- getLastError
- receiveResponseXML
- 发送请求XML
- 服务器版本
连接器具有以下 QWC 文件:
<?xml version="1.0"?>
<QBWCXML>
<AppName>QuickBooks Integrator</AppName>
<AppID></AppID>
<AppURL>https://<URL>/QuickBookConnector.svc</AppURL>
<AppDescription>Used to integrate with Quickbooks install</AppDescription>
<AppSupport>http://<URL></AppSupport>
<UserName>depQB</UserName>
<OwnerID>{GUID}</OwnerID>
<FileID>{GUID}</FileID>
<QBType>QBFS</QBType>
<Scheduler>
<RunEveryNMinutes>2</RunEveryNMinutes>
</Scheduler>
<IsReadOnly>false</IsReadOnly>
<Style>Document</Style>
<AuthFlags>0xF</AuthFlags>
</QBWCXML>
连接器启动并调用 serverVersion、cientVersion 然后进行身份验证。验证后它说 "Authentication failed." 但是在网络服务中我什至没有检查用户名和密码是的。这就是我在日志中得到的。
20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_serverVersion() : * Calling serverVersion().
20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_serverVersion() : Actual error received from web service for serverVersion call: . For backward compatibility of all webservers, QBWC will catch all errors under app-not-supporting-serverVersion.
20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_serverVersion() : This application does not contain support for serverVersion. Allowing update operation for backward compatibility.
20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_clientVersion() : Calling clientVersion() with following parameter:
20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.updateWS() : Actual error received from web service for clientVersion call: . For backward compatibility of all webservers, QBWC will catch all errors under app-not-supporting-clientVersion.
20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_clientVersion() : This application does not contain support for clientVersion. Allowing update operation for backward compatibility.
20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_authenticate() : Authenticating to application 'DEP QuickBooks Integrator', username = 'depQB'
20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_authenticate() : Calling authenticate() with following parameters:
20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_authenticate() : QBWC1012: ***Authentication failed due to following error message.
The request failed with HTTP status 404: Not Found.*
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
现在它说它收到 404 错误。但是,我可以采用与 QWC 文件的 "AppURL" 部分完全相同的 URL 并将其放入浏览器并加载服务页面。所以浏览器可以访问服务 URL 但 QBWC 不能?
有什么想法吗?
是我自己想念的。我们所有的服务都由一个激活器包装,这对其他人来说意味着调用不需要服务和操作合同。但是 QBWC 不喜欢这样,并在屏幕上报告 "Authentication Failed" 因为它找不到任何方法。
由于这方面的文档有限,我想为其他遇到此问题的人提供答案。不要忘记这些人。
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.6.57.0")]
[ServiceContract(Namespace = "http://developer.intuit.com/")]
[System.Web.Services.WebServiceBindingAttribute(Name = "QuickBookConnectorService", Namespace = "http://developer.intuit.com/")]
[OperationContract(Action = "http://developer.intuit.com/clientVersion")]
[XmlSerializerFormat(Style = OperationFormatStyle.Document, Use = OperationFormatUse.Literal)]
它们与旧 ASMX 方法与 WCF 中提供的示例不同。
我已经创建了一个 WCF 服务端点供我的 QBWC 调用。我接触过 HTTPS 并实施了合同。
- 客户端版本
- 验证
- 关闭连接
- 连接错误
- getLastError
- receiveResponseXML
- 发送请求XML
- 服务器版本
连接器具有以下 QWC 文件:
<?xml version="1.0"?>
<QBWCXML>
<AppName>QuickBooks Integrator</AppName>
<AppID></AppID>
<AppURL>https://<URL>/QuickBookConnector.svc</AppURL>
<AppDescription>Used to integrate with Quickbooks install</AppDescription>
<AppSupport>http://<URL></AppSupport>
<UserName>depQB</UserName>
<OwnerID>{GUID}</OwnerID>
<FileID>{GUID}</FileID>
<QBType>QBFS</QBType>
<Scheduler>
<RunEveryNMinutes>2</RunEveryNMinutes>
</Scheduler>
<IsReadOnly>false</IsReadOnly>
<Style>Document</Style>
<AuthFlags>0xF</AuthFlags>
</QBWCXML>
连接器启动并调用 serverVersion、cientVersion 然后进行身份验证。验证后它说 "Authentication failed." 但是在网络服务中我什至没有检查用户名和密码是的。这就是我在日志中得到的。
20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_serverVersion() : * Calling serverVersion(). 20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_serverVersion() : Actual error received from web service for serverVersion call: . For backward compatibility of all webservers, QBWC will catch all errors under app-not-supporting-serverVersion. 20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_serverVersion() : This application does not contain support for serverVersion. Allowing update operation for backward compatibility. 20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_clientVersion() : Calling clientVersion() with following parameter: 20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.updateWS() : Actual error received from web service for clientVersion call: . For backward compatibility of all webservers, QBWC will catch all errors under app-not-supporting-clientVersion. 20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_clientVersion() : This application does not contain support for clientVersion. Allowing update operation for backward compatibility. 20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_authenticate() : Authenticating to application 'DEP QuickBooks Integrator', username = 'depQB' 20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_authenticate() : Calling authenticate() with following parameters: 20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_authenticate() : QBWC1012: ***Authentication failed due to following error message. The request failed with HTTP status 404: Not Found.* 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
现在它说它收到 404 错误。但是,我可以采用与 QWC 文件的 "AppURL" 部分完全相同的 URL 并将其放入浏览器并加载服务页面。所以浏览器可以访问服务 URL 但 QBWC 不能?
有什么想法吗?
是我自己想念的。我们所有的服务都由一个激活器包装,这对其他人来说意味着调用不需要服务和操作合同。但是 QBWC 不喜欢这样,并在屏幕上报告 "Authentication Failed" 因为它找不到任何方法。
由于这方面的文档有限,我想为其他遇到此问题的人提供答案。不要忘记这些人。
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.6.57.0")]
[ServiceContract(Namespace = "http://developer.intuit.com/")]
[System.Web.Services.WebServiceBindingAttribute(Name = "QuickBookConnectorService", Namespace = "http://developer.intuit.com/")]
[OperationContract(Action = "http://developer.intuit.com/clientVersion")]
[XmlSerializerFormat(Style = OperationFormatStyle.Document, Use = OperationFormatUse.Literal)]
它们与旧 ASMX 方法与 WCF 中提供的示例不同。