Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Exception 4 Web-services


Автор: Се ля ви 20.9.2007, 11:08
Интересует, существует ли корректный стандартный способ вернуть ошибку клиенту, запросившему web-service некорректно? В частности, передавшего некорректные даные для авторизации.

Я, конечно, мог бы вернуть шибку на уровне HTTP кодом состояния (в данном случае 403, а вообще - 500 или др.), но интересно, есть ли более подходящий приём?

Автор: Aazmandius 20.9.2007, 12:36
Например JiBX это позволяет в составе Axis2. 

http://www.sosnoski.com/jibx-wiki/space/axis2-jibx/example/jibx-client

вот здесь есть пример, как отлавливать custom эксепшны со службы на стороне клиента. 

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

Автор: Се ля ви 20.9.2007, 13:01
Aazmandius, спасибо, но всё-таки интересно - это стандарт, или фича создателей Axis`

Автор: Aazmandius 20.9.2007, 13:33
А есть ли вообще полноценный стандарт веб-служб как таковой? Для разных платформ и реализаций? По-моему, все подобные стандарты ограничиваются передачей простых типов... Ведь представление сложных объектов на платформах Java и .NET все-таки отличается... тот же JiBX очень продвинут и позволяет передвать практически любые типы, с наследованием, композицией и т.д. Единственно, что валится на передаче объектов, состоящих в bidirectional association. Такие штуки недоступны на многих реализациях даже на Java платформе, как там в других епархиях дела обстоят, я даже не в курсе... Так что если у тебя есть инфа по стандартам, которые описывают передачу тех же сложных типов, а не просто примитивов, и эти стандарты приняты хотя бы на одной платформе - J2EE, буду очень признателен, если дашь ссылочку почитать..

Автор: Се ля ви 20.9.2007, 14:39
Ну как... есть http://www.w3.org/2002/ws/#groups, которые занимаются разработкой стандартов WS. В остальном, всё двигается бегущими впереди паравоза лидерами, иногда кооперирующимися между собой для выработки единой платформы. Вот неплохая обзорная статья на эту тему - "http://www.ccc.ru/magazine/depot/07_02/read.html?0201.htm".

Автор: Aazmandius 20.9.2007, 14:44
Ну это только лишь планы на будущее... то, что когда-нибудь такой стандарт будет, сомнений нет, потому что веб-службы очччень перспективны и удобны (теоретически), но пока это удобство чувствуется, только при написании как клиента так и службы на одной технологии. Если писать на том же JiBX+Axis2 - так вообще ляпота smile Делай буквально что хочешь, но стоит сделать шаг в сторону, как начинается головняк различной степени тяжести... Так что это дело будущего ИМХО...

Автор: COVD 20.9.2007, 16:59
Наверное, сервер ничего, кроме кода ошибки не должен сообщать клиенту. Неважно, сервис это или не сервис. Если при логине происходит ошибка, сервер никогда не ответит, что именно было неправильно - логин или пароль. Понятно, почему.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)