2009-06-07 5 views
2

を使用してWebサービス私はシームに新しいですし、Seam.Iを使用してWebサービスを開発したい、私は詳細はSeam.Any良い文書を使用してWebサービスを開発するために見つけることができる積極的な期限を持っている、書籍、ウェブサイトなどシーム

+0

重複http://stackoverflow.com/questions/911424/which-is-the-best-way-to-implement-soap-web-services-on-jboss-seam – mtpettyp

答えて

4

the other questionで説明したように、JAX-WSを使用できます。あなたはというし、RESTサービス(JAX-RS)を使用したい場合はしかし、次のいずれか

  • hereSeam Docs
  • チェックアウトステファンÉpardaudの記事でJAX-WS上に読みます。または
  • JAX-RSの実装であるSun Jerseyをご覧ください。

EDIT:シームチームからのノーマン・リチャーズは、ちょうどblog article about Seam and JAX-RSを掲載しています。あなたはジャージーよりも素晴らしいと思われます。

私は先週ジャージーを見て、あなたが必要とするコードがどれくらい少ないかに驚いていました。ここで少し紹介します:

  1. は、あなたの ウェブにジャージーサーブレットを追加
  2. をジャージージャーと JAXBジャー(そうすることができます出力XML および/またはJSON)をダウンロードし、あなたのクラスパスに追加します。 XML
  3. 注釈
  4. が ジャージー注釈でサービスクラスを作成しJAXB注釈を使用して データを保持しているビーン(url-patternservice/*の持つ以下の例では)。

    @Path("/users") 
    public class UsersService { 
        @GET 
        @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) 
        public Users getUsers() { 
        return UserQuery.getUsers(); 
        } 
    } 
    

    このユーザーのクラスである:ここで

はサービスの一例です

@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 HTTP Acceptsヘッダーのクライアントの内容に応じてXMLまたはJSONが生成されます。かなりクールハァッか?

関連する問題