QuickBooks Web Connector始终返回404错误

时间:2015-08-11 18:24:57

标签: quickbooks

我为我的QBWC创建了一个WCF服务端点来调用。我已经通过HTTPS接触并实施了合同。

  • clientVersion
  • 身份验证
  • closeConnection
  • connectionError
  • GetLastError函数
  • receiveResponseXML
  • sendRequestXML
  • serverVersion

连接器具有以下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然后进行身份验证。在进行身份验证后,它说&#34;身份验证失败。&#34;但是在Web服务中我甚至没有检查用户名和密码是。这就是我在日志中得到的结果。

  

20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_serverVersion(): *调用serverVersion()。   20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_serverVersion():从serverVersion调用的Web服务收到的实际错误:。为了向后兼容所有Web服务器,QBWC将捕获app-not-supported-serverVersion下的所有错误。   20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_serverVersion():此应用程序不包含对serverVersion的支持。允许更新操作以实现向后兼容。   20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_clientVersion(): 使用以下参数调用clientVersion():   20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.updateWS():从clientVersion调用的Web服务收到的实际错误:。为了向后兼容所有Web服务器,QBWC将捕获app-not-supported-clientVersion下的所有错误。   20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_clientVersion():此应用程序不包含对clientVersion的支持。允许更新操作以实现向后兼容。   20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_authenticate():对应用程序进行身份验证&#39; DEP QuickBooks Integrator&#39;,username =&#39; depQB&#39;   20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_authenticate(): 使用以下参数调用authenticate():   20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_authenticate():QBWC1012:***由于以下错误消息,身份验证失败。   请求失败,HTTP状态为404:Not Found。*   更多信息:   StackTrace = at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message,WebResponse response,Stream responseStream,Boolean asyncCall)      在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object []参数)      在QBWebConnector.localhost.WCWebServiceDoc.authenticate(String strUserName,String strPassword)      在QBWebConnector.localhost.WCWebService.authenticate(String strUserName,String strPassword)      在QBWebConnector.SOAPWebService.authenticate(String UserName,String Password)      在QBWebConnector.WebService.do_authenticate(String&amp; ticket,String&amp; companyFileName)   Source = System.Web.Services

现在它说它得到404错误。但是,我可以采用与&#34; AppURL&#34;完全相同的URL。 QWC文件的一部分并将其放在浏览器中并加载服务页面。浏览器可以访问服务URL,但QBWC可以“

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

这是我自己的想念。我们所有的服务都包含一个激活器,对于其他人来说,这些呼叫不需要服务和运营合同。但是,QBWC不喜欢这样,并在“身份验证失败”屏幕上报告,因为它无法找到任何方法。

由于文献资料有限,我想为其他任何偶然发现的人提供答案。别忘了这些家伙。

[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中提供的示例不同。