Nous travaillons avec Tomcat + Axis2 + POJO pour la mise en œuvre du service Web, et nous avons rencontré quelques problèmes avec POJO et Axis2 qui sont une vitrine pour nous. Il semble que l'implémentation Axis2 et POJO de l'analyse SOAP ignore les noms des éléments XML et affecte simplement des valeurs aux arguments en fonction de l'ordre des éléments XML dans le message SOAP. Cette chose cause beaucoup de problèmes dans les API complexes. Après avoir nagé dans la documentation marécageuse de l'Axis2, j'étais plus confus que moi, donc j'ai vraiment besoin d'aide.Nécessaire: Tomcat + Axis2 + Guide JAX-WS pour les nuls
Je comprends que JAX-WS et Axis2 n'ont pas ces problèmes (corrigez-moi si je me trompe), mais je n'arrive pas à savoir comment développer et déployer une telle solution.
J'ai écrit un POJO, et annotées avec les annotations JAX-WS, je wsgen exécuté sur la classe et remballés dans un fichier AAR avec ce services.xml fichier:
<service name="TESTService" >
<description>
TEST web service
</description>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver" />
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass">com.test.WsdlImpl</parameter>
</service>
lorsque je tente d'exécuter un appel de service Web, je reçois une exception dans Tomcat:
[ERROR] The service class cannot be found for this AxisService. java.lang.RuntimeException: The service class cannot be found for this AxisService. at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:95) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source)
S'il vous plaît aidez-moi en expliquant comment déployer une JAX-WS avec Tomcat + Axis2 (si CXF fonctionne avec Tomcat je peux aussi l'utiliser), ou me diriger vers un bon tutoriel ers Tomcat + Axe2.
Merci!
Merci pour la réponse rapide. J'ai vu le tutoriel que vous avez aimé, et je suis ses étapes, à ce résultat. Je vais essayer de voir si je n'ai pas le fichier axis2-jaxws-1.3.jar et le rapport. Pouvez-vous élaborer sur l'utilisation de tomcat + cxf + jax-ws? – user24640