HTML   发布时间:2022-04-14  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了web-services – 创建CXF Web服务客户端时的ServiceConstructionException大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个Web服务客户端,我在创建Web服务时收到以下错误.我想知道我是否遗漏了这个错误:
Error running SQL module: org.apache.cxf.service.factory.serviceConstructionException: Could not resolve a binding for null
javax.xml.ws.WebserviceException: org.apache.cxf.service.factory.serviceConstructionException: Could not resolve a binding for null
        at org.apache.cxf.jaxws.serviceImpl.getPort(serviceImpl.java:298)
        at org.apache.cxf.jaxws.serviceImpl.getPort(serviceImpl.java:291)
        at javax.xml.ws.service.getPort(service.java:44)
        at net.sf.gateway.client.base.sql.SQLClientBase.setSecurityHeaderTokens(SQLClientBase.java:244)
        at net.sf.gateway.client.base.sql.SQLClientBase.get(SQLClientBase.java:292)
        at net.sf.gateway.client.module.sql.SQLModule.getBatch(SQLModule.java:149)
        at net.sf.gateway.client.module.sql.SQLModule.getAndProcessSQL(SQLModule.java:110)
        at net.sf.gateway.client.module.sql.SQLModule.run(SQLModule.java:280)
        at net.sf.gateway.client.GatewayClient.exec(GatewayClient.java:399)
        at net.sf.gateway.client.GatewayClient.run(GatewayClient.java:174)
        at net.sf.gateway.client.GatewayClient.main(GatewayClient.java:166)
Caused by: 
org.apache.cxf.service.factory.serviceConstructionException: Could not resolve a binding for null
        at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createBindingInfo(AbstractWSDLBasedEndpointFactory.java:404)
        at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoinTinfo(AbstractWSDLBasedEndpointFactory.java:258)
        at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:146)
        at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:51)
        at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
        at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
        at org.apache.cxf.jaxws.serviceImpl.createPort(serviceImpl.java:437)
        at org.apache.cxf.jaxws.serviceImpl.getPort(serviceImpl.java:296)
        ... 10 more
Caused by: 
org.apache.cxf.busException: No binding factory for namespace http://scheR_522_11845@as.xmlsoap.org/soap/ registered.
        at org.apache.cxf.binding.bindingFactorymanagerImpl.getBindingFactory(BindingFactorymanagerImpl.java:91)
        at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createBindingInfo(AbstractWSDLBasedEndpointFactory.java:394)
        ... 17 more

这是代码:@H_772_5@

ClassLoader cl = Thread.currentThread().getContextClassLoader();
URL WSDL_LOCATION=null;
if ( null == cl ) cl = SQLservice.class.getClassLoader();
WSDL_LOCATION = cl.getresource( "SQLserviceSoap.wsdl" );
QName service_name = new QName("https://myurl.org/services/myservice?wsdl","SQLservice");
service service = service.create(WSDL_LOCATION,service_name);
SOAPport sqlservice = service.getPort(SOAPport.class);
Client client = org.apache.cxf.frontend.ClientProxy.getClient(sqlservicE);
Endpoint cxfEndpoint = client.getEndpoint();
Map<String,Object> outProps = new HashMap<String,Object>();
outProps.put(WSHandlerConstants.ACTION,WSHandlerConstant@R_489_3171@_TOKEN);
outProps.put(WSHandlerConstantS.USER,soapUser);
outProps.put(WSHandlerConstants.passworD_TYPE,WSConstants.PW_TEXT);
outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS,passwordCallBACkHandler.class.getName());
outProps.put("password",soapPass);
WSS4JoutInterceptor wssOut = new WSS4JoutInterceptor(outProps);
cxfEndpoint.getoutInterceptors().add(wssOut);

String result = sqlservice.ping("test");

这就是它死的地方:SOAPport sqlservice = service.getPort(SOAPport.class);@H_772_5@

解决方法

看起来你没有类路径上的soap绑定.如果使用maven,您是否将cxf-rt-bindings-soap工件作为依赖项?

大佬总结

以上是大佬教程为你收集整理的web-services – 创建CXF Web服务客户端时的ServiceConstructionException全部内容,希望文章能够帮你解决web-services – 创建CXF Web服务客户端时的ServiceConstructionException所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。