3
我使用CXF作为我的Web服务后端/客户端存根控件。 当客户端调用Web服务,我得到以下错误:CXF客户端返回NullPointerException
java.lang.NullPointerException
at org.apache.cxf.jaxb.JAXBDataBinding.createContext(JAXBDataBinding.java:559)
at org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContextAndSchemas(JAXBDataBinding.java:497)
at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:324)
at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:442)
at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:680)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:505)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:242)
at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:202)
at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)
at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:90)
at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:144)
at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:133)
at com.amazonws.AmazonWS.createAmazonWS(AmazonWS.java:49)
线49分以下指令:
AmazonWS client = (AmazonWS) factory.create();
其中涉及以下块之后:
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.setServiceClass(AmazonWS.class);
factory.setAddress("http://localhost:9000/helloAmazon");
我做错了什么?似乎我的客户甚至无法访问Web服务。 为什么?
谢谢
,你有没有收到任何结果? –
没关系:当我输入:'http:// localhost:9000/helloAmazon?wsdl'时,我可以拥有我的wsdl – Raphael
CXF的哪个版本?看起来像CXF的一个古老版本,JAXBDataBinding的第559行有任何可以使NPE使用一年的代码。尝试更新版本的CXF。 –