2009-07-20 5 views
0

https://apps.quickbooks.com/j/AppGateway에 아래 XML을 게시하려고하는데 계속 오류가 있습니다. 원격 서버에서 오류를 반환했습니다 : (400) 잘못된 요청 . 누구든지 내가 뭘 잘못하고있는 아이디어가 있습니까? xml을 게시하는 데 사용하고있는 C# 코드는 아래를 참조하십시오.유효한 XML QuickBooks 온라인 버전 게시 - 잘못된 요청 오류

감사합니다, -Jeff

UPDATE : 내 질문에, 나는 (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(); 

답변

0

Keith Palmermentioned in his answer 버전 번호는 6.0이어야하며 QBXMLMsgsRq 태그의 onError 속성도 포함해야합니다. (나는 또한 Keith Palmer에 의해 추천으로 너무 시간 형식을 수정했습니다.)

전체/작업 XML은 여기 :

QuickBooks Online OSR :

<?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> 
0

요청에 게시 된 XML은 무엇입니까 ?? 또는 여기에 일부 코드를 붙여 넣기 위해 누락되었습니다. 위의 코드에서 XML 요청이 표시되지 않습니다. 요청에 XML이 없으므로 요청이 잘못되었습니다. 적어도 위의 내용을 참조하십시오.

+0

안녕 RJ,이 행 : 다른 주에

, 나는 여기에 사용할 수있는 상용 솔루션이 문자열 포스트 = XmlText.Text을; 텍스트 상자에서 xml을 읽습니다. 위의 XML은 해당 텍스트 상자에 있습니다. -Jeff –

1

qbXML 버전을 6.0으로 변경하면 QuickBooks Online Edition이 7.0을 아직 지원하지 않습니다.

+0

버전 번호는 문제의 일부이지만 QBXMLMsgsRq 태그에 onError = "continueOnError"를 포함시켜야합니다. 그렇지 않으면 오류가 발생합니다. 나는 다른 대답에서 작동하는 전체 XML을 넣고있다. –

0

당신은이 사이트에서 고객 쿼리에 대한 XML을 얻을 수 있습니다

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

QuickBooks Online C# Development Integration

관련 문제