1.创建HelloWorld 接口类

  1. package com.googlecode.garbagecan.cxfstudy.helloworld;
  2. import javax.jws.WebMethod;
  3. import javax.jws.WebParam;
  4. import javax.jws.WebResult;
  5. import javax.jws.WebService;
  6. @WebService
  7. public interface HelloWorld {
  8. @WebMethod
  9. @WebResult String sayHi(@WebParam String text);
  10. }

2.创建HelloWorld实现类

  1. package com.googlecode.garbagecan.cxfstudy.helloworld;
  2. public class HelloWorldImpl implements HelloWorld {
  3. public String sayHi(String name) {
  4. String msg = "Hello " + name + "!";
  5. return msg;
  6. }
  7. }

3.修改web.xml文件

  1. <!DOCTYPE web-app PUBLIC
  2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  3. "http://java.sun.com/dtd/web-app_2_3.dtd" >
  4. <web-app>
  5. <display-name>cxfstudy</display-name>
  6. <servlet>
  7. <servlet-name>cxf</servlet-name>
  8. <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  9. <load-on-startup>1</load-on-startup>
  10. </servlet>
  11. <servlet-mapping>
  12. <servlet-name>cxf</servlet-name>
  13. <url-pattern>/ws/*</url-pattern>
  14. </servlet-mapping>
  15. <listener>
  16. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  17. </listener>
  18. <context-param>
  19. <param-name>contextConfigLocation</param-name>
  20. <param-value>classpath*:**/spring.xml</param-value>
  21. </context-param>
  22. </web-app>

4.创建spring配置文件并放在classpath路径下

  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" xmlns:jaxws="http://cxf.apache.org/jaxws"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  5. http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
  6. <import resource="classpath:META-INF/cxf/cxf.xml" />
  7. <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
  8. <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
  9. <jaxws:endpoint id="helloworld" implementor="com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorldImpl" address="/HelloWorld" />
  10. <!-- For client test -->
  11. <jaxws:client id="helloworldClient" address="http://localhost:9000/ws/HelloWorld" serviceClass="com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorld" />
  12. </beans>

5.创建测试类

  1. package com.googlecode.garbagecan.cxfstudy.helloworld;
  2. import org.springframework.context.ApplicationContext;
  3. import org.springframework.context.support.ClassPathXmlApplicationContext;
  4. public class SpringClient {
  5. public static void main(String[] args) {
  6. ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
  7. HelloWorld helloworld = (HelloWorld)context.getBean("helloworldClient");
  8. System.out.println(helloworld.sayHi("kongxx"));
  9. }
  10. }

6.测试

6.1 首先启动tomcat或者使用maven的jetty,并访问http://localhost:9000/ws/HelloWorld?wsdl来验证web service已经启动并且生效;

6.2 然后运行测试类来验证web service。

最新文章

  1. POJ 3087 Shuffle&#39;m Up
  2. ACCESS --第一章
  3. UNIX:高级环境编程 - 第十五章 IPC:进程间通信
  4. 主机+虚拟机ubuntu+mini2440开发板互相ping通
  5. insmod module_param 模块参数
  6. 如何删除Weblogic域
  7. windows store app 读写图片
  8. Extjs之success、failure
  9. 判断IE版本的语句 [if lte IE 6]...[endif]
  10. HDU 3333 &amp; 3874 (线段树+离线询问)
  11. 浙江大学PAT上机题解析之5-05. QQ帐户的申请与登陆
  12. python 笔记2--函数
  13. Extjs学习----------动态载入js文件(减轻浏览器的压力)
  14. 从Map、JSONObject取不存在键值对时的异常情况
  15. hihocoder 网络流二&#183;最大流最小割定理
  16. Vue.js学习笔记(介绍)
  17. Holt-Winters
  18. 胜利大逃亡,bfs,广度优先搜索
  19. ubuntu系列-安装google浏览器
  20. vue-scroller记录滚动位置

热门文章

  1. 什么是crf
  2. .Net:System.Guid
  3. 《闲聊 ASP.NET Core》系列直播清单
  4. phpStorm中如何不让其自动添加封闭大括号?
  5. C# string 是不可变的,指什么不可变
  6. 正则双重过滤 /// splitKey1 第一个正则式匹配 /// splitKey2 匹配结果中再次匹配进行替
  7. 说说Python编码规范
  8. tensorflow 批次读取文件内的数据,并将顺序随机化处理. --[python]
  9. 单片机成长之路(51基础篇) - 022 N76e003 APROM模拟EEPROM驱动
  10. 转 : 深入解析Java锁机制