首页 > 解决方案 > Scala-PlayFw-ApacheCxf / 线程“default-workqueue-1”中的异常 java.lang.NullPointerException

问题描述

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

插件.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")

构建.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
        })
    }
}

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

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

我想征求那些对此感兴趣并对此有意见的人的意见。谢谢。

标签: javascalaplayframeworksoap-clientcxf-client

解决方案


推荐阅读