我已经创建了一个SOAP应用程序,通过QuickBooksWebConnector连接到QuickBooks桌面。我已经将我的wsdl url提供给了WebConnector。在调用第一个验证回调时,连接器显示此错误:
QBWC1012:由于以下错误消息,身份验证失败。**对象引用未设置为对象的示例。**有关更多详细信息,请参阅QWCLog。请记住打开日志记录。
理想情况下,这意味着:对象引用未设置为对象的示例。
当我尝试从SOAPUI或WebServiceExplorer执行此操作时,它显示正确的响应消息,如下所示:
请求:
<soapenv:Envelope>
<soapenv:Body>
<q0:authenticate>
<q0:strUserName>Admin</q0:strUserName>
<q0:strPassword>Admin</q0:strPassword>
</q0:authenticate>
</soapenv:Body>
</soapenv:Envelope>
回应:
<soapenv:Envelope>
<soapenv:Body>
<authenticateResponse>
<authenticateReturn xsi:type="ns1:ArrayOfString">
<ns1:string>{57F3B9B1-86F1-4fcc-B1EE-566DE1813D20}</ns1:string>
<ns1:string>none</ns1:string>
</authenticateReturn>
</authenticateResponse>
</soapenv:Body>
</soapenv:Envelope>
(取自WebServiceExplorer)在我搜索此错误时:当连接器在响应中得到空值或无效值时,可能会导致此错误。如何解决此类错误。
我是SOAP Web服务的新手,也是QuickBooks的新手。
先谢谢你。
2条答案
按热度按时间oiopk7p51#
工作溶液:
我在方法声明和模型类定义中添加了annotation来解决这类错误。(如下所示)
服务声明的注解:
模型类的注解:
有关在这些注解[targetNamespace / webAction / XmlType]中写入内容的更多详细信息,请参考以下链接:
https://www.connexforquickbooks.com/qbwebservice.asmx?op=authenticate
ve7v8dk22#
我正在通过node-soap使用Node,这个错误的问题是我发送的是authenticationResult而不是authenticateResult。下面是工作的输出XML(没有在QWC中设置XML样式,所以基本):