CXF入门例子

1、 WebService实现类:@WebService注解表示这个类发布为一个WebService服务。

package com.coshaho.learn.cxf;

import javax.jws.WebService;

/**
 * WebService实现类不继承接口,则所有WebService相关注解需要写在实现类中
 * @author coshaho
 *
 */
@SuppressWarnings("restriction")
@WebService(name="HelloWoldService")
public class HelloWorldServiceImpl
{
    public String sayHello(String username)
    {
        return "Hello " + username + "!";
    }
}

2、发布服务。

package com.coshaho.learn.cxf;

import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

public class CXFServer
{
    public static void main(String[] args)
    {
        JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();

        // Web服务的地址
        factoryBean.setAddress("http://localhost:8081/hello");

        // Web服务对象调用接口
        factoryBean.setServiceClass(HelloWorldServiceImpl.class);
        Server server = factoryBean.create();
        server.start();
    }
}

3、WebService客户端模拟接口:CXF客户端接口参数名称(@WebParam),方法名称(@WebMethod),返回值名称(@WebResult)需要与WebService服务端实现类或接口保持一致。

package com.coshaho.learn.cxf;

import javax.jws.WebService;

/**
 * CXF客户端接口参数名称(@WebParam),方法名称(@WebMethod),返回值名称(@WebResult)需要与WebService服务端实现类或接口保持一致 * @author coshaho
 *
 */
@SuppressWarnings("restriction")
@WebService
public interface HelloWoldClientServiceI
{
    public String sayHello(String userName);
}

4、客户端调用WebService服务。

package com.coshaho.learn.cxf;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

public class CXFClient
{
    public static void main(String[] args)
    {
        JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();

        //获取服务器端
        factoryBean.setAddress("http://localhost:8081/hello");

        //通过客户端的接口获取服务器端的接口
        factoryBean.setServiceClass(HelloWoldClientServiceI.class);
        HelloWoldClientServiceI hello =(HelloWoldClientServiceI) factoryBean.create();
        System.out.println(hello.sayHello("CXF"));
    }
}

5、如果服务端实现类继承于一个接口,则可以在接口中写明WebService相关注解,实现类省略注解。

package com.coshaho.learn.cxf;

import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;

/**
 * WebService实现类可以继承WebService接口,所有WebService相关注解写在接口中
 * @author coshaho
 *
 */
@SuppressWarnings("restriction")
@WebService(name="HelloWoldService")
public interface HelloWoldServiceI
{
    @WebMethod(operationName="sayHelloWorld")
    @WebResult(name="result")
    public String sayHello(@WebParam(name="userName") String username);
}
时间: 2024-09-29 21:27:27

CXF入门例子的相关文章

【Bootstrap Demo】入门例子创建

本文简单介绍下如何来使用 Bootstrap,通过引入 Bootstrap,来实现一个最基本的入门例子. 在前一篇博文[Bootstrap]1.初识Bootstrap 基础之上,我们完全可以更加方便快捷的创建一个的简单例子.这个例子只有基本的东西:引入了预编译版的 CSS 和 JavaScript 文件,页面只包含了一个 container 元素. 在Bootstrap的官方网站的下载页面 http://getbootstrap.com/getting-started/#download ,也有

MINA经典入门例子----Time Server

原文地址 http://blog.sina.com.cn/s/blog_720bdf0501010b8r.html 貌似java的IO.NIO的入门例子都有相关的Time Server Demo.本例为MINA官方Demo翻译过来而已. MINA百科: Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架.当前发行的 MI

JPA入门例子

(1).JPA介绍: JPA全称为Java PersistenceAPI ,Java耐久化API是Sun公司在Java EE 5标准中提出的Java耐久化接口.JPA吸取了当前Java耐久化技能的长处,旨在标准.简化Java目标的耐久化作业.运用JPA耐久化目标,并不是依赖于某一个ORM结构.      为何要运用JAP?      在说为何要运用JPA之前,咱们有必要了解为何要运用ORM技能. ORM 是Object-Relation-Mapping,即目标联系暗射技能,是目标耐久化的中心.O

freemarker入门例子

freemarker入门例子,直接代码如下: FreeMarkerTest import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.util.ArrayList; import java.util.HashMap; import java.util.List; impor

WebService概述和CXF入门小程序

一. 什么是WedService? WebService不是框架, 甚至不是一种技术, 而是一种跨平台,跨语言的规范, WebService的出现是为了解决这样的需求场景: 不同平台, 不同语言所编写的应用之间相互调用. 二. WedService有什么用? WebService可以集中解决以下问题: 1. 远程调用 2. 跨平台调用 3. 跨系统调用 那么WebService在企业中有什么用呢? 1. 同一个公司新旧系统的整合. 2. 不同公司的业务整合: 业务的整合就要带来不同公司的系统整合

spring mvc构建WEB应用程序入门例子

在使用spring mvc 构建web应用程序之前,需要了解spring mvc 的请求过程是怎样的,然后记录下如何搭建一个超简单的spring mvc例子. 1) spring mvc的请求经历 请求由DispatcherServlet分配给控制器(根据处理器映射),在控制器完成处理后,请求会被发送到一个视图(根据viewController解析逻辑视图) 来呈现输出结果. 整理成下图所示: 2)搭建一个简单的spring mvc例子 ①创建一个maven工程,其中pom中要有spring相关

CXF 入门:创建一个基于WS-Security标准的安全验证(CXF回调函数使用)

注意:以下客户端调用代码中获取服务端ws实例,都是通过CXF 入门: 远程接口调用方式实现 以下是服务端配置 ======================================================== 一,web.xml配置,具体不在详述 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.

【Bootstrap】入门例子创建

本文简单介绍下如何来使用 Bootstrap,通过引入 Bootstrap,来实现一个最基本的入门例子. 在前一篇博文[Bootstrap]1.初识Bootstrap 基础之上,我们完全可以更加方便快捷的创建一个的简单例子. 在Bootstrap的官方网站的下载页面 http://getbootstrap.com/getting-started/#download ,也有提供一些简单的例子.这里打算创建最简单的. 这里先在官网下载需要的基本文件: 下载后解压,可以看到它只包含三个文件夹: 准备工

图解VC++2012编译安装GDAL1.11.0和入门例子

相关下载 http://pan.baidu.com/s/1o7OEMc6 gdal1.rar - 入门例子 GDAL书籍代码及数据.rar gdal1110.zip - 下载的源码 GDAL.rar - 构建成功后的内容 1 进入如下目录执行vcvars32.bat 2 切换到解压目录执行命令 nmake /f makefile.vc,进行编译:时间比较长:可能10几分钟: 完成编译: 3.设置输出目录 找到下载目录中的nmake.opt文件,例如本文的中的文件路径为: D:\gdal-1.11