Что означает код HRESULT 0x803D0008 (WS_E_QUOTA_EXCEEDED)?

 
Предыдущий Следующий
WS_E_OPERATION_ABANDONED WS_E_NO_TRANSLATION_AVAILABLE

WS_E_QUOTA_EXCEEDED

WS_E_QUOTA_EXCEEDED: смысл кода и диагностика

WS_E_QUOTA_EXCEEDED — HRESULT, относящийся к области Windows Web Services API. Выполнение операции Windows Web Services превысило бы установленную квоту: размер сообщения, глубину, длину массива, объём буфера или другой лимит объекта.

Применительно к этому результату этот HRESULT возвращён WWSAPI. Объекты этого API имеют строгий жизненный цикл, и ошибка одного вызова может перевести объект в faulted-состояние.

Разбор условия ошибки

Применительно к этому результату важно сохранить исходный контекст вызова: имя функции, параметры, состояние объекта и первый низкоуровневый статус. Без этого одинаковый HRESULT может ошибочно связываться с разными причинами.

  • При разборе этот результат проверьте формат сообщения, контракт сериализации, квоты и серверный SOAP fault.
  • При разборе он закройте или сбросьте faulted-объект по контракту API и создайте новый экземпляр.
  • При разборе он запишите тип WWSAPI-объекта, endpoint, binding, SOAP action и текущую операцию чтения/записи.
  • При разборе он найдите первый HRESULT в цепочке, а не только последующий WS_E_OBJECT_FAULTED.

Какие данные собрать

  • Сопоставьте схему XML и ожидаемые типы с реальным SOAP-сообщением.
  • Воспроизведите вызов минимальным сообщением и постепенно верните поля контракта.
  • Сохраните WS_ERROR details, fault reason/detail и сетевой статус нижнего уровня.

Проверка после изменения

Применительно к нему для него недостаточно скрыть ошибку повтором. После изменения воспроизведите исходную операцию, проверьте конечное состояние объекта и убедитесь, что ресурсы освобождаются без потери первичного HRESULT.

Ссылки по этому результату


Нужно найти другой код? Найти другой код состояния или ошибки.