WebService 学习笔记之一 HelloWorld

2023-11-10

一.开发环境

我的开发环境是:

MyEclipse 10

Apache cxf-2.3.0 相关jar包下载地址: http://www.apache.org/dist/cxf/2.3.0/

 

二.开发步骤

  创建Server

   1.新建一个Java工程CxfDemo,并添加apache cfx-2.3.0的j相关ar包至lib文件夹中,然后建个com.study包。Java工程效果截图:

在com.study包里面创建HelloWorld接口

代码如下

package com.study;

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

@WebService
public interface HelloWorld {
	@WebMethod
	@WebResult String say(@WebParam String context);

}


 

再创建一个类实现HelloWorld接口  

package com.study;

public class HelloImpl implements HelloWorld {
	
	public String say(String context) {
		// TODO Auto-generated method stub
		String msg = "Hello " + context + "!";
		return msg;
	}

<span style="font-family:SimHei;">}
</span>

 

 

再创建一个Server端测试类

package com.study;

import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

public class Server {
	public static void main(String[] args) throws Exception {
		JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
		factory.setServiceClass(HelloImpl.class);

		factory.setAddress("http://localhost:9000/ws/HelloWorld");
		factory.create();

		System.out.println("Server start...");
		Thread.sleep(60 * 1000);
		System.out.println("Server exit...");
		System.exit(0);

	}

}


再创建一个Client端测试类

package com.study;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

public class Client {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
		factory.setServiceClass(HelloWorld.class);
		factory.setAddress("http://localhost:9000/ws/HelloWorld");
		HelloWorld helloworld = (HelloWorld) factory.create();
		System.out.println(helloworld.say("zhouzhigang"));
		System.exit(0);

	}

}


测试:

 

首先运行Server类来启动Web Service服务,然后访问http://localhost:9000/ws/HelloWorld?wsdl地址来确定web service启动正确。

相关效果截图:

 

 

 

运行Client测试类,会在命令行输出Hello zhouzhigang!的message。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebService 学习笔记之一 HelloWorld 的相关文章

随机推荐

  • umi4学习 路由跳转 history useNavigate 的使用

    umi4 history 已经不用query传参了 接下来就来讲讲如何传参吧 第一种 适用于只跳转路径 不携带参数 import history from umi history push user 第二种 用于携带参数 并且参数很多的情况
  • 深度聚类相关(三篇文章)

    一 Deep Clustering for Unsupervised Learning of Visual Features 原文链接 https arxiv org pdf 1807 05520 pdf 完全不需要标签的无监督学习方法 好
  • navicat12,使用自动完成代码,没有默认选中第1个,怎么设置?

    navicat12 使用自动完成代码 没有默认选中第1个 怎么设置 按 TAB 插入第一个选项 ESC 代码提示
  • 【C++】Vector和String详解

    前言 没错 我又更新了 即使没人看 上一篇文章介绍了有关双向链表的容器list 那问题来了 数组和字符串这种使用频率非常高的数据结构 在STL模板中会不会有让人眼前一亮的实现哪 很明显 有 vertor和string就是这两种数据结构相对应
  • Python Flask 中的路由

    Python Flask 中的路由 在 Web 应用中 接口一般都是遵守 RESTful API 设计风格的 这种风格很优雅 而且对用户来说非常易于理解 RESTful API 参考 https blog csdn net weixin 4
  • C语言:电话号码字母排列

    这点B玩意写了一下午加一晚上 但是理解了回溯法也值了 具体解释我写在注释里 include
  • Linux iNode 双网卡,已解决: Zynq 7000 双网卡配置-内核DTS该如何配置 - Community Forums...

    问题 ETH0是通的 ETH1找不到PHY 连接到GMII2RGMII转换器时 找不到该设备 dts和vivado该如何配置 系统 Zynq 7Z015 Vivado 2018 3 内核 4 6 VIVADO工程如下 在内核设备树文件中 配
  • mysql重连次数_Yii2-Mysql重连机制

    背景 nsq消费进程中长时间消费不到数据 mysql设置的自动断开时间超过后 mysql自动断线 服务端报mysql gone away 这时需要捕获异常重连并重试 或者将长连接改为短连接也可以解决该问题 解决 配置项新增 db gt cl
  • python马士兵学习笔记

    前言 本篇文章是作者在B站学习python马士兵视频的笔记 之前章节的内容可参考https blog csdn net qq 43511094 article details 113062435 或https blog csdn net w
  • stat()函数:获取文件状态

    相关函数 fstat lstat chmod chown readlink utime 头文件 include
  • SQL Server 基础操作 (二) 创建用户并且为用户授权

    1 创建用户 右键点击登录名 新建登录名 2 设置管理员权限 进入 服务器角色 在右侧的服务器角色面板中 勾选public 服务器角色 说明 sysadmin 执行SQL Server中的任何操作 serveradmin 配置服务器设置 s
  • nodejs链接mysql报错_nodejs连接数据库报错

    ER NOT SUPPORTED AUTH MODE 报错详情 使用nodejs连接数据库时报错 Error ER NOT SUPPORTED AUTH MODE Client does not support authentication
  • Blockly概述

    原文地址 https developers google com blockly guides overview Blockly是一个用于Web Android IOS的可视化代码编辑器库 Blockly使用了相互关联的积木来表示表达代码中
  • ES 搜索22 (function_score 支持的衰减函数 linear、exp 和 gauss)

    衰减函数 很多变量都可以影响用户对于酒店的选择 像是用户可能希望酒店离市中心近一点 但是如果价格足够便宜 也愿意为了省钱 妥协选择一个更远的住处 如果我们只是使用一个 filter 排除所有市中心方圆 100 米以外的酒店 再用一个filt
  • 关于根轨迹对于控制系统的一点理解

    自动控制理论根轨迹的学习过程中 经常会遇到几个问题 为什么要用根轨迹法 为什么根轨迹法最终转化为调整增益K来反应系统的稳定性和动态性能 为什么根轨迹法用开环传递函数求解的却是闭环极点 盲目的借助于matlab进行根轨迹的计算和绘图 有时候往
  • MySQL采用B+树作为索引的原因

    MySQL采用B 树作为索引的原因 1 MySQL的索引结构是如何查询的 在MySQL中 存储的数据记录都是持久化到磁盘中的 数据包含索引和记录 当MySQL查询数据时 由于索引也是持久化在磁盘上面的 首先会从磁盘上读取索引到缓存中 然后再
  • 【计算机网络】JWT(JSON Web Token)初识

    JWT JSON Web Token 初识 JWT JSON Web Token 是目前最流行的跨域认证解决方案 1 跨域认证的问题 互联网服务离不开用户认证 一般流程是下面这样 用户向服务器发送用户名和密码 服务器验证通过后 在当前对话
  • jQuery实现MD5加密

    原文地址 http blog csdn net you23hai45 article details 52629234 1 问题背景 有两个输入框 一个输入明文 另一个输入框显示密文 2 实现源码 html view plain copy
  • Linux平台的IO操作

    什么是IO如何理解IO IO就是输入与输出 I Input 从键盘拷贝数据至内存中 O Output 从内存中拷贝数据到终端上 因为Linux平台基本思想为 一切皆文件 所以 对于IO可以再次理解位 I 从文件中拷贝数据到内存中去 O 从内
  • WebService 学习笔记之一 HelloWorld

    一 开发环境 我的开发环境是 MyEclipse 10 Apache cxf 2 3 0 相关jar包下载地址 http www apache org dist cxf 2 3 0 二 开发步骤 创建Server 1 新建一个Java工程C