XML válido para su publicación en QuickBooks Online Edition - recepción (400) Solicitud incorrecta Error

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

Pregunta

Estoy tratando de publicar el siguiente XML para https://apps.quickbooks.com/j/ AppGateway y todos me siguen dando es el error: el servidor remoto devolvió un error: (400) Solicitud incorrecta. ¿Alguien tiene alguna idea de lo que estoy haciendo mal? Vea a continuación el código de C # que estoy usando para publicar el código XML.

Gracias, -Jeff

ACTUALIZACIÓN: para añadir más a mi pregunta, pienso que el (400) Malo error de solicitud está indicando que tengo algo groseramente mal con el xml o con la forma en que estoy publicando el código XML. Por eso es que estoy haciendo esta pregunta ... ¿qué estoy perdiendo aquí?

<?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();
¿Fue útil?

Solución 3

Keith Palmer menciona en su respuesta el número de versión debe ser 6.0, pero también es necesario incluir el onError atributo de la etiqueta QBXMLMsgsRq. (I También se ha corregido el formato de hora también como recomendar por Keith Palmer .)

XML completo / trabajo está aquí:

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

Otros consejos

Cambiar su versión QBXML a 6,0, QuickBooks Online Edition no admite 7.0 todavía.

donde se ha escrito en el xml solicitud ?? O se echa en falta para pegar algo de código aquí. No veo la solicitud tiene XML en el código de seguridad. La solicitud es malo porque la solicitud no contenga XML. Al menos por lo que veo por encima

Puede obtener el código XML para una consulta al cliente en este sitio:

QuickBooks Online OSR

Seleccione CustomerQuery como el mensaje. Utilizar Chrome, ya que no funciona en todos los navegadores. Haga clic XmlOps y verá el código XML.

Por otro lado, tengo una solución comercial disponible aquí:

QuickBooks Online C # Desarrollo de Integración

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top