-
Struts et Web Services
Bonjour,
Je développe une application Struts qui contient en gros des Jsp, Actions et des classes DAO. Mes DAO contiennent en général des méthodes appellant des fonctions/procédures de la base de données. Je voudrais à présent faire communiquer le front-end et le back-end de mon application sur base de Web Services (client ws et ws). N'ayant pas d'expérience concrète dans le domaine des WS, pouvez vous me décrire une architecture possible Struts-WS qui serait la plus simple à implémenter? Merci beaucoup.
-
Bonjour,
En fait, pour appeler un web service via une application web, tu n'a qu'à générer tes classes proxy (stub) et les utiliser dans ton packages des classes java coté web ...
-
Dans mon cas, le web service n'existe pas au fait. A partir de mon application (Struts), je doit faire communiquer mon front-end et mon back-end par un mécanisme de web service. Pour ce faire, mon application (telle qu'elle est actuellement) sera normalement splitée en deux parties (client= front-end et serveur(ws)=back-end). Je voulais ainsi dans un contexte Struts (jsp+actions+pojos dao) et avec un serveur d'application wl savoir comment faire ce partage (architecture) et comment me baser sur axis pour construire une solution simple (pojo based)? Est ce compliqué les web services?! Merci.
-
Non, c'est pas du tout compliqué ! if faut juste suivre le standar JAX-WS (ou JAX-RPC), à mon avi mets toi dans le bain et puis si tu trouve des problèmes techniques, on est là pour vous aider, car comme ça on parle dans le vide ...
Bon courage
-
J'ai créé une petite application web avec une classe java HelloService que je veux utiliser comme web service. Cette classe contient une seule méthode "sayHello (String name)". Sous WEB-INF/lib j'ai copié tous les fichiers jar de Axis2 (binary distribution) et j'ai créé un fichier services.xml sous WEB-INF/services/HelloService/META-INF. Ci-dessous figure le texte que j'ai rajouté dans web.xml et dans services.xml. Après celà, j'ai dépployé mon application (sur wl) dans le but de tester le wsdl (http://server:port/approot/services/HelloService?wsdl), mais le résultat est une page blanche ce qui veut dire pour moi que le service n'est pas disponible ou mal configuré. Quelle erreur voyez-vous dans cette application? Merci.
web.xml:
<servlet>
<servlet-name>AxisServlet</servlet-name>
<!--<display-name>Apacha-Axis Servlet</display-name>-->
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
services.xml:
<service name="HelloService" scope="application">
<description>HelloWorld par Web Service</description>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass">package.HelloService</parameter>
</service>