2017-04-10 39 views
1

我在使用Java + Jboss的Web項目上使用澤西島1.19.1。在澤西島1.19.1上禁用WADL生成

每次我要求從WebService的東西,它顯示了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> 
    <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> 

回答

1

想通了:在1.19.x版本,帕拉姆名稱必須是這樣的:

com.sun.jersey.config.feature.DisableWADL 
0

使用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; 
     } 
} 

你可以檢查而不是DisableWAD LdisableWadl將工作。

+0

是的,完全正確!我只需要添加「com」。在你使用的參數名稱(在web.xml上)開始時,它就起作用了。謝謝。 – haase

+0

這可能是由於球衣版本的差異。 – gladiator

+0

糟糕,我的錯誤:它沒有奏效......我在看另一個日誌文件。我嘗試使用com.sun.jersey.config.server.wadl.disableWadl和jersey.config.server.wadl.disableWadl,兩者都沒有工作... – haase