Java 在WebLogic12.2.1中禁用WADL

Java 在WebLogic12.2.1中禁用WADL,java,rest,jersey,jax-rs,weblogic,Java,Rest,Jersey,Jax Rs,Weblogic,我正在尝试禁用WADL,而不使用JMX选项或web.xml选项 简单的JAX-RS应用程序类如下: @ApplicationPath("resources") public class TestWADL extends Application { public Map<String, Object> getProperties() { Map<String, Object> props = new HashMap(); props.put("j

我正在尝试禁用
WADL
,而不使用JMX选项或
web.xml
选项

简单的
JAX-RS
应用程序类如下:

@ApplicationPath("resources")
public class TestWADL
  extends Application
{
  public Map<String, Object> getProperties()
  {
    Map<String, Object> props = new HashMap();
    props.put("jersey.config.server.wadl.disableWadl", true);
    return props;
  }
}

我找到了一种动态禁用/启用wadl的方法(如果您没有在web.xml中指定属性),如下所示:

package client;

import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;

import org.glassfish.jersey.server.wadl.WadlApplicationContext;

@Path("test")
public class MyJersey {
    public MyJersey() {
        super();
    }
    @Path("switchwadl")
    @POST
    public void switchMethod(@Context WadlApplicationContext wadlApplicationContext) {
        wadlApplicationContext.setWadlGenerationEnabled(!wadlApplicationContext.isWadlGenerationEnabled());
    }
}

您可以覆盖Jersey提供的默认WADL生成器,以不返回任何内容


给出了一个起点。

嘿,我面临着同样的异常,您是否成功地解决了它?“jersey.config.server.wadl.disableWadl”键是正确的。你能分享一下你是如何为jax rs和通用属性配置系统的吗?我也有同样的问题,它看起来像一个bug(注意,它在WLS12.1.3上成功运行)。为了提供信息,我打开了一个关于Oracle支持的SR。@Rouliboy您是否收到过关于SR的回复?我现在也遇到了同样的问题。您可以使用包org.glassfish.jersey.server的ServerProperties.WADL\u FEATURE\u DISABLE常量来代替硬编码字符串
package client;

import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;

import org.glassfish.jersey.server.wadl.WadlApplicationContext;

@Path("test")
public class MyJersey {
    public MyJersey() {
        super();
    }
    @Path("switchwadl")
    @POST
    public void switchMethod(@Context WadlApplicationContext wadlApplicationContext) {
        wadlApplicationContext.setWadlGenerationEnabled(!wadlApplicationContext.isWadlGenerationEnabled());
    }
}