1.创建HelloWorld 接口类
1 | package com.googlecode.garbagecan.cxfstudy.helloworld; |
2 | import javax.jws.WebParam; |
3 | import javax.jws.WebResult; |
4 | import javax.jws.WebService; |
6 | public interface HelloWorld { |
7 | public @WebResult (name= "String" )String sayHi( @WebParam (name= "text" ) String text); |
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 | System.out.println( "Server: " + msg); |
3.修改web.xml文件
01 | <!DOCTYPE web-app PUBLIC |
02 | "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" |
03 | "http://java.sun.com/dtd/web-app_2_3.dtd" > |
05 | < display-name >cxfstudy</ display-name > |
07 | < servlet-name >cxf</ servlet-name > |
08 | < servlet-class >org.apache.cxf.transport.servlet.CXFServlet</ servlet-class > |
09 | < load-on-startup >1</ load-on-startup > |
12 | < servlet-name >cxf</ servlet-name > |
13 | < url-pattern >/ws/*</ url-pattern > |
16 | < listener-class >org.springframework.web.context.ContextLoaderListener</ listener-class > |
20 | < param-name >contextConfigLocation</ param-name > |
21 | < param-value >classpath*:**/spring.xml</ param-value > |
4.创建spring配置文件并放在classpath路径下
01 | <? xml version = "1.0" encoding = "UTF-8" ?> |
02 | < beans xmlns = "http://www.springframework.org/schema/beans" |
03 | xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws = "http://cxf.apache.org/jaxws" |
04 | xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd |
05 | http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> |
06 | < import resource = "classpath:META-INF/cxf/cxf.xml" /> |
07 | < import resource = "classpath:META-INF/cxf/cxf-extension-soap.xml" /> |
08 | < import resource = "classpath:META-INF/cxf/cxf-servlet.xml" /> |
09 | < jaxws:endpoint id = "helloworld" implementor = "com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorldImpl" address = "/HelloWorld" /> |
12 | < jaxws:client id = "helloworldClient" address = "http://localhost:9000/ws/HelloWorld" serviceClass = "com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorld" /> |
5.创建测试类
01 | package com.googlecode.garbagecan.cxfstudy.helloworld; |
02 | import org.springframework.context.ApplicationContext; |
03 | import org.springframework.context.support.ClassPathXmlApplicationContext; |
04 | public class SpringClient { |
05 | public static void main(String[] args) { |
06 | ApplicationContext context = new ClassPathXmlApplicationContext( "spring.xml" ); |
07 | HelloWorld helloworld = (HelloWorld)context.getBean( "helloworldClient" ); |
08 | System.out.println(helloworld.sayHi( "kongxx" )); |
6.测试
6. 1.首先启动tomcat或者使用maven的jetty,并访问http://localhost:9000/ws/HelloWorld?wsdl来验证web service已经启动并且生效;
6. 2.然后运行测试类来验证web service。