2009-09-14 9 views
0

Après avoir exécuté les exemples CXF, un service Web simple était opérationnel. Cependant, je voudrais l'intégrer avec une application Web Spring dans un conteneur de servlet. Après la mise à jour du fichier de configuration servlet.xml:Déploiement d'un service Web CXF dans Spring Framework

<jaxws:endpoint id="HelloWorldService" 
implementor="path.to.webservice.HelloWorldImpl" 
endpointName="e:HelloEndpoint" 
serviceName="s:HelloService" 
address="/HelloService" 
xmlns:e="http://service.jaxws.cxf.apache.org/endpoint" 
xmlns:s="http://service.jaxws.cxf.apache.org/service"/> 

et web.xml:

<servlet> 
    <servlet-name>CXFServlet</servlet-name> 
    <servlet-class> 
     org.apache.cxf.transport.servlet.CXFServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>CXFServlet</servlet-name> 
    <url-pattern>/services/*</url-pattern> 
</servlet-mapping> 

j'ai pu déployer dans le servlet mais le WSDL du service de printemps est horriblement mal, même si la L'interface Java et les fichiers d'implémentation sont identiques. Voir Eclipse WSDL décrit ci-dessous:

alt text http://img171.imageshack.us/i/correcty.jpg/alt text http://img190.imageshack.us/i/wrongia.jpg/

Pourquoi une telle différence WSDL être généré à partir des fichiers .java identiques et comment puis-je le faire fonctionner dans le servlet? Merci d'avance.

+0

Je ne vois pas les contours wsdl pour commenter, et en tant que tels différents moteurs de service génèrent des WSDL différents – shivaspk

Répondre

0

Le WSDL et le schéma dépendent du choix du frontend et de la liaison de données dans CXF. Si votre autre environnement n'est pas JAX-WS + JAXB, la même version, vous obtiendrez des résultats très différents. Même s'il s'agit simplement d'une version non-CXF, vous pouvez vous attendre à des résultats cosmétiquement différents.

Questions connexes