[Java 基础]-- eclipse mar 创建rest风格webservice ---->针对cxf(未完善)

本文介绍如何使用CXF搭建WebService服务,包括环境配置、代码编写、生成wsdl文件及客户端测试等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、搭建环境

jdk1.7以上 64位

eclipse mar最新版本

tomcat7 64位

        cxf 最新版本 3.1.2

一版前三个已经配置好,只需要配置cxf即可使用

步骤:打开window环境变量---》设置

1、CXF-HOME       --->F:\eclipse_common\apache-cxf-3.1.2;//指cxf的解压路径

2、PATH                ---->F:\eclipse_common\apache-cxf-3.1.2\bin;//指cxf解压路径下的bin路径

3、CLASSPATH   ---->F:\eclipse_common\apache-cxf-3.1.2\lib\cxf-manifest.jar;//指lib包下的cxf-manifest.jar架包依赖

配置完成以后,在window命令行输入 wsdl2java  -v

          如果显示:wsdl2java  apache-cxf-3.1.2 那么表示配置成功!

二、编写代码

1、创建一个web Dynamic工程名称:CxfWebServiceTest------》然后导入cxf 3.1.2的所有架包(复制再粘贴到项目lib目录下即可)

包结构:src/cxf/interfaces----->存放接口ITestCxfService.java             (1)

src/cxf/implement---->存放实现类ITestCxfServiceImpl.java  (2)

(1)代码如下:

package cxf.interfaces;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
public interface ITestCxfService {
//测试cxf的接口
@WebMethod
public String testCxfService(@WebParam(name="message")String message,@WebParam(name="result")int result)throws Exception;
}

@WebService:注解表明是webService

@WebMethod:注解表明是方法

@WebParam :注解表明方法的参数

(2)代码如下

package cxf.implement;
import cxf.interfaces.ITestCxfService;
public class ITestCxfServiceImpl implements ITestCxfService{
@Override
public String testCxfService(String message, int result) throws Exception {
if(result==0){
return message;
}else{
return "error!";
}
}
}

      2、配置xml文件

web.xml,该文件的标签是有固定顺序的,不能随意变更

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>CxfWebServiceTest</display-name>
  <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>WEB-INF/service-beans.xml</param-value>
  </context-param>
  <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>  
  </servlet>
  <servlet-mapping>
  <servlet-name>CXFServlet</servlet-name>
  <url-pattern>/*</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 3、编写service-beans.xml文件

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xmlns:jaxws="http://cxf.apache.org/jaxws"  
  xsi:schemaLocation="  
    http://www.springframework.org/schema/beans  
    http://www.springframework.org/schema/beans/spring-beans.xsd  
    http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">  
 <!--  <import resource="classpath:META-INF/cxf/cxf.xml"/>  
  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>  
  <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>   --><!--在cxf-3.1.2以后就不用在文件中添加这三段描述-->
  <bean id="TestCxfService" class="cxf.implement.ITestCxfServiceImpl"/>  <!--实现类的全类名-->
  <jaxws:endpoint id="testCxfService" implementor="#TestCxfService" address="/testCxfService" />  <!--暴露的访问点-->
</beans>  

三、生成wsdl文件

1、选择项目------》单击右键-----》选择export----->web WAR file-------->选择刚才生成的项目-------》指定到tomcat webapp 目录下

2、重启tomcat ------>在地址栏输入http://localhost:8080/CxfWebServiceTest/testCxfService?wsdl

3、回车将会看见wsdl文件

四、测试刚才的web service接口(CXF客户端)

        1、创建一个java project 工程(注意:不是web Dynamic项目)名称:TestCxfService,然后导入cxf的架包

      包结构:src/test/cxf

2、需要利用cxf的bat文件命令

 

所以,进入cxf-3.2.1文件夹的bin目录下,打开cmd 进入命令行

使用命令wsdl2java -ptest.cxf -dF:\TestCxfService\src  -all  http://localhost:8080/CxfWebServiceTest/testCxfService?wsdl

*** test.cxf代表TestCxfService测试项目下的包

*** F:\TestCxfService\src 代表测试项目的目标路径

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oo寻梦in记

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值