QuickBooks Online Edition에 게시하는 유효한 XML- 수신 (400) 잘못된 요청 오류

StackOverflow https://stackoverflow.com/questions/1154880

문제

아래 XML을 게시하려고합니다 https://apps.quickbooks.com/j/appgateway 그리고 내가 계속 얻는 것은 오류입니다. 원격 서버는 오류를 반환했습니다 : (400) 잘못된 요청. 내가 잘못하고있는 일이 있습니까? XML을 게시하는 데 사용중인 C# 코드는 아래를 참조하십시오.

감사합니다 -Jeff

업데이트 : 내 질문에 더 추가하기 위해 (400) 잘못된 요청 오류가 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();
도움이 되었습니까?

해결책 3

처럼 키이스 팔머 그의 대답에 언급되었습니다 버전 번호는 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>

다른 팁

QBXML 버전을 6.0으로 변경하십시오. QuickBooks Online Edition은 아직 7.0을 지원하지 않습니다.

XML은 요청에 어디에 게시됩니까 ?? 또는 여기에 코드를 붙여 넣는 것이 누락되었습니다. 위의 코드에 요청에 XML이있는 것을 보지 못했습니다. 요청에는 XML이 포함되어 있으므로 요청이 나쁩니다. 적어도 내가 위에서 본 것에서

이 사이트에서 고객 쿼리의 XML을 얻을 수 있습니다.

Quickbooks Online OSR

메시지로 CustomerQuery를 선택하십시오. Chrome은 모든 브라우저에서 작동하지 않기 때문에 사용하십시오. Xmlops를 클릭하면 XML이 표시됩니다.

다른 참고로, 여기에는 상용 솔루션이 있습니다.

QuickBooks Online C# 개발 통합

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top