您的位置:首页 > 编程语言 > Java开发

cxf开发基于web的webservice项目1

2014-06-12 11:40 906 查看
1: 下载cxf

官网:http://cxf.apache.org/download.html



2:解压apache-cxf-2.4.0.zip文件,并查看解压后的文件目录



bin目录: binary的简写,二进制可执行文件.里面放的是一些批处理命令.如这里的wsdl2java.bat

docs目录:帮助文档,主要是存放帮助手册,和一些api等.

etc目录:一些可能用到的配置文件,一般很少用

lib目录: library目录,存放是此框架的开发jar和它所依赖的其他第三方jar包.

samples目录: 框架提供者给我们提供的一些实例.

licenses:版本号,或者一些发行信息.

modules:模块化jar包

3: 配置系统环境变量

配置cxf的系统环境变量

CXF_HOME=自己的cxf项目的根目录

path环境变量后面加上 ;%CXF_HOME%\bin





4: 开发web服务端

创建一个web项目:webservice_003

1: 把cxf目录下的所有Lib加入到该项目



2: 配置web.xml文件,加入cxf的核心servlet

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
<!-- 配置xcf的核心servlet -->
<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/cxf/*</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>


3: 写服务类 HelloWorld

@WebService//这里必须加上webservice,否则里面的方法不能进行发布
@BindingType(value=SOAPBinding.SOAP12HTTP_BINDING)//这里发布的服务协议是saop1.2的服务,
public class HelloWorld {

public String sayHi(String name){

return "name : " + name;
}

}

4:配置cxf-servlet.xml,加入helloWorld webservice服务

cxf-servlet.xml这个文件要放到WEB-INF目录下,. 因此cxf默认就会加载这个配置文件, 所以不需要在在web.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"> 
    <!-- 发布HelloWorld类服务 -->
    <jaxws:endpoint id="helloWorld" address="/helloWorld" implementor="com.cxf.web.server.HelloWorld">
            <!-- 配置请求拦截器 -->
            <jaxws:inInterceptors>
                <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean>
            </jaxws:inInterceptors>
            <!-- 配置响应拦截器 -->
            <jaxws:outInterceptors>
                <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"></bean>
            </jaxws:outInterceptors>
    </jaxws:endpoint>
</beans>
5: 部署项目到tomcat上,并启动tomcat.

打开浏览器输入,http://localhost:8199/webservice_003/cxf/helloWorld?wsdl 进行访问,结果如下:



至此,服务器端开发完毕.

5: 开发client端

1: 创建一个项目:webservice_003_client

2: 利用cxf提供的命令生成客户端代码.



3: 把代码导入到webservice_003_client项目中



4: 编写客户端测试类HelloWorldTest
public class HelloWorldTest {

public static void main(String[] args) {

// 获得webservice服务
HelloWorldService service = new HelloWorldService();

// 获得webservice接口
HelloWorld helloWorld = service.getHelloWorldPort();

// 调用业务方法
System.out.println(helloWorld.sayHi("tao"));
}
}
客户端输出信息: name : tao
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java cxf webservice