温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样使用cxf3.0.4搭建webservice服务需要的最精简jar包

发布时间:2021-12-13 09:28:50 来源:亿速云 阅读:167 作者:柒染 栏目:互联网科技

今天就跟大家聊聊有关怎样使用cxf3.0.4搭建webservice服务需要的最精简jar包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

下面是测试结果,只列出报错了的测试:

1、org.apache.catalina.LifecycleException: A child container failed during start 缺少:cxf-core-3.0.4.jar(最核心的包,不多说)

2、java.lang.ClassNotFoundException: org.apache.cxf.binding.soap.SoapBindingConfiguration 缺少:cxf-rt-bindings-soap-3.0.4.jar (soap协议)

3、org.apache.cxf.jaxb.JAXBDataBinding: 缺少:cxf-rt-databinding-jaxb-3.0.4.jar

4、加载Application文件时出现Unable to locate Spring NamespaceHandler for XML schema namespace [http://cxf.apache.org/jaxws]

缺少:cxf-rt-frontend-jaxws-3.0.4.jar (frontend 前置的意思,你懂的)

5、org/apache/cxf/frontend/spring/ClientProxyFactoryBeanDefinitionParser错误: 缺少:cxf-rt-frontend-simple-3.0.4.jar

6、class path resource [META-INF/cxf/cxf-servlet.xml] cannot be opened because it does not exist 缺少:cxf-rt-transports-http-3.0.4.jar

7、org.apache.cxf.BusException: No DestinationFactory was found for the namespace http://cxf.apache.org/transports/udp. 缺少:cxf-rt-transports-udp-3.0.4.jar

8、org.apache.cxf.ws.discovery.internal.WSDiscoveryServiceImpl startup 警告: Could not start WS-Discovery Service. javax.xml.ws.WebServiceException: java.lang.NullPointerException 不能初始化配置的bean服务,也就是运行到jaxws:server时出错

缺少:cxf-rt-ws-addr-3.0.4.jar

9、java.lang.ClassNotFoundException: org.apache.cxf.ws.policy.AssertionInfoMap 缺少:cxf-rt-ws-policy-3.0.4.jar

10、java.lang.ClassNotFoundException: org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean 缺少:cxf-rt-wsdl-3.0.4.jar

11、java.lang.ClassNotFoundException: org.apache.neethi.AssertionBuilderFactory 缺少:neethi-3.0.3.jar

12、java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 缺少:slf4j-api-1.7.9.jar

13、java.lang.ClassNotFoundException: org.apache.ws.commons.schema.resolver.URIResolver 缺少:xmlschema-core-2.2.1.jar

所以,总结cxf3.0.4框架必需的包为: cxf-core-3.0.4.jar cxf-rt-bindings-soap-3.0.4.jar cxf-rt-databinding-jaxb-3.0.4.jar cxf-rt-frontend-jaxws-3.0.4.jar cxf-rt-frontend-simple-3.0.4.jar cxf-rt-transports-http-3.0.4.jar cxf-rt-transports-udp-3.0.4.jar cxf-rt-ws-addr-3.0.4.jar cxf-rt-wsdl-3.0.4.jar cxf-rt-ws-policy-3.0.4.jar cxf-rt-wsdl-3.0.4.jar neethi-3.0.3.jar slf4j-api-1.7.9.jar xmlschema-core-2.2.1.jar

注意:这里不包括spring依赖包和commoms下的jar包

引入CXF Bean定义如下,早期的版本中使用,如果是servlet引入的话则下面三句不用了,因为框架引入了 配置文件中不需要: <import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />

[html] view plain copy

<!-- scope="singleton"单例 -->

<bean id="userServiceBean" class="com.winit.webservice.UserWebService"> </bean> <!-- 注意下面的address,这里的address的名称就是访问的WebService的name --> <jaxws:server id="userService" serviceClass="com.winit.webservice.IUserWebService" address="/Users"> <jaxws:serviceBean> <!-- 要暴露的 bean 的引用 --> <ref bean="userServiceBean"/> </jaxws:serviceBean> </jaxws:server>

web.xml中添加cxf的servlet

[html] view plain copy

<servlet> <servlet-name>CXFService</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CXFService</servlet-name> <url-pattern>/webservice/*</url-pattern> </servlet-mapping> 

看完上述内容,你们对怎样使用cxf3.0.4搭建webservice服务需要的最精简jar包有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI