在java中如何用Apche CXF开发webservice,实际操作展示

BSO 2020-09-02 16:12:37 java常见问答 4459

在科技水平高速发展的今时今日,掌握一门扎实的技术对于每一个从事IT行业的人来说都是不可或缺的,尤其是java的应用,在其中的地位举足轻重,不可忽视。今天就主要来为大家介绍一下,在java中如何用Apche CXF开发webservice,并且用实际的操作来为大家展示。

首先,我们可以知道的是,CXF开发webservice是比较方便和简单的,它和spring的集成十分完美。下面用一个实际的例子来为大家展示。具体的步骤如下:

1.在eclipse中新建一个web工程,导入依赖包;

2.编写一个接口,代码如下:

public String test(@WebParam(name = "value", targetNamespace = "http://service.cxf.zcl.com/", mode = WebParam.Mode.IN) String value);

需要注意的是,CXF开发的webservice,接口中的方法的参数一定要以这种方式,不然的话客户端调用的时候CXF服务端会接收不到参数的值。name:参数名称;targetNamespace:命名空间;mode:参数类型,IN表示输入。

3.编写一个实现类,实现接口的方法;

4. spring的集成,编写一个bean文件,如:cxf-beans.xml,代码展示如下:

1.
<?xml version="1.0" encoding="UTF-8" ?>   
2.
<beans
    xmlns="http://www.springframework.org/schema/beans"  
3.
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
4.
    xmlns:jaxws="http://cxf.apache.org/jaxws"  
5.    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd   
6.                        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">   
7.  
8.    
    <import resource="classpath:META-INF/cxf/cxf.xml" />   
9.    
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />   
10.    
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />   
11.       
12.    
    <jaxws:endpoint id="vote" implementor="com.zcl.cxf.service.VoteImpl" address="/Vote" />   
13.
</beans>

5.配置CXFServlet,在web.xml文件中配置CXFServlet,加载cxf-beans.xml文件,代码展示如下:

1.
<web-app
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
2.
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
3.    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
4.    id="WebApp_ID" version="2.5">   
5.  
6.    
    <context-param>   
7.        
        <param-name>contextConfigLocation</param-name>   
8.        
        <param-value>WEB-INF/cxf-beans.xml</param-value>   
9.    
    </context-param>   
10.       
11.    
    <listener>   
12.        
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   
13.    
    </listener>   
14.       
15.    
    <servlet>   
16.        
        <servlet-name>cxf</servlet-name>   
17.        
        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>   
18.        
        <load-on-startup>1</load-on-startup>   
19.    
    </servlet>   
20.    
    <servlet-mapping>   
21.        
        <servlet-name>cxf</servlet-name>   
22.        
        <url-pattern>/services/*</url-pattern>   
23.    
    </servlet-mapping>   
24.
</web-app>

工程部署到中间件,如tomcat,就可以访问该webservice了。

以上就是关于在java中如何用Apche CXF开发webservice,并且用实际的操作为大家展示出来。想要了解更多java经典例子以及常见问题,敬请关注奇Q工具网。

推荐阅读:

在java中如何使用jdk web调用webservice接口?用axis1.4怎么做?

在java中如何使用axis2调用webservice接口,具体操作展示

在java中怎么用xfire调用webservice接口,操作实例展示