前面所介绍的cxf发布方式都只给予javase的,以下是基于web的cxf的发布方式的第一种——简单发布
1、导包
新建一个webproject,然后导入cxf的基本jar包(共67个)
2、web.xml
在web.xml中加上以下代码
<!-- 配置CXF的核心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>
3、HelloService
package com.njupt.cxf; import java.text.SimpleDateFormat; import java.util.Date; import javax.jws.WebService; import javax.xml.ws.BindingType; import javax.xml.ws.soap.SOAPBinding; @WebService//如果不加,则看不到对外提供方法 @BindingType(value=SOAPBinding.SOAP12HTTP_BINDING)//将soap1.1协议改成soap1.2协议 public class HelloService { public String sayHello(String name){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"); return sdf.format(new Date()) + " hello " + name; } }
4、cxf-servlet.xml
在web-inf下新建一个file,名为cxf-servlet.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:jaxrs="http://cxf.apache.org/jaxrs" xmlns:cxf="http://cxf.apache.org/core" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd"><!-- 引入CXF Bean定义如下,早期的版本中使用 --><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" /><!-- 第一种发布方式:简单发布(没有接口的发布) --><!-- id:唯一标示 implementor:提供服务的类 address:服务的请求url--> <jaxws:endpoint id="helloService" implementor="com.njupt.cxf.HelloService" address="/hello"><!-- 加入请求的消息拦截器 --><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中
6、在地址栏中输入http://localhost:8080/CXF_3/cxf/hello?wsdl进行测试。(如果记不住,输入http://localhost:8080/CXF_3/cxf即可, 然后按照提示一步一步的往下做)
7、如果需要调用,参考前面的调用方式即可
作者:caihongshijie6 发表于2013-6-2 17:37:45 原文链接
阅读:13 评论:0 查看评论