Eclipse + Jboss + CXF构建Web Service服务

搭建Web Service需要的以下支持;

1. apache-cxf-2.6.14 官网下载即可

2. Eclipse Kepler J2ee版本或者其他的版本也可以的

3. Jboss 4.2.3GA


搭建步骤:


1. 将apache-cxf-2.6.14 解压,并放置到指定的目录下,以备后用;

2. 打开Eclipse配置cxf设置,window - preferences- web services-CXF 2.X preference


3. 打开Eclipse并新建一个Dynamic Web Project并修改Java 输出目录为WEB-INF/classes下


4. 将CXF lib加载到项目中


5. 在Web.xml中添加如下代码

<servlet>
  <servlet-name>cxf</servlet-name>
  <servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>cxf</servlet-name>
  <url-pattern>/services/*</url-pattern>
  </servlet-mapping>

6. 新建Web Service接口

package com.ws;


import javax.jws.WebService;


@WebService
public interface CXFWebService {

public String getUserInfo(String user);


}

7. 新建WebService接口实现类

package com.ws.impl;


import com.ws.CXFWebService;


public class CXFWebServiceImpl implements CXFWebService {


public String getUserInfo(String user) {
return "Hello " + user;
}


}

8. 在WEB-INF下新建一个cxf-config.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"
xmlns:soap="http://cxf.apache.org/bindings/soap"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<jaxws:server id="testWebService"
serviceClass="com.ws.CXFWebService"
address="/user">
<jaxws:serviceBean>
<bean class="com.ws.impl.CXFWebServiceImpl" />
</jaxws:serviceBean>
</jaxws:server>
</beans>

其中jaxws:server中的
id:可以自定义,但不允许重复;
serviceClass:接口的全路径名;
address:WebService的地址的一部分,WebService发布之后,地址就是http://主机:端口/工程名/在web.xml文件中配置的CXFServlet的url模式,在cxf-servlet.xml文件的jaxws:server标签中配置的address属性的值?wsdl。以我的这个工程为例,主机是本地,端口是jboss默认的8080,工程名是“WebServiceServer”,在web.xml文件中配置的CXFServlet的url-pattern是“/services”,在cxf-servlet.xml文件的jaxws:server标签中配置的address属性的值“/user”,那么我的WebService的WSDL地址就是:http://localhost:8080/WebServiceServer/services/user?wsdl。

9. 启动Jboss Server,并输入http://localhost:8080/WebServiceServer/services/user?wsdl,若出现WSDL的XML格式文本内容表示Web Service服务发布成功了。


测试Web Service服务

1. 新建个Java Project项目,并新建将WebServiceServer中的接口文件引入到项目中


2. 新建TestWebServiceClient测试类

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;


import com.ws.CXFWebService;




public class TestWebServiceClient {


public static void main(String[] args) {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
        factory.setServiceClass(CXFWebService.class);
        factory.setAddress("http://localhost:8080/WebServiceServer/services/user");
        CXFWebService client = (CXFWebService) factory.create();
        System.out.println(client.getUserInfo("123"));
}


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IMK7

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

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

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

打赏作者

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

抵扣说明:

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

余额充值