0

我正在尝试将以下 xml 发布到https://apps.quickbooks.com/j/AppGateway并且我一直得到的是错误:远程服务器返回错误:(400)错误请求。有谁知道我做错了什么?有关我用于发布 xml 的 C# 代码,请参见下文。

谢谢,-杰夫

更新:为了向我的问题添加更多内容,我认为 (400) Bad Request 错误表明我的 xml 或我发布 xml 的方式存在严重错误。所以这就是我问这个问题的原因......我在这里错过了什么?

<?xml version="1.0" encoding="utf-8" ?>
<?qbxml version="7.0"?>
<QBXML>
<SignonMsgsRq>
<SignonDesktopRq>
<ClientDateTime>7/20/2009 12:36PM</ClientDateTime>
<ApplicationLogin>APP_LOGIN</ApplicationLogin>
<ConnectionTicket>CONNECTION_TICKET</ConnectionTicket>
<Language>English</Language>
<AppID>APP_ID</AppID>
<AppVer>1</AppVer>
</SignonDesktopRq>
</SignonMsgsRq>
<QBXMLMsgsRq>
<CustomerQueryRq requestID="2" />
</QBXMLMsgsRq>
</QBXML>



WebRequestObject = (HttpWebRequest)WebRequest.Create(requestUrl);
WebRequestObject.Method = "POST";
WebRequestObject.ContentType = "application/x-qbxml";
WebRequestObject.AllowAutoRedirect = false;
string post = XmlText.Text;

WebRequestObject.ContentLength = post.Length;

swr = new StreamWriter(WebRequestObject.GetRequestStream());
swr.Write(post);
swr.Close();

WebResponseObject = (HttpWebResponse)WebRequestObject.GetResponse();
4

4 回答 4

1

将您的 qbXML 版本更改为 6.0,QuickBooks Online Edition 尚不支持 7.0。

于 2009-07-21T12:33:22.663 回答
0

正如Keith Palmer 在他的回答中提到的,版本号需要为 6.0,但还需要包含 QBXMLMsgsRq 标记的 onError 属性。(我还按照Keith Palmer的建议更正了时间格式。)

完整/工作的 xml 在这里:

<?xml version="1.0" encoding="utf-8" ?> 
<?qbxml version="6.0"?> 
<QBXML> 
    <SignonMsgsRq>
        <SignonDesktopRq> 
            <ClientDateTime>2009-07-21T10:10:00</ClientDateTime> 
            <ApplicationLogin>APPLICATION_LOGIN</ApplicationLogin>
            <ConnectionTicket>CONNECTION_TICKET</ConnectionTicket>
            <Language>English</Language> 
            <AppID>APP_ID</AppID>
            <AppVer>1</AppVer> 
        </SignonDesktopRq> 
    </SignonMsgsRq> 
    <QBXMLMsgsRq onError="continueOnError"> 
        <CustomerQueryRq requestID="2" /> 
    </QBXMLMsgsRq> 
</QBXML>
于 2009-07-21T14:13:31.943 回答
0

您可以在此站点获取客户查询的 XML:

QuickBooks 在线 OSR

选择 CustomerQuery 作为消息。使用 Chrome,因为它不适用于所有浏览器。单击 XmlOps,您将看到 XML。

另一方面,我在这里有一个商业解决方案:

QuickBooks Online C# 开发集成

于 2012-02-27T20:49:20.900 回答
0

请求中发布的xml在哪里?或者您缺少在此处粘贴一些代码。我在上面的代码中没有看到请求包含 XML。该请求不正确,因为该请求不包含 XML。至少从我上面看到的

于 2009-07-20T18:00:48.113 回答