Scala-PlayFw-ApacheCxf / 线程“default-workqueue-1”中的异常 java.lang.NullPointerException

问题描述

当使用带有 Scala/PlayFw 和 sbt-play-soap(plugin) 的网络服务 (SOAP) 时

plugins.sbt

resolvers += Resolver.url("play-sbt-plugins",url("https://dl.bintray.com/playframework/sbt-plugin-releases/"))(Resolver.ivyStylePatterns)
addSbtPlugin("com.typesafe.sbt" % "sbt-play-soap" % "1.2.0")

build.sbt

WsdlKeys.wsdlTasks in Compile := Seq(
   WsdlKeys.WsdlTask(url("https://example.com/Service?wsdl"),packageName = Some("com.example.service"))
)
WsdlKeys.futureApi := WsdlKeys.ScalaFutureApi

在任务中(Scala)

class ExampleTask @Inject()(implicit ec: ExecutionContext,actorSystem: ActorSystem,cxf: ApacheCxfBus,conf: Configuration) {
    actorSystem.scheduler.scheduleAtFixedrate(initialDelay = 5.seconds,interval = 10.minutes) { () =>
        val service = new com.example.service.Service(cxf,conf).getData // <- Error Line
        service.map(response => {
           // db operations
        })
    }
}
  • 在没有任何原因或顺序的情况下发生以下错误 向 SOAP 发出的请求。
  • 错误没有特定的顺序,并且 状况。它可以随时发生。
  • 在重复请求期间,错误发生的频率会增加

线程“default-workqueue-1”中的异常 java.lang.NullPointerException 在 org.apache.cxf.endpoint.ClientImpl$2.onMessage(ClientImpl.java:521) 在 org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:1201) 在 org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:412) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 org.apache.cxf.workqueue.AutomaticWorkQueueImpl$AWQThreadFactory$1.run(AutomaticWorkQueueImpl.java:345) 在 java.lang.Thread.run(Thread.java:748)

  • CXF 版本(已测试):3.1.5 - 3.4.0 - 3.4.3
  • JDK 版本(已测试):8、11
  • 版本差异并没有解决问题。

我对这个常见问题的广泛研究并没有得出一个健康的结论。

我想征求那些对这个主题感兴趣并有意见的人的意见。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...