Отключить генерацию WADL на Джерси 1.19.1

Я использую Джерси 1.19.1 в веб-проекте с Java+Jboss.

Каждый раз, когда я что-то запрашиваю у веб-сервиса, он показывает эту запись в server.log:

ERROR [STDERR] com.sun.jersey.server.wadl.generators.AbstractWadlGeneratorGrammarGenerator attachTypes
INFO: Couldn't find grammar element for class java.lang.String

В поисках, как его отключить, я нашел это:

    <init-param>
        <param-name>com.sun.jersey.config.server.wadl.DisableWADL</param-name>
        <param-value>true</param-value>
    </init-param>

Но это ничего не изменило для меня.

Как я могу отключить WADL, чтобы это надоедливое сообщение больше не появлялось?

Вот полная запись для сервлета:

<servlet>
    <servlet-name>windi-mobile-service</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.server.wadl.DisableWADL</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>br.com.altimus.mobile.service</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

person doughaase    schedule 10.04.2017    source источник


Ответы (2)


Разобрался: на версии 1.19.x имя параметра должно быть таким:

com.sun.jersey.config.feature.DisableWADL
person doughaase    schedule 19.04.2017

Использование ApplicationConfig отключить, используя свойство ниже

jersey.config.server.wadl.disableWadl = "истина"

      @ApplicationPath("/rest")
    public class ApplicationConfig extends Application {


        @Override
        public Map<String, Object> getProperties() {

            Map<String, Object> properties = new HashMap<String, Object>();
            properties.put("jersey.config.server.provider.packages", "com.study.rest");
            properties.put("jersey.config.server.wadl.disableWadl", "true");
            properties.put("jersey.config.server.provider.classnames","org.glassfish.jersey.media.multipart.MultiPartFeature");
            properties.put(CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER,"0");
            System.out.println("getProperties:-> CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER_SERVER :" + CommonProperties.getValue(properties,CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER,String.class));
            return properties;
        }
}

Можете проверить, может вместо DisableWADL будет работать disableWadl.

person gladiator    schedule 11.04.2017
comment
Да, частично правильно! Мне нужно было только добавить com. в начале имени параметра, которое вы использовали (в web.xml), и это сработало. Спасибо. - person doughaase; 13.04.2017
comment
Это может быть связано с разницей в версии трикотажа. - person gladiator; 17.04.2017
comment
Ой, моя ошибка: это не сработало... Я смотрел другой файл журнала. Я пробовал с com.sun.jersey.config.server.wadl.disableWadl и jersey.config.server.wadl.disableWadl, и оба не работали... - person doughaase; 19.04.2017