2017-04-10 100 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