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に変更します。QuickBooksOnlineEditionはまだ7.0をサポートしていません。

于 2009-07-21T12:33:22.663 に答える
0

xmlはリクエストのどこに投稿されますか?または、ここにコードを貼り付けることができません。上記のコードにリクエストにXMLが含まれているのがわかりません。リクエストにXMLが含まれていないため、リクエストは不正です。少なくとも私が上で見たものから

于 2009-07-20T18:00:48.113 に答える
0

キースパーマー が彼の回答で述べたように、バージョン番号は6.0である必要がありますが、QBXMLMsgsRqタグのonError属性も含める必要があります。(キース・パーマーが推奨するように、時間形式も修正しました。)

完全な/動作する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 Online OSR

メッセージとしてCustomerQueryを選択します。Chromeはすべてのブラウザで機能するとは限らないため、使用してください。XmlOpsをクリックすると、XMLが表示されます。

別の注意点として、私はここで利用可能な商用ソリューションを持っています:

QuickBooks Online C#開発統合

于 2012-02-27T20:49:20.900 に答える