2011-07-05 6 views
3

Je suis nouveau sur le Web-Services, je veux intégrer le Web-service dans mon projet Web existant, mais je suis confus comment le faire. Quelqu'un peut-il me dire comment le faire?Comment intégrer le Web-service dans un projet Web existant?

Pour mon projet, je me sers:

  • Spring Framework
  • Mise en veille prolongée
  • Pojo base (ne pas utiliser le constructeur fourmi, hibernate.cfg.xml)
  • Eclipse

Supposons que j'ai la classe SecurityDepositServiceImpl qui contient la fonction getTenderTitleForSecurityDeposit(), puis comment je fais le service web pour cela?

+1

Voulez-vous appeler un autre service Web ou fournir un service Web? –

+0

Vous n'avez pas indiqué quel framework de services Web vous souhaitez utiliser Les frameworks de services Web Java permettent de déployer des points de terminaison de service Web sous forme de servlets – Cratylus

Répondre

4

Un moyen rapide de mettre en œuvre un service Web est la suivante:

  • Assurez-vous que les bocaux suivants seront disponibles à votre webapp: JAXWS-rt.jar; jaxb-impl.jar; streambuffer.jar; policy.jar; jaxws-api.jar; stax-ex.jar; gmbal-api-only.jar; gestion api.jar

  • Créer un fichier "soleil jaxws.xml" sur votre dossier WEB-INF et le remplir avec les éléments suivants:

<?xml version="1.0" encoding="UTF-8"?> 
<endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"> 
    <endpoint 
     implementation="com.foo.ws.MyWebServiceClass" 

     name="MyServices" 
     url-pattern="/ws/theUrlILikeTheMost" 
     /> 
</endpoints> 
  • Ajouter dans votre fichier web.xml l'extrait suivant:
<listener> 
     <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class> 
    </listener> 

    <servlet> 
     <servlet-name>WebServices</servlet-name> 
     <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>WebServices</servlet-name> 
     <url-pattern>/ws/*</url-pattern> 
    </servlet-mapping> 
  • Créez votre com.foo.ws.MyWebServiceClass de classe et d'annoter ce que vous aimez fournir:
@WebService(serviceName="MyServices") 
public class MyWebServiceClass extends SpringBeanAutowiringSupport { 
    @WebMethod 
    public List<String> myMethodExposed(String username) { 
     List<String> toret = new ArrayList<String>(); 
     toret.add("Hello world"); 
     toret.add("Life id beautiful"); 
     return toret; 
    } 
} 

et le tour est joué: votre service Web est prêt.

+0

Bonjour Sampisa, Merci pour la relecture Votre suggestion était très complète pour moi. Mais maintenant je suis en difficulté que j'utilise le service qui appelle à DAO; Lorsque je teste ce service Web, il fonctionne correctement, mais sur la ligne d'où j'appelle DAO, il ne peut pas identifier le DAO. Existe-t-il une configuration supplémentaire pour localiser DAO via la classe Service? – Balasaheb

+0

Bonjour, Que voulez-vous dire par "il ne peut pas identifier le DAO"? Comment l'avez-vous défini? – Sampisa

+0

En fait, j'ai envisagé de créer un deuxième compte StackOverflow afin que je puisse upvote votre réponse deux fois. –

Questions connexes