Почему я продолжаю получать ошибку 500 при вызове интерфейса SoftLayer_Billing_Invoice :: getItems? - PullRequest
0 голосов
/ 25 июня 2018

Недавно я разрабатывал проект, основанный на интерфейсе программного слоя. Я хочу получить детали счета о сервере голого металла. Но я продолжаю получать ошибку 500, когда я вызываю интерфейс SoftLayer_Billing_Invoice :: getItems. И другие интерфейсы нормальные.

привет ~

код шоу, как показано ниже:

client = SoftLayer.create_client_from_env(username="username",
                                          api_key="api_key",
                                          proxy="proxy")
sl_billing_invoice = client['Billing_Invoice']
try:
    result = sl_billing_invoice.getItems(id=id)
    print result
except SoftLayer.SoftLayerAPIError as sl_exc:
    msg = 'result:(%s, %s)' % (sl_exc.faultCode, sl_exc.faultString)
    print msg

Вернуть сообщение об ошибке как удар:

результат: (500, 500 Ошибка сервера: Внутренняя ошибка сервера)

1 Ответ

0 голосов
/ 25 июня 2018

Вероятно, проблема заключается в том, что ваш запрос возвращает большой объем данных, этот случай обычно происходит с счетами и счетами.Для решения этой проблемы у вас есть следующие опции:

  1. Уменьшите объем данных с помощью масок объектов или с помощью фильтров объектов.

  2. Используйте нумерацию страниц (пределы результатов), чтобы получить меньше данных в запросе.

    result = sl_billing_invoice.getItems(limit=50, offset=0, id=id)

Документация Softlayer и аналогичные вопросы:

https://softlayer.github.io/blog/phil/how-solve-error-fetching-http-headers/

https://softlayer -python.readthedocs.io / en / latest / api / client.html? Highlight = limit # making-api-звонки

Softlayer getAllBillingItems перестал работать?

Получение 500 Внутренняя ошибка сервера от Account.getVirtualGhest ()

Сбой метода getInvoices

Получение «ошибки»: «Внутренняя ошибка» в Почтальоне и получение ошибки Невозможно десериализовать экземпляр java.util.ArrayList из токена START_OBJECT

...