当前位置: 首页 > 知识库问答 >
问题:

WSDServiceFactory中的空指针异常-Apache CXF库

易祖鹤
2023-03-14

我的代码有问题。WSDL文件由来自apache cxf的wsdl2java解析。现在,我试图获得与web服务的连接,但仍然得到空指针异常。

Exception in thread "main" java.lang.NullPointerException
        at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:92)
        at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:203)
        at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:147)
        at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:97)
        at javax.xml.ws.Service.<init>(Service.java:56)...

url地址指向我下载WSDL文件的位置。为了构建jar,我使用了Maven,其依赖项如下:

  • jaxws-api
  • 超文本传输协议
  • cxf-rt前端-jaxws
  • cxf-rt-bindings-肥皂

带有deps的jar是由maven assembly插件创建的

确保wsdl文件存在,因为它是从那里下载的。

有什么建议吗?感谢任何帮助。

顺便说一句。这不是重复的问题,我找到的任何解决方案都不适合我。

共有3个答案

卫财
2023-03-14

解决方案非常简单,我刚刚将ApacheCXF库的版本更改为旧版本,它可以正常工作。所以可能是我的配置有问题,或者Apache CXF有缺陷。

因此,作为一种解决方案,只需检查提供的lib的旧版本。

充小云
2023-03-14

相反,在部署依赖于Apache CXF库的Java应用程序时,我使用了目标设置为复制依赖项的maven依赖项插件。这不会产生单个JAR,但会将所有必需的JAR复制到目标/文件夹中。然后很容易把它们都放在类路径中,并启动Java应用程序。

江温书
2023-03-14

我在gradle使用shadowJar时遇到了同样的问题。解决方案是显式合并总线扩展。META-INF/cxf/目录中的txt服务文件:

shadowJar {
  archiveName = 'application.jar'
  mergeServiceFiles{
    path='META-INF/cxf'
  }
}
 类似资料:
  • 问题内容: 有可能这可能是一个双重问题。我将String变量初始化为null。我可能会或可能不会使用一个值更新它。现在我想检查此变量是否不等于null以及我尝试执行的操作是否会得到null指针异常。空指针异常,因为它代价高昂。是否有任何有效的解决方法.TIA 问题答案: 如果您使用 你 不会 得到。 我怀疑你在做什么: 这是因为null 而引发,而不是因为null。 如果仍然无法解释,请发布您用于

  • 我已经更新了我的项目中的一些依赖关系之后,我的Hibernate配置类显示Nullpointerx的。 我将SpringDataJPA存储库与hibernate一起使用,已经超过24小时了,仍然没有找到任何关于小问题的适当解决方案。 我已经尝试过的一些解决方案:- 使用@bean(name=“entityManagerFactory”)提供bean名称 我面临的问题 波姆。xml文件 配置类 db

  • 它是从哪里来的?

  • 当我试图从DB查询结果时,我得到一个空指针异常。以下是错误: 这是错误产生的函数。 如果我启动应用程序信息服务(=new ApplicationInfoService()),我会得到一个指向我的服务类的空指针错误,在这里进行查询 错误转到createQuery行,如果我打印出EntityManager,它将返回“null”。为什么我的Entitymanager不能初始化。我在我的登录系统中使用了几

  • 当你点击btnChangePass,我得到错误。 我有一个错误: FATAL EXCEPTION:主进程:com.company.learn2,PID:18854java.lang.NullPointerExcture atcom.company.learn2。Heslo.change密码(Heslo.java:84)在com.company.learn2。Heslo.on点击(Heslo.jav