我正在使用球衣进行 REST WS。如何在服务器端启用球衣日志?
很长的故事:
我收到客户端异常 - 但我在 tomcat 日志中没有看到任何内容 [它甚至没有到达我的方法]。由于堆栈跟踪显示“toReturnValue”,它确实从服务器获取了一些内容。但我不知道服务员说了什么。
Exception in thread "main" java.lang.IllegalArgumentException: source parameter must not be null
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:98)
at com.sun.xml.internal.ws.message.AbstractMessageImpl.readPayloadAsJAXB(AbstractMessageImpl.java:100)
**at com.sun.xml.internal.ws.client.dispatch.JAXBDispatch.toReturnValue(JAXBDispatch.java:74)**
at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:191)
at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:195)
如果要在服务器端开启日志记录,则需要注册LoggingFilter 泽西过滤器 https://jersey.github.io/apidocs/2.23/jersey/org/glassfish/jersey/filter/LoggingFilter.html(在容器一侧)。
该过滤器将记录请求/响应标头和实体.
这是您需要添加到您的ResourceConfig
class:
@ApplicationPath("/")
public class MyApplication extends ResourceConfig {
public MyApplication() {
// Resources.
packages(MyResource.class.getPackage().getName());
register(LoggingFilter.class);
}
}
请注意,相同的过滤器也适用于客户端。
Client client = Client.create();
client.addFilter(new LoggingFilter());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)