eclipse cxf wsdl2java_Apache CXF客户端在Eclipse中加载良好,但独立的jar在WSDLServiceFactory中引发NullpointerException...

我的目标是使用mvn程序集创建一个在具有所有依赖项的独立jar中运行的Web Service客户端:

我使用CXF代码生成器wsdl2java生成了客户端,并创建了一个名为NetBanxAutostatementService的@WebServiceClient。

对于依赖我

2.5.2

org.apache.cxf

cxf-rt-frontend-jaxws

${cxf.version}

runtime

org.apache.cxf

cxf-rt-transports-http

${cxf.version}

runtime

拼命地我什至试图添加更多的“东西”

org.apache.cxf

cxf-rt-core

2.5.2

runtime

org.apache.cxf

cxf

2.5.2

pom

runtime

问题:每次我尝试运行“ java -jar target / Netbanx-0.0.1-SNAPSHOT-jar-with-

dependencies.jar”

INFO [main] (Netbanx.java:97) - autostatement_wsdlLocation:https://www.test.netbanx.com/cgi-bin/autostatement_wsdl

Exception in thread "main" java.lang.NullPointerException

at org.apache.cxf.wsdl11.WSDLServiceFactory.(WSDLServiceFactory.java:92)

at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:204)

at org.apache.cxf.jaxws.ServiceImpl.(ServiceImpl.java:148)

at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:91)

at javax.xml.ws.Service.(Service.java:56)

at com.netbanx.autostatement.NetBanxAutostatementService. (NetBanxAutostatementService.java:39)

at my.project.netbanx.Netbanx.(Netbanx.java:98)

at my.project.netbanx.Netbanx.main(Netbanx.java:130)

这在调用WebServiceClient autostatementService = new

NetBanxAutostatementService(autostatement_wsdlLocation)的行中发生;我通过日志行知道我没有将autostatement_wsdlLocation传递为null

Java代码:

URL autostatement_wsdlLocation = null;

URL payment_wsdlLocation = null;

try {

autostatement_wsdlLocation = new URL(properties.getProperty("autostatement_wsdlLocation"));

payment_wsdlLocation = new URL(properties.getProperty("payment_wsdlLocation"));

} catch (MalformedURLException e) {

logger.error("MalformedURLException",e);

}

/**

* Load the Netbanx's webservices AutostatementService and PaymentService

*/

try {

logger.info("autostatement_wsdlLocation:"+autostatement_wsdlLocation.toString());

autostatementService = new NetBanxAutostatementService(autostatement_wsdlLocation); //it is here I get the NullPointerException error

logger.info("payment_wsdlLocation:"+payment_wsdlLocation.toString());

paymentService = new NetBanxPaymentService(payment_wsdlLocation);

webServiceStarted = true;

} catch(javax.xml.ws.WebServiceException wsException ){

String error = "Cannot create NetBanx web service please make sure this host can reach:" + autostatement_wsdlLocation +" and " + payment_wsdlLocation;

logger.error(error);

logger.error("WebServiceException",wsException);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是一个 SOAP 错误,表示在程序运行时发生了空指针异常。这意味着您的程序尝试调用了一个 null 对象的方法或访问了一个 null 对象的属性,而该对象的实际值为 null。解决这个问题的方法是检查您的代码,找出哪个对象是 null 并将其初始化为有效值。 ### 回答2: org.apache.cxf.binding.soap.SoapFault: Fault: java.lang.NullPointerException 是一个SOAP异常,它指出在处理SOAP消息时发生了一个空指针异常。 SOAP(简单对象访问协议)是一种用于在网络上交换结构化信息的协议。当客户端与服务端之间通过SOAP通信时,可能会出现各种异常,包括空指针异常。 在这种情况下,org.apache.cxf.binding.soap.SoapFault 表示SOAP通信期间发生了错误,导致服务端返回了一个SOAP错误消息。这个错误消息的具体内容是 "Fault: java.lang.NullPointerException",意味着在服务端处理请求时发生了空指针异常。 空指针异常(java.lang.NullPointerException)通常是由于使用了一个空对象的引用而产生的。在这种情况下,服务端可能在处理请求过程调用了一个未初始化或为空的对象,导致空指针异常的抛出。这可能是由于代码缺陷、错误的数据传递或其他运行时错误导致的。 要解决这个问题,需要检查服务端代码,并确保正确地初始化和使用对象引用,避免出现空指针异常。可以使用调试技术或添加日志语句来帮助确定引发异常的具体位置,并进行修复。此外,还可以检查数据传递过程是否存在错误,确保正确地传递和解析数据。 总之,org.apache.cxf.binding.soap.SoapFault: Fault: java.lang.NullPointerException 是一个SOAP异常,它告诉我们在处理SOAP消息时发生了一个空指针异常。解决此问题需要检查服务端代码,并确保正确地初始化和使用对象引用,以及确保数据传递过程的正确性。 ### 回答3: org.apache.cxf.binding.soap.SoapFault: Fault: java.lang.NullPointerException是一个SOAP协议的错误,它表示在CXF框架发生了一个空指针异常。 空指针异常(NullPointerException)通常是由于程序的某个对象为空而引起的。在这个特定的错误CXF框架在处理SOAP消息时发生了一个未预料到的空指针异常。 要解决这个问题,我们需要追踪错误的发生点并找出为空的对象。首先,检查CXF框架相关的配置文件,确保所有的依赖项都正确地配置和加载。如果配置正确,那么可能是代码的某个对象没有正确地被初始化或注入。 使用调试工具来调试代码是一种很好的方法,它可以帮助我们找出具体的出错位置。一旦错误点被确定,我们可以通过增加空检查的逻辑或者检查对象的初始化过程来解决这个问题。 另外,确保在CXF框架的使用过程遵循最佳实践,例如正确地配置和使用CXF的异常处理机制,以及正确地处理和记录异常信息。 总而言之,org.apache.cxf.binding.soap.SoapFault: Fault: java.lang.NullPointerException表示在CXF框架发生了一个空指针异常。为了解决这个问题,我们需要定位并修复代码的空指针异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值