Получение SystemFault при запросе элемента

Используя V3, когда я пытаюсь запросить элементы, я получаю общую ошибку с типом SystemFault.

Я пытаюсь выполнить Select * From Item Where Name = 'Something'

Это действительно работает в API Explorer, и я считаю, что точно воссоздаю HTTP-запрос.

My HTTP GET is:

GET /v3/company/redacted/query?query=Select%20*%20From%20Item%20Where%20Name%20=%20'Something'%20STARTPOSITION%201%20MAXRESULTS%2020 HTTP/1.1
Accept  application/xml
Accept-Encoding gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Authorization   OAuth oauth_consumer_key="redacted", oauth_nonce="redacted", oauth_signature="redacted", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1386704546", oauth_token="redacted", oauth_version="1.0"
Host    qb.sbfinance.intuit.com

И ответ, который я получаю:

<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2013-12-10T11:42:03.147-08:00">
    <Fault type="SystemFault">
        <Error code="10000">
            <Message>An application error has occurred while processing your request</Message>
            <Detail>System Failure Error: Unexpected Internal Error. (-30000)</Detail>
        </Error>
    </Fault>
</IntuitResponse>

Я упускаю что-то очевидное? Спасибо.


person Cody Caughlan    schedule 10.12.2013    source источник


Ответы (1)


Это не очевидно, но из документации, найденной здесь, похоже, что вы должны кодировать ' и =, присутствующие в вашем запросе.

Итак, вместо:

/v3/company/redacted/query?query=Select%20*%20From%20Item%20Where%20Name%20=%20'Something'%20STARTPOSITION%201%20MAXRESULTS%2020

Вы должны использовать

/v3/company/redacted/query?query=Select%20*%20From%20Item%20Where%20Name%20%3D%20%27Something%27%20STARTPOSITION%201%20MAXRESULTS%2020

Кодирование ' до %27 и = до %3D.

person Bruno Buccolo    schedule 10.12.2013