2012-04-06 88 views
0

我想將EJB 3.0無狀態bean部署到WAS7,以便我可以通過本地接口以及作爲jax-ws Web服務將其作爲EJB進行訪問。將EJB 3.0作爲EJB和Websphere 7上的Web服務訪問

我的豆看起來如下:

@Stateless 
@WebService 
public class UserManagerImpl implements UserManager { 
    public UserManagerImpl() { 
    } 
    @WebMethod 
    public String getName(){ 
     return "UserName"; 
    } 
} 

的問題是,如果我將其打包爲EJB-JAR和部署,它不會作爲一個Web服務工作的WAS-7。

對我來說,唯一有效的配置是,如果我把EJB-JAR成EAR,並把這個EJB-JAR的戰爭也是在EAR,就像這樣:

EAR/ 
    |--EJB-JAR 
    |--WAR/ 
     |WEB-INF/lib/ 
        |EJB-JAR 

所以我的豆被複制。

這個設計有什麼問題嗎?如果是這樣,是否有更好的解決方案?

回答

1

如果您的應用程序包含@WebService帶註釋的EJB,那麼您需要在部署它之前使用WebSphere提供的endptEnabler工具處理EAR。請注意,這不適用於Web模塊中的@WebService帶註釋的類。

+0

謝謝!它有幫助。 – 2012-04-09 12:23:12

+0

你是救命啊! – 2013-08-21 14:12:50