首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >QBWC: do_authenticate()中的“索引超出范围”

QBWC: do_authenticate()中的“索引超出范围”
EN

Stack Overflow用户
提问于 2017-07-06 16:44:15
回答 2查看 172关注 0票数 0

我使用的是QuickBooks WebConnector 2.2.0.71和我的WCF服务(在.NET 4.6.1上)。在WebConnector serverVersionclientVersion请求中按下"Update selected“后,成功处理,但authenticate失败:

代码语言:javascript
运行
复制
20170705.06:31:00 UTC   : QBWebConnector.SOAPWebService.do_authenticate() : *** Calling authenticate() with following parameters:<userName="username"><password=<MaskedForSecurity>
20170705.06:31:00 UTC   : QBWebConnector.SOAPWebService.do_authenticate() : QBWC1012: Authentication failed due to following error message.
Index Out Of Range.
More info:
StackTrace =    в QBWebConnector.WebService.do_authenticate(String& ticket, String& companyFileName)
Source = QBWebConnector

我的WCF服务的响应(来自WCF测试客户端):

代码语言:javascript
运行
复制
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header />
  <s:Body>
    <authenticateResponse xmlns="http://developer.intuit.com/">
      <authenticateResult xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:string>a3f10876-e027-419d-8dd8-3752a852ddae</a:string>
        <a:string>nvu</a:string>
        <a:string>3</a:string>
        <a:string>60</a:string>
        <a:string>60</a:string>
      </authenticateResult>
    </authenticateResponse>
  </s:Body>
</s:Envelope>

Docs说:“您的回调必须返回一个包含4个可能元素的字符串数组。第一个元素包含NONE或NVU (无效用户)或BUSY.,或空字符串,或QB公司文件名的字符串。”但是在示例中,第一个元素是guid标记,所以我发送了5个元素的数组。

当我发送的不是数组,而是int值时,同样的错误也发生了,所以我猜--可能是我的xml出了问题?

EN

Stack Overflow用户

发布于 2017-07-06 21:39:14

QBWC程序员指南的第21页。

对身份验证调用的返回将是一个字符串数组,最多包含四个字符串。

该数组的第一个成员是会话令牌,它可以是GUID或要用于标识会话的任何其他内容。此令牌将由QBWC在会话的后续回调中返回。

字符串数组的第二个成员可以包含各种内容。

a.如果身份验证调用中的用户名和密码无效,则需要提供值“nvu”。

b.另一方面,如果用户数据是有效的,但您不需要为该用户执行任何操作,则应提供值“none”。

c.如果您确实有工作要为该用户做,您可以提供要在当前更新中使用的公司的完整路径名。

d.如果您想在客户端使用当前开放的QuickBooks公司,只需提供一个空字符串。

字符串数组的第三个可选成员包含在下一次更新之前等待的秒数。您将使用它来有效地告诉QBWC客户端在指定的时间内不要打扰您。

字符串数组的第四个可选成员包含用作web服务的MinimumRunEveryNSeconds时间的秒数,它告诉QBWC服务需要多频繁地联系。

我不确定为什么文档末尾的身份验证与此不同。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44943915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档