2016-06-04 1 views
0

Этого REST вызов возвращает 200 OK, но пустой ответ против определенной основной учетной записи:/v3/SoftLayer_Account/getObject.json REST конечная точка возвращает пустой ответ для меня

curl -XGET -u UNAME:PASS https://api.softlayer.com/rest/v3/SoftLayer_Account/getObject.json?objectMask=filteredMask%5Binvoices%5Bid%2CcreateDate%2CtypeCode%5D%5D 

Других главных счета возвращают данные в формате JSON. Мне не комфортно размещать имя пользователя для этого мастера здесь, но, согласно поддержке SoftLayer, Stack Overflow - это место, где можно найти разработчика, который сможет его изучить. Я сомневаюсь в этом, но, если это действительно так, билет № 29250537.

Теперь я готовлюсь к умеренности.

Update предел 1

Результат установлен смещение = 0, предел = 1 работает на других счетах, но это не один:

$ curl -vvv -u ... 'https://api.softlayer.com/rest/v3/SoftLayer_Account/getObject.json?objectMask=filteredMask%5Binvoices%5Bid%2CcreateDate%2CtypeCode%5D%5D&resultLimit=0,1' 
* Trying 66.228.119.120... 
* Connected to api.softlayer.com (66.228.119.120) port 443 (#0) 
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 
* Server certificate: api.softlayer.com 
* Server certificate: RapidSSL SHA256 CA - G3 
* Server certificate: GeoTrust Global CA 
* Server auth using Basic with user '...' 
> GET /rest/v3/SoftLayer_Account/getObject.json?objectMask=filteredMask%5Binvoices%5Bid%2CcreateDate%2CtypeCode%5D%5D&resultLimit=0,1 HTTP/1.1 
> Host: api.softlayer.com 
> Authorization: Basic ... 
> User-Agent: curl/7.43.0 
> Accept: */* 
> 
* HTTP 1.0, assume close after body 
< HTTP/1.0 200 OK 
< Date: Mon, 06 Jun 2016 14:35:51 GMT 
< Server: Apache 
< X-Frame-Options: SAMEORIGIN 
< Vary: Accept-Encoding 
< Content-Type: text/html; charset=UTF-8 
< Connection: close 
< 
* Closing connection 0 

ответ

0

Ошибка связана с вашей учетной записи имеет огромное количество счетов-фактур (примерно 31000), эта ошибка ожидается при попытке получить такой огромный объем данных. Чтобы избежать этой ошибки, вы должны отфильтровать свои данные с помощью objectFilter или ограничить результат.

Я предлагаю вам использовать resultlimits попробовать этот запрос:

GET https://api.softlayer.com/rest/v3/SoftLayer_Account/getInvoices.json?objectMask=filteredMask[id,createDate,typeCode]&resultLimit=0,5000 

http://sldn.softlayer.com/article/object-filters https://sldn.softlayer.com/article/REST

попробовать этот локон

$ curl -XGET -u user:api "https://api.softlayer.com/rest/v3/SoftLayer_Account/getInvoices.json?objectMask=filteredMask%5Bid%2CcreateDate%2CtypeCode%5D&resultLimit=0%2C5000" 

и обратите внимание, что я использую метод getInvoices, если вы попробуйте использовать метод getObjec, результат не будет работать.

С уважением

+0

Спасибо за ответ. К сожалению, результат не помогает в этой учетной записи, и ошибка по-прежнему скрыта. –

+0

Работает ли я с вашей учетной записью, проблема может заключаться в том, что клиент REST, который вы используете, не применяет результат Limmit, попробуйте использовать Postman или Insomnia для браузера Chrome или curl. –

+0

Пренебрежимо для того, чтобы сказать - пожалуйста, просмотрите обновление для деталей. –