9.3.3. Определенные условия
Определены следующие условия использования ошибок строф.
- <bad-request/>
- отправитель послал XML с некорректным форматом или который не может быть обработан (например, IQ-строфа, которая включает в себя нераспознаваемое значение атрибут 'type'); сопряженным типом ошибки должен быть "modify".
- <conflict/>
- доступ не может быть предоставлен, так как существует ресурс или сессия с тем же именем или адресом; сопряженным типом ошибки должен быть "cancel".
- <feature-not-implemented/>
- запрошенная возможность не реализуется получателем или сервером и, следовательно, не может быть осуществлена; сопряженным типом ошибки должен быть "cancel".
- <forbidden/>
- запрошенный объект не имеет требующегося разрешения для выполнения данного действия; cопряженным типом ошибки должен быть "auth".
- <gone/>
- получатель или сервер не может более контактировать с этим адресом (строфа ошибки может содержать новый адрес в виде символьных XML-данных элемента <gone/>); cопряженным типом ошибки должен быть "modify".
- <internal-server-error/>
- сервер не может обработать строфу, из-за неверной конфигурации или неопределенной внутренней ошибки сервера; cопряженным типом ошибки должен быть "wait".
- <item-not-found/>
- адресованный JID или запрошенный элемент не может быть найден; cопряженным типом ошибки должен быть "cancel".
- <jid-malformed/>
- посылающий объект предоставил или переслал XMPP-адрес (например, значение атрибута 'to' ) или нечто в этом же роде (например, идентификатор ресурса), который не стыкуется с синтаксисом, определенным в главе "Схема адресации" (раздел 3); cопряженным типом ошибки должен быть "modify".
- <not-acceptable/>
- получатель или сервер понимает запрос, но отказывается обрабатывать его, так как он не отвечает критериям, определенным получателем или сервером (например, локальная политика в отношении приемлемых слов в сообщениях); cопряженным типом ошибки должен быть "modify".
- <not-allowed/>
- получатель или сервер не позволяют любому объекту выполнять операцию; cопряженным типом ошибки должен быть "cancel".
- <not-authorized/>
- отправитель должен предоставить правильные параметры авторизации, прежде чем ему будет позволено выполнить соответствующеие действия, или он выдал неверные параметры авторизации; cопряженным типом ошибки должен быть "auth".
- <payment-required/>
- запрашивающий объект не авторизован для доступа к запрашиваему сервису, так как требуется оплата; cопряженным типом ошибки должен быть "auth".
- <recipient-unavailable/>
- адресат временно недоступен; cопряженным типом ошибки должен быть "wait" (заметим: приложение не должно возвращать эту ошибку, если, делая это, выдаст информацию о сетевой доступности адресата объекту, неавторизованному для получения такой информации).
- <redirect/>
- получатель или сервер переадресуют запрос для этой информации другому объекту, обычно временно (ошибочная строфа должна содержать альтернативный адрес, который должен быть корректным JID, в текстовом элементе <redirect/> ); cопряженным типом ошибки должен быть "modify".
- <registration-required/>
- запрашиваемый объект не авторизован для доступа к запрошенному сервису, так как требуется регистрация; cопряженным типом ошибки должен быть "auth".
- <remote-server-not-found/>
- удаленный сервер или сервис, специфицированный в качестве части или всего JID получателя, не существует; cопряженным типом ошибки должен быть "cancel".
- <remote-server-timeout/>
- удаленный сервер или сервис, специфицированный в качестве части или всго JID получателя, не досягаемы в пределах разумного времени; cопряженным типом ошибки должен быть "wait".
- <resource-constraint/>
- получатель или сервер имеют мало системных ресурсов для обслуживания запроса; cопряженным типом ошибки должен быть "wait".
- <service-unavailable/>
- получатель или сервер в настоящее время не предоставляют запрашиваемого сервиса; cопряженным типом ошибки должен быть "cancel".
- <subscription-required/>
- запрашиваемый объект не авторизован для доступа к запрашиваемого сервиса, так как требуется подписка; cопряженным типом ошибки должен быть "auth".
- <undefined-condition/>
- условие ошибки не совпадает ни с одним, описанным в этом перчне; любой тип ошибки может быть ассоциирован с этим условием, и это условие может использоваться только совместно с условием, специфичным для приложения.
- <unexpected-request/>
- получатель или сервер понимают запрос, но не ожидали его в данный момент; cопряженным типом ошибки должен быть "wait".