Я новичок в Seam и хочу разработать веб-сервис с использованием Seam. У меня жесткие сроки, когда я могу найти детали для разработки веб-сервиса с использованием Seam. Любой хороший документ, книга, веб-сайт и т. Д.
Веб-сервис с использованием Seam
comment
Дубликат stackoverflow.com/questions/911424/
- person mtpettyp   schedule 08.06.2009
Ответы (1)
Как упоминалось в другом вопросе вы можете использовать JAX-WS. Однако, если вы предпочитаете использовать службы REST (JAX-RS), либо:
- Прочтите о JAX-WS в документации по швам
- Ознакомьтесь со статьей Стефана Эпардо здесь; или
- Взгляните на Sun Jersey, который является реализацией JAX-RS.
EDIT: Норман Ричардс из команды Seam только что опубликовал в блоге статью о Seam и JAX-RS. Выглядит фантастически и, вероятно, больше то, что вам нужно, чем Джерси.
На прошлой неделе я взглянул на Джерси и был поражен тем, как мало кода вам нужно. Вот небольшое руководство:
- Загрузите файлы Jersey Jars и JAXB Jars (чтобы вы могли выводить XML и / или JSON) и добавьте их в свой путь к классам.
- Добавьте сервлет Jersey в свой web.xml (в примере ниже с
url-pattern
изservice/*
) - Аннотируйте Bean-компонент, содержащий ваши данные, с помощью аннотаций JAXB
- Создайте класс обслуживания с аннотациями Джерси.
Вот пример Сервиса:
@Path("/users")
public class UsersService {
@GET
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Users getUsers() {
return UserQuery.getUsers();
}
}
Где это класс Users:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "users")
public class Users {
@XmlElement(name="users")
private List<User> users = new ArrayList<User>();
public List<User> getUsers() {
return this.users;
}
public void setUsers(List<User> users) {
this.users = users;
}
}
А это класс User:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "user")
public class User implements Serializable {
@XmlElement(name="id")
private long userId;
@XmlElement(name="firstName")
private String firstName;
@XmlElement(name="lastName")
private String lastName;
@XmlElement(name="email")
private String email;
public User() {}
public User(long userId, String firstName, String lastName, String email) {
this.userId = userId;
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}
//And the getter/setters
}
Затем вы можете получить доступ к службе по адресу http://yourhost/service/users
. Он будет создавать XML или JSON в зависимости от того, что ваш клиент использует для своего HTTP-заголовка Accepts. Довольно круто, да?
person
Damo
schedule
08.06.2009