2010-12-13 44 views
9

J'utilise netbeans pour générer le client de service de Web dans mon application. Et mon programme utilisant la bibliothèque jax-ws pour définir le délai d'attente lors de l'appel du service Web.Comment cacher l'avertissement dans le client de jax-ws qui (peut-être) provoqué par la bibliothèque de jax-ws

problème se pose, car il génère beaucoup de ce message d'avertissement à chaque fois que je commence ce programme .:

13 décembre 2010 16:35:21 [com.sun.xml.ws.policy. EffectiveAlternativeSelector] selectAlternatives AVERTISSEMENT: WSP0075: Assertion de stratégie "{http://schemas.xmlsoap.org/ws/2004/10/wsat} ATAlwaysCapability" a été évaluée comme "UNKNOWN".

Dec 13, 2010 16:35:21 [com.sun.xml.ws.policy.EffectiveAlternativeSelector] selectAlternatives AVERTISSEMENT: WSP0075: affirmation politique "{} http://schemas.xmlsoap.org/ws/2004/10/wsat ATAssertion" a été évaluée comme " INCONNU".

Dec 13, 2010 16:35:21 [com.sun.xml.ws.policy.EffectiveAlternativeSelector] selectAlternatives AVERTISSEMENT: WSP0019: alternative politique suboptimale sélectionnée sur le côté client avec remise en forme « UNKNOWN ".

J'ai trouvé le même problème avec le mien ici: http://forums.java.net/node/707265, mais il n'a pas non plus de réponse jusqu'à présent.

Est-il possible de masquer cet avertissement? J'essaie de rechercher en utilisant google, et ne trouve pas de réponse de match pour ce problème ..

Répondre

4

Je pense que le WSDL f rom dont le client a été généré contient des assertions de stratégie liées à WS-AtomicTransaction. Étant donné que WS-AtomicTransaction requiert un gestionnaire de transactions et que le JRE n'en contient pas, il n'est pas surprenant que le moteur d'exécution JAX-WS dans JRE ne prenne pas en charge WS-AtomicTransaction et ne comprenne pas ces assertions de stratégie.

Si vous le faites, alors vous avez pas besoin WS-AtomicTransaction deux options pour se débarrasser de ces avertissements:

  • Configurer la journalisation pour supprimer ces avertissements.
  • Supprime les assertions du WSDL.

Si vous avez besoin de WS-AtomicTransaction, vous devrez probablement exécuter le code sur un serveur d'applications ou en tant que client d'application Java EE.

+0

Dans mon cas particulier, le WSDL contient une assertion de stratégie wsaw: UsingAddressing. C'est la seule assertion de politique dans le WSDL. Des suggestions sur la façon de configurer le client pour gérer correctement l'exigence d'adressage? Je préfère le réparer que simplement supprimer l'avertissement. – dthorpe

+0

wsaw: UsingAddressing n'est pas une assertion de politique, mais une extension WSDL, qui est quelque chose d'autre. Quel est le message d'avertissement que vous recevez dans votre cas particulier? –

+0

Dec 29, 2011 2:10:34 PM [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector] selectAlternatives AVERTISSEMENT: WSP0075: assertion de stratégie "{http://www.w3.org/2006/05/ L'adressage/wsdl} UsingAddressing "a été évalué comme" UNKNOWN ". Dec 29, 2011 2:10:34 PM [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector] selectAlternatives AVERTISSEMENT: WSP0019: Alternative de stratégie sous-optimale sélectionnée du côté client avec la condition physique "INCONNUE". – dthorpe

5

Vous devez utiliser une version obsolète de jax-ws (je n'ai pas trouvé EffectiveAlternativeSelector dans ma copie 2.2.1), mais laissez-moi essayer.

  1. Créez un fichier logging.properties sur un certain chemin d'accès lors du lancement de votre application (à tout le moins vous pouvez utiliser celui qui se trouve à $JAVA_HOME/lib/logging.properties)
  2. Ajoutez la ligne suivante à ce fichier: com.sun.xml.ws.policy.EffectiveAlternativeSelector.level=OFF
  3. Lancez votre application en tant que

java -Djava.util.logging.config.file=/path/to/your/logging.properties MainClass

+1

J'ai couru dans ceci using Java SE 7u2 sDK téléchargé de la page principale de téléchargements d'Oracle il ya quelques jours. javac et java report version 1.7.0_02. Oracle publie-t-il des distributions obsolètes? – dthorpe

+0

Je voulais dire la distribution jax-ws. Comment l'as-tu obtenu? Est-il livré avec Java SDK? –

+1

Il doit avoir été fourni avec Java SDK car je n'ai pas installé autre chose. Le code généré par wsimport indique "Cette classe a été générée par le RI JAX-WS * JAX-WS RI 2.2.4-b01 * Version source générée: 2.2 " – dthorpe

-3

Est-ce que @SupressWarning (value = "?") Est utile ici?

0

Le @SupressWarnings() n'aide pas dans ce cas. Cette annotation consiste à dire au compilateur de ne pas vous avertir lorsque vous utilisez potentiellement un type java. Ces avertissements de ws sont acheminés dans System.err