Веб-сервис с использованием Seam

Я новичок в Seam и хочу разработать веб-сервис с использованием Seam. У меня жесткие сроки, когда я могу найти детали для разработки веб-сервиса с использованием Seam. Любой хороший документ, книга, веб-сайт и т. Д.


person user118802    schedule 07.06.2009    source источник
comment
Дубликат stackoverflow.com/questions/911424/   -  person mtpettyp    schedule 08.06.2009


Ответы (1)


Как упоминалось в другом вопросе вы можете использовать JAX-WS. Однако, если вы предпочитаете использовать службы REST (JAX-RS), либо:

EDIT: Норман Ричардс из команды Seam только что опубликовал в блоге статью о Seam и JAX-RS. Выглядит фантастически и, вероятно, больше то, что вам нужно, чем Джерси.

На прошлой неделе я взглянул на Джерси и был поражен тем, как мало кода вам нужно. Вот небольшое руководство:

  1. Загрузите файлы Jersey Jars и JAXB Jars (чтобы вы могли выводить XML и / или JSON) и добавьте их в свой путь к классам.
  2. Добавьте сервлет Jersey в свой web.xml (в примере ниже с url-pattern из service/*)
  3. Аннотируйте Bean-компонент, содержащий ваши данные, с помощью аннотаций JAXB
  4. Создайте класс обслуживания с аннотациями Джерси.

Вот пример Сервиса:

@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