Как скрыть предупреждение в клиенте jax-ws, которое (возможно) вызвано библиотекой jax-ws - PullRequest
10 голосов
/ 13 декабря 2010

Я использую netbeans для генерации клиента веб-сервиса в моем приложении. И моя программа использует библиотеку jax-ws для установки времени ожидания при вызове веб-службы.

Проблема возникает из-за того, что при каждом запуске этой программы возникает много предупреждений .:

13 дек. 2010 г. 16:35:21 [Com.sun.xml.ws.policy.EffectiveAlternativeSelector] выберите Альтернативы ВНИМАНИЕ: WSP0075: Утверждение политики «{http://schemas.xmlsoap.org/ws/2004/10/wsat}ATAlwaysCapability" был оценен как "НЕИЗВЕСТНЫЙ".

13 декабря, 2010 16:35:21 [Com.sun.xml.ws.policy.EffectiveAlternativeSelector] выберите Альтернативы ВНИМАНИЕ: WSP0075: Утверждение политики «{http://schemas.xmlsoap.org/ws/2004/10/wsat}ATAssertion" был оценен как "НЕИЗВЕСТНЫЙ".

13 декабря, 2010 16:35:21 [Com.sun.xml.ws.policy.EffectiveAlternativeSelector] выберите Альтернативы ПРЕДУПРЕЖДЕНИЕ: WSP0019: Выбрана неоптимальная альтернатива политики на стороне клиента с фитнесом «НЕИЗВЕСТНЫЙ».

Здесь я нашел ту же проблему с моей: http://forums.java.net/node/707265, но до сих пор у нее тоже нет ответа.

Есть ли способ скрыть это предупреждение? Я пытаюсь выполнить поиск с помощью Google, но не могу найти подходящий ответ для этой проблемы.

Ответы [ 5 ]

5 голосов
/ 29 декабря 2011

Вы, должно быть, используете устаревшую версию jax-ws (я не нашел EffectiveAlternativeSelector в моей копии 2.2.1), но позвольте мне попробовать.

  1. Создайте файл logging.properties по некоторому пути, доступному при запуске приложения (по крайней мере, вы можете использовать файл, найденный в $JAVA_HOME/lib/logging.properties)
  2. Добавьте следующую строку в этот файл: com.sun.xml.ws.policy.EffectiveAlternativeSelector.level=OFF
  3. Запустите приложение как

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

4 голосов
/ 30 декабря 2011

Я предполагаю, что WSDL, из которого сгенерирован клиент, содержит утверждения политики, связанные с WS-AtomicTransaction.Поскольку для WS-AtomicTransaction требуется менеджер транзакций, а JRE не содержит его, неудивительно, что среда выполнения JAX-WS в JRE не поддерживает WS-AtomicTransaction и не понимает эти утверждения политики.

Если вам не нужна WS-AtomicTransaction, то у вас есть два варианта, чтобы избавиться от этих предупреждений:

  • Настройка ведения журнала для подавления этих предупреждений.
  • Удалите утверждения изWSDL.

Если вам нужен WS-AtomicTransaction, вам, вероятно, придется запускать код на сервере приложений или в качестве клиента приложения Java EE.

1 голос
/ 17 июня 2013

я думаю, что отладка не является решением

http://dannythorpe.com/2012/01/04/java-wcf-usingaddressing-warning/ описывает способ исправить это.

0 голосов
/ 01 сентября 2016

@SupressWarnings () в этом случае не помогает. Эта аннотация означает, что компилятор не должен предупреждать вас о возможном неправильном использовании некоторых типов Java. Эти предупреждения ws передаются в System.err

0 голосов
/ 03 января 2012

Может ли @SupressWarning (value = "?") Здесь использоваться?

...