QuickBooks Web Connector 始终返回 404 错误

问题描述 投票:0回答:1

我已经创建了一个 WCF 服务端点供我的 QBWC 调用。我已经通过 HTTPS 接触并实现了合约。

  • 客户端版本
  • 验证
  • 关闭连接
  • 连接错误
  • 获取最后一个错误
  • 接收响应XML
  • 发送请求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,然后进行身份验证。验证后显示“验证失败”。但是在网络服务中我什至没有检查用户名和密码是的。这就是我在日志中得到的内容。

20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_serverVersion():* 调用 serverVersion()。 20150811.17:07:20 UTC : QBWebConnector.SOAPWebService.do_serverVersion() :从 serverVersion 调用的 Web 服务收到的实际错误: 。为了向后兼容所有网络服务器,QBWC 将捕获 app-not-supporting-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():从 Web 服务收到的 clientVersion 调用的实际错误:。为了向后兼容所有网络服务器,QBWC 将捕获 app-not-supporting-clientVersion 下的所有错误。 20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_clientVersion():此应用程序不包含对 clientVersion 的支持。允许更新操作以实现向后兼容性。 20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_authenticate():对应用程序“DEP QuickBooks Integrator”进行身份验证,用户名=“depQB” 20150811.17:07:20 UTC :QBWebConnector.SOAPWebService.do_authenticate() : 使用以下参数调用authenticate(): 20150811.17:07:20 UTC:QBWebConnector.SOAPWebService.do_authenticate():QBWC1012:***由于以下错误消息,身份验证失败。 请求失败,HTTP 状态为 404:未找到。* 更多信息: StackTrace = at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息,WebResponse响应,流responseStream,布尔asyncCall) 在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串方法名称,对象[]参数) 在 QBWebConnector.localhost.WCWebServiceDoc.authenticate(String strUserName, String strPassword) 在 QBWebConnector.localhost.WCWebService.authenticate(String strUserName, String strPassword) 在 QBWebConnector.SOAPWebService.authenticate(字符串用户名,字符串密码) 在 QBWebConnector.WebService.do_authenticate(字符串&票证,字符串&companyFileName) 来源= System.Web.Services

现在它说收到 404 错误。但是,我可以采用与 QWC 文件的“AppURL”部分完全相同的 URL,并将其放入浏览器中并加载服务页面。那么浏览器可以访问服务 URL,但 QBWC 不能?

有什么想法吗?

quickbooks
1个回答
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 中提供的示例不同。

© www.soinside.com 2019 - 2024. All rights reserved.