2011-02-13 4 views
2

Y at-il de toute façon que je puisse dire à glassfish 3 de désactiver le métro? J'utilise actuellement CXF comme ma bibliothèque. CXF fonctionne mais il publie également ses propres services Web.Comment désactiver Metro sur Glassfish?

Y a-t-il un moyen de dire à glassfish de ne pas publier ces services Web supplémentaires? Ce sont les benans qui ont été annotés par @WebService

J'ai essayé de déclarer un soleil web.xml qui contient cela, mais il ne fonctionne toujours pas

Glassfish 3 i publier automatiquement et il est créer deux instances du service Web au lieu d'une.

merci beaucoup

Répondre

1

CXF Interceptor ne fonctionnera pas dans Glassfish sans ce fichier sun-web.xml pour configurer le classloader. Par défaut, Glassfish utilisera Metro pour les services JAX-WS, de sorte que le chargeur de classe doit être configuré pour permettre aux bibliothèques CXF de fournir des services JAX-WS. Ce qui suit soleil web.xml source XML a été ajouté à/WEB-INF pour résoudre ce problème:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sun-web-app PUBLIC '-//Sun Microsystems, Inc.//DTD 
Application Server 9.0 Servlet 2.5//EN' 
'http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd'> 
<sun-web-app> 
<class-loader delegate="false"/> 
</sun-web-app> 

Le explaination du site CXF: http://cxf.apache.org/docs/application-server-specific-configuration-guide.html#ApplicationServerSpecificConfigurationGuide-Glassfish

1

Pour désactiver la surveillance Metro, accédez à la console d'administration, configurations -> serveur-config, et ajoutez l'option JVM suivante:

-Dcom.sun.xml.ws.monitoring.endpoint = false

Redémarrez le serveur pour appliquer ce paramètre.