2017-04-10 15 views
1

Java + Jboss가있는 웹 프로젝트에서 Jersey 1.19.1을 사용하고 있습니다. 내가 WebService에 뭔가를 요청Jersey 1.19.1에서 WADL 생성 사용 안 함

매번, 그것은이 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> 

답변

1

이 그것을 알아 냈 : 버전 1.19.x에, 매개 변수 이름은 다음과 같이 할 필요가 :

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

ApplicationConfig를 사용

jersey.config.server.wadl.disableWadl = "true"를

 @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에서) 당신이 사용했던 parameter-name의 시작 부분에, 그것은 작동했습니다. 감사. – haase

+0

저지 버전의 차이 때문일 수 있습니다. – gladiator

+0

죄송합니다. 내 실수 : 작동하지 않았습니다 ... 다른 로그 파일을보고있었습니다. 나는 com.sun.jersey.config.server.wadl.disableWadl과 jersey.config.server.wadl.disableWadl을 시도해 보았고, 둘 다 작동하지 않았다 ... – haase