2012-04-06 16 views
0

Ich möchte ein EJB 3.0-Stateless-Bean in WAS7 implementieren, damit ich über eine lokale Schnittstelle und auch als Jax-WS-Webdienst auf EJB 3.0 zugreifen kann.Zugriff auf EJB 3.0 als EJB und als Webdienst auf Websphere 7

Meine Bohne sieht wie folgt:

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

Das Problem, das ist, wenn ich es in einem EJB-JAR-Paket und bereitstellen, ist es nicht als Web-Service funktioniert auf WAS-7.

Die einzige für mich funktionierende Konfiguration ist, wenn ich die EJB-JAR in ein Ohr und setzen diese EJB-JAR zu einem Krieg, der auch in der EAR ist, wie folgt aus:

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

Also meine Bohne ist dupliziert.

Gibt es ein Problem mit diesem Design? Wenn ja, gibt es eine bessere Lösung?

Antwort

1

Wenn Ihre Anwendung @WebService annotierte EJBs enthält, müssen Sie die EAR mit dem Tool , das im Lieferumfang von WebSphere enthalten ist, vor dem Deployment verarbeiten. Beachten Sie, dass dies nicht für @WebService annotierte Klassen in Webmodulen gilt.

+0

Danke! Es half. –

+0

Sie sind Lebensretter !!!! –