OAuthRequestFilter中的CXF NullPointerException

La VloZ Merrill

我正在Glassfish开源4.1.1上使用CXF 3.1.5,我想将OAuth与CXF一起使用,因此我在我的maven pom文件中包括了此工件: cxf-rt-rs-security-oauth2

在此包含之后,对Web服务的每个请求都给了我NullPointerException

它是由过滤器方法OAuthRequestFilter.isCorsRequest引发的异常,经过几分钟的调试,我们发现:(来自CXF的代码)

public void filter(ContainerRequestContext context) {
    validateRequest(JAXRSUtils.getCurrentMessage());
}

这是此行的链接:https : //github.com/apache/cxf/blob/7d1890510a85d4fd7e70faebc56d6685f103621d/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/安全性/oauth2/filters/OAuthRequestFilter.java#L82

此方法称为JAXRSUtils.getCurrentMessage()每个请求都会返回null,并且null稍后会在代码a中导致NullPointerException,但我们不明白为什么。

这是Glassfish日志中的堆栈跟踪:

[2016-02-15T23:46:36.459+0100] [glassfish 4.1] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=29 _ThreadName=http-listener-1(1)] [timeMillis: 1455576396459] [levelValue: 900] [[
  StandardWrapperValve[lv.lavloz.merrill.cxf.app.API]: Servlet.service() for servlet lv.lavloz.merrill.cxf.app.API threw exception
java.lang.NullPointerException
    at org.apache.cxf.rs.security.oauth2.filters.OAuthRequestFilter.isCorsRequest(OAuthRequestFilter.java:246)
    at org.apache.cxf.rs.security.oauth2.filters.OAuthRequestFilter.validateRequest(OAuthRequestFilter.java:86)
    at org.apache.cxf.rs.security.oauth2.filters.OAuthRequestFilter.filter(OAuthRequestFilter.java:82)
    at org.glassfish.jersey.server.ContainerFilteringStage.apply(ContainerFilteringStage.java:132)
    at org.glassfish.jersey.server.ContainerFilteringStage.apply(ContainerFilteringStage.java:68)
    at org.glassfish.jersey.process.internal.Stages.process(Stages.java:197)
    at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:301)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:292)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1139)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:460)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:386)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:334)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
    at java.lang.Thread.run(Thread.java:745)
]]

我用谷歌搜索了这个问题,但没有找到任何解决方案。

注意:这不是一个真正的项目,我只是在一个新的空项目中测试CXF OAuth 2.0的实现,我们是CXF的新手,我们遵循官方文档,但是我们无法解决此错误/缺少某些内容,我们打算在实际项目中使用CXF。

谢尔盖·伯里兹金(Sergey Beryozkin)

我已经在http://cxf.547215.n5.nabble.com/NullPointerException-in-OAuthRequestFilter-tp5765933p5765945.html进行了回复,但由于我不确定这是否是肯定的答案而未在此处发布

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

片段中OnClickListener的NullPointerException

来自分类Dev

Grails中的NullPointerException错误

来自分类Dev

NullPointerException:DialogAlert中的EditText

来自分类Dev

在Java中避免NullPointerException

来自分类Dev

线程中的NullPointerException

来自分类Dev

HandlerThread中的NullPointerException

来自分类Dev

Android中的layoutinflater nullpointerexception

来自分类Dev

Clojure中的NullPointerException

来自分类Dev

新Intent中的NullPointerException

来自分类Dev

JFrame中的NullPointerException

来自分类Dev

Avro ReflectDatumWriter中的NullPointerException

来自分类Dev

FileInputStream中的NullPointerException readObject()

来自分类Dev

CustomArrayAdapter中的NullPointerException

来自分类Dev

在C ++中引发NullPointerException

来自分类Dev

GlyphMapping中的PDFClown NullPointerException

来自分类Dev

Kodein中的NullPointerException

来自分类Dev

NullPointerException是否在CheckFilter中?

来自分类Dev

聊天功能中的NullPointerException

来自分类Dev

我的AsyncTask中的NullPointerException

来自分类Dev

Android中未知的NullPointerException

来自分类Dev

Android的onCreate中的NullPointerException

来自分类Dev

JUnit中的奇怪NullPointerException

来自分类Dev

我的CustomAdapter中的NullPointerException

来自分类Dev

Android活动中的NullPointerException

来自分类Dev

迭代器中的NullPointerException

来自分类Dev

Java ArrayList中的NullPointerException

来自分类Dev

Java NullPointerException在阅读中

来自分类Dev

在Java中防止NullPointerException

来自分类Dev

Clojure中的NullPointerException