| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 - так вообще ляпота |
| Автор: COVD 20.9.2007, 16:59 |
| Наверное, сервер ничего, кроме кода ошибки не должен сообщать клиенту. Неважно, сервис это или не сервис. Если при логине происходит ошибка, сервер никогда не ответит, что именно было неправильно - логин или пароль. Понятно, почему. |