使用Apache CXF和Spring集成创建Web Service

您的评价:
     
还行
 收藏该经验    
 

1.创建HelloWorld 接口类

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

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);
6         return msg;
7     }
8 }

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" >
04 <web-app>
05     <display-name>cxfstudy</display-name>
06     <servlet>
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>
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      
19     <context-param>
20         <param-name>contextConfigLocation</param-name>
21         <param-value>classpath*:**/spring.xml</param-value>
22     </context-param>
23      
24 </web-app>

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" />
10      
11     <!-- For client test -->
12     <jaxws:client id="helloworldClient" address="http://localhost:9000/ws/HelloWorld"serviceClass="com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorld" />  
13 </beans>

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"));
09     }
10 }

6.测试

6. 1.首先启动tomcat或者使用maven的jetty,并访问http://localhost:9000/ws/HelloWorld?wsdl来验证web service已经启动并且生效;
6. 2.然后运行测试类来验证web service。

使用Apache CXF和Spring集成创建Web Service(zz)的更多相关文章

  1. Apache CXF实战之四 构建RESTful Web Service

    Apache CXF实战之一 Hello World Web Service Apache CXF实战之二 集成Sping与Web容器 Apache CXF实战之三 传输Java对象 这篇文章介绍一下 ...

  2. 使用CXF与Spring集成实现RESTFul WebService

    以下引用与网络中!!!     一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存 ...

  3. 【spring boot】5.spring boot 创建web项目并使用jsp作前台页面

    贼烦的是,使用spring boot 创建web项目,然后我再idea下创建的,but 仅仅启动spring boot的启动类,就算整个项目都是好着的,就算是能够进入controller中,也不能成功 ...

  4. 基于cxf开发restful风格的Web Service

    一.写在前面 webservice一些简单的其他用法和概念,就不在这里赘述了,相信大家都可以在网上查到,我也是一个新手,写这篇文章的目的一方面是想记录自己成长的历程,另一方面是因为学习这个的时候花了点 ...

  5. 构建一个基于 Spring 的 RESTful Web Service

    本文详细介绍了基于Spring创建一个“hello world” RESTful web service工程的步骤. 目标 构建一个service,接收如下HTTP GET请求: http://loc ...

  6. [翻译]Spring MVC RESTFul Web Service CRUD 例子

    Spring MVC RESTFul Web Service CRUD 例子 本文主要翻译自:http://memorynotfound.com/spring-mvc-restful-web-serv ...

  7. 在Salesforce中创建Web Service供外部系统调用

    在Salesforce中可以创建Web Service供外部系统调用,并且可以以SOAP或者REST方式向外提供调用接口,接下来的内容将详细讲述一下用SOAP的方式创建Web Service并且用As ...

  8. win7 gsoap与vs2010 c++创建Web Service

    ---恢复内容开始--- 之前曾经编写过简单的样例,很久没有碰过,发现已经全部忘记,如今又需要重新巩固一下. 首先是下载gsoap,无法访问官方下载页面,只能在网上搜索,找到一个2.8版本存入云盘以防 ...

  9. 使用Axis2创建Web Service

    Axis2是新一代Web Service开发工具,目前最新版本是1.5.本文主要介绍如何用Axis2创建Web Service. 首先下载二进制包和war包,将war包复制到Tomcat的webapp ...

随机推荐

  1. shell 通过shift获得某位后的入参

    有时shell的入参个数不定,想要获得第2位后的参数,作为新的入参调用其他脚本   通常这时候想到的方法是用遍历,例如下面的方法: for (( i=2;i<=$#;i++)) do       ...

  2. 无法连接mysql,请检查mysql是否已启动及用户密码是否设置正确

    安装好后,登录后台提示 无法连接mysql,请检查mysql是否已启动及用户密码是否设置正确 检查mysql是否启动netstat -lnpt是否有3306端口? 一 有A 检查/www/wdlinu ...

  3. Python十分适合用来开发网页爬虫

    Python十分适合用来开发网页爬虫,理由如下:1.抓取网页自身的接口比较与其他静态编程语言,如java,c#,c++,python抓取网页文档的接口更简练:比较其他动态脚本语言,如perl,shel ...

  4. python爬虫相关基础概念

    什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程. 哪些语言可以实现爬虫 1.php:可以实现爬虫.但是php在实现爬虫中支持多线程和多进程方面做得不好. 2.java ...

  5. C# 关于委托

    例如: public class test:Form { //定义委托 public delegate void GetSql(string sql); //定义装载委托的属性 public GetS ...

  6. unity3d英语单词拼写小游戏Pics Quiz Maker With Categories 3.0

    下载地址: https://item.taobao.com/item.htm?spm=0.7095261.0.0.19f71debcef4hT&id=575991216080

  7. Codeforces Beta Round #52 (Div. 2)

    Codeforces Beta Round #52 (Div. 2) http://codeforces.com/contest/56 A #include<bits/stdc++.h> ...

  8. C#后台对密码框不能直接赋值

    当页面密码框 为 textmode="textpassword"时候,使用 txtpwd.text="XXX",是不会显示的, 应该使用txtpass.Attr ...

  9. Java07-java语法基础(六)面向对象

    Java07-java语法基础(六)面向对象 一.格式化输出 System.out.printf(“%格式字符”,输出项); 1.格式字符: d --->int.byte.short ld -- ...

  10. AngularJS——第1章 简介

    第1章 简介 由谷歌公司开发维护的前端MVC框架,克服了HTML在构建应用上的诸多不足,降低了开发成本,提高了效率. 一个框架 以数据和逻辑作为驱动 AngularJS核心特性:模块化,双数据绑定,语 ...