使用CXF开发Web Service服务
1、使用CXF开发Web Service服务端
1.1 开发一个Web Service业务接口,该接口要用@WebService修饰
(1)创建一个Java项目MyServer

(2)在MyServer项目中创建一个接口HelloWorld

|
1
2
3
4
5
6
|
package com.xju.ws;
import javax.jws.WebService;
@WebServicepublic interface HelloWorld {
String sayHello(String name);} |
1.2 开发一个Web Service实现类,实现类也需要用@WebService修饰

|
1
2
3
4
5
6
7
8
9
10
11
|
package com.xju.ws.impl;
import javax.jws.WebService;
import com.xju.ws.HelloWorld;
@WebService(endpointInterface = "com.xju.ws.HelloWorld", serviceName = "HelloWorldWs")
public class HelloWorldWs implements HelloWorld {
@Overridepublic String sayHello(String name) {
// TODO Auto-generated method stubreturn null;
}} |
1.3 使用Endpoint类的静态方法来发布WebService

|
1
2
3
4
5
6
7
8
9
10
11
|
package com.xju.ws.pub;
import javax.xml.ws.Endpoint;
import com.xju.ws.HelloWorld;
import com.xju.ws.impl.HelloWorldWs;
public class ServerMain {
public static void main(String[] args) {
HelloWorld hw=new HelloWorldWs();
Endpoint.publish("http://127.0.0.1:8080/test", hw);
System.out.println("发布成功");
}} |
备注:在运行中必须添加CXF2.7运行库。

2 使用CXF开发Web Service客户端
2.1 调用CXF提供的wsdl2java工具,根据WSDL文件生成相应的Java代码

在DOS中进入当前项目的src目录下,如输入下命令:
wsdl2java -frontend jaxws21 http://127.0.0.1:8080/test?wsdl

备注:加入参数-frontend jaxws21,为了防止出现CXF自带的javax.xml.service 版本高过jdk的javax.xml.service时报错:构造函数 Service(URL, QName, WebServiceFeature[]未定义。
2.2 找到wsdl2java所生成类中,一个继承了Service的类,该类的实例当成工厂来使用

2.3 调用Service子类的实例的getXxxPort方法,返回远程WebService代理
|
1
2
3
4
5
6
7
8
9
10
|
package com.xju.publish;
import com.xju.ws.HelloWorld;
import com.xju.ws.impl.HelloWorldWs;
public class ClientMain {
public static void main(String[] args) {
HelloWorldWs factory=new HelloWorldWs();
HelloWorld hw=factory.getHelloWorldWsPort();System.out.println(hw.sayHello("yyq"));
}} |
运行结果:
yyq,你好!现在时间是:Sun Aug 10 23:51:39 CST 2014
备注:此处也可以使用创建Web Service客户端的方法来创建。
使用CXF开发Web Service服务的更多相关文章
- Web Service学习-CXF开发Web Service实例demo(一)
Web Service是什么? Web Service不是框架.更甚至不是一种技术. 而是一种跨平台,跨语言的规范 Web Service解决什么问题: 为了解决不同平台,不同语言所编写的应用之间怎样 ...
- ubuntu下安装 gSOAP 用于C/C++开发web service服务端与客户端
昨天在ubuntu下进行安装gSOAP,费了很多时间,没成功,今天又来找了大量教程资料,终于一次成功,这里写下自己的安装步骤和方法,供大家参考. 首先下载gsoap,我下载的是gsoap-2.8.1. ...
- Linux下用gSOAP开发Web Service服务端和客户端程序
网上本有一篇流传甚广的C版本的,我参考来实现,发现有不少问题,现在根据自己的开发经验将其修改,使用无误:另外,补充同样功能的C++版本,我想这个应该更有用,因为能用C++,当然好过受限于C. 1.gS ...
- 使用axis开发web service服务端
一.axis环境搭建 1.安装环境 JDK.Tomcat或Resin.eclipse等. 2.到 http://www.apache.org/dyn/closer.cgi/ws/axis/1_4下载A ...
- Linux下用gSOAP开发Web Service服务端和客户端程序(一)
1.功能说明: 要开发的Web Service功能非常简单,就是一个add函数,将两个参数相加,返回其和. 2.C版本的程序: (1)头文件:SmsWBS.h,注释部分不可少,url部分的IP必须填写 ...
- Web Service学习-CXF开发Web Service的权限控制(二)
Web Service怎样进行权限控制? 解决思路:server端要求input消息总是携带实username.password信息,假设没实username和password信息.直接拒绝调用 解决 ...
- 基于Apache CXF的Web Service服务端/客户端
转自:https://www.aliyun.com/zixun/wenji/1263190.html CXF服务端: package com.sean.server; import javax.jws ...
- 基于JAX-WS的Web Service服务端/客户端 ;JAX-WS + Spring 开发webservice
一.基于JAX-WS的Web Service服务端/客户端 下面描述的是在main函数中使用JAX-WS的Web Service的方法,不是在web工程里访问,在web工程里访问,参加第二节. JAX ...
- 开发Web Service的几种方式
本文作者在学习使用Java开发Web Service(不包括Restful)时,由于不知道Java有这么多框架支持开发Web Service一度陷入迷惘,不知道这些框架各有 什么不同,各有什么优缺点. ...
随机推荐
- P1198 [JSOI2008]最大数(线段树基础)
P1198 [JSOI2008]最大数 题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值. 限制: ...
- C语言数据结构无向图
#include<stdio.h>#include<stdlib.h>#define num 8struct nearnode{ int order; nearnode* pn ...
- 汇编刷题:显示ABCDEFGH 八个字母
DATA SEGMENT DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,8 MOV ...
- javascript入门 之 zTree (一)
1.安装: 我用的bower工具,所以执行: bower install ztree 2.详细功能与配制,请考官方文档: http://www.treejs.cn/v3/main.php#_zTree ...
- 震撼!全网第一张源码分析全景图揭秘Nginx
不管是C/C++技术栈,还是PHP,Java技术栈,从事后端开发的朋友对nginx一定不会陌生. 想要深入学习nginx,阅读源码一定是非常重要的一环,但nginx源码量毕竟还是不算少,一不小心就容易 ...
- Apache与PHP的配置
Listen 表示端口号 ServerName 表示域名 <Directory 路径> 表示默认开放的路径 <IfModule dir_module> 表示默认显示的文件名 & ...
- Hadoop学习笔记(1)-Hadoop在Ubuntu的安装和使用
由于小编在本学期有一门课程需要学习hadoop,需要在ubuntu的linux系统下搭建Hadoop环境,在这个过程中遇到一些问题,写下这篇博客来记录这个过程,并把分享给大家. Hadoop的安装方式 ...
- Cucumber(4)——jenkins的集成
目录 回顾 必备知识 集成方法 回顾 在上几节中,关于cucumber的知识我已经全部的介绍完了,但是近期,jenkins大行其道,在工作上面能为我们节省大量的时间. 所以在本节中,我会介绍cucum ...
- Laravel 5.8 RCE 分析
原帖地址 : https://xz.aliyun.com/t/6059 Laravel 代码审计 环境搭建 composer create-project --prefer-dist laravel/ ...
- Mac剪切板中的PNG保存到文件swift
SwiftGG 教程大全 中文翻译 命令行工具开发教程 Line Programs on macOS Tutorial swift4,较详细 Swift基础中需要注意的点 NSPasteboard M ...