使用JDK开发WebService-客户端建立

2023-10-29

一、序言

上篇,我已经写了一个简单的WebService服务器。看起来貌似不错,但我们真正的目的是想通过编程的方式来访问服务器,而不是通过eclipse带的Web Service浏览器来访问。服务器我们是一行行代码敲出来的,客户端同样我们也可以一步步设计出来,但是相对繁琐。JDK里面有个工具wsimport.exe,可以帮我们生成客户端代码,节省了很多时间。

二、使用JDK生成WebService客户端

首先,我们需要再创建一个客户端工程------jdkclient。创建好以后复制一下客户端工程的src目录路径

运行命令提示符(win+r>>>cmd),先进入自己客户端工程所在的盘符,在进入src目录,dos下输入cd 然后把复制好的src目录路径粘贴到命令提示符中(dos下不能使用ctrl+v快捷键,在dos下右击会出现粘贴选项),进入到src下后,输入wsimport,看看是否识别,如果不能识别命令,检查下系统的环境变量是否配好。


生成客户端的命令是wsimport -keep url       //url为wsdl路径。

把服务器运行起来,dos下输入生成指令:wsimport -keep http://localhost:8080/service/HelloService?wsdl

注意三点:

    ·服务器要处于启动状态

    ·-keep前后有空格

    ·?wsdl不要忘记

运行后,如出现下图界面,说明已经自动生成客户端代码了。eclipse客户端工程上右击,刷新就可以看到生成的客户端代码了。



使用JDK1.8+MyEclipes 生成的代码可能报错。这是MyEclipse的一个bug,更换一个低版本的JDK就可以了

三、编写客户端调用方法

新建一个类,调用生成的getHelloServiceImplPort()方法,运行mian方法,查看控制台和服务器的控制台,看是否正确打印。

import com.gpj.service.HelloServiceImpl;
import com.gpj.service.HelloServiceImplService;

public class ClientTest {

	public static void main(String[] args) {
		HelloServiceImplService factory = new HelloServiceImplService();
		HelloServiceImpl helloWS = factory.getHelloServiceImplPort();
		
		String result = helloWS.sayHello("gpj");
		System.out.println("client "+result);
	}
}




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

使用JDK开发WebService-客户端建立 的相关文章

  • 点云配准(四) Sparse Point Registration 算法浅析

    Sparse Point Registration SPR 是一篇2017年的点云配准算法 该算法的主要目的是对稀疏点云进行配准 并且取得了不错的成果和突破 本文一方面是对SPR配准算法模型进行了简单的原理解析以及附加代码实现 另一方面是对

随机推荐

  • c++ 的 multiple definition of `XXX‘

    文章目录 一 为什么会有多重定义问题 二 一些错误情景 1 头文件忘记加条件编译 2 类的静态变量在头文件定义 3 全局变量在 h文件定义 4 待补充 三 参考链接 一 为什么会有多重定义问题 声明 指出存储类型 并给出存储单元指定名称 定
  • C语言博客作业--嵌套循环

    一 PTA实验作业 题目1 7 1 查询水果价格 给定四种水果 分别是苹果 apple 梨 pear 桔子 orange 葡萄 grape 单价分别对应为3 00元 公斤 2 50元 公斤 4 10元 公斤 10 20元 公斤 首先在屏幕上
  • JavaScript函数的命名方式

    函数的命名方式 JavaScript代码服用单位是函数 函数可以包含一段可执行代码 也可以接受调用者传入的参数 JavaScript定义函数主要有以下三种方式 第一种方式 命名函数 第二种 匿名函数
  • 【C++】函数的设计与使用(三)重载函数、模板函数

    重载函数 参数列表不相同 可能是参数类型不相同 或者参数个数不相同 都不相同 也可以 的两个或多个函数 可以拥有相同的函数名称 编译器会把实参和每个重载函数的形参比对 找出哪个重载函数合适 所以每个重载函数的参数列表必须和其他的重载函数的不
  • ubuntu安装bochs,nasm

    1 ubuntu上安装bochs nasm 1 1 安装缘由 最近想自己做个操作系统玩一玩巩固巩固知识 工欲善其事 必先利其器 开发操作系统首先得搭建环境 编程语言上我选择C和汇编完成 开发环境是在我装的一个虚拟机ubuntu上 ubunt
  • 【满分】【华为OD机试真题2023 JAVA&JS】统计匹配的二元组个数

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 统计匹配的二元组个数 知识点数组 时间限制 1s 空间限制 32MB 限定语言 不限 题目描述 给定两个数组A和B 若数组A的某个元素A i 与数组B中的某个元素B j 满足 A
  • NodeJS - Express使用

    文章目录 1 参数 1 1 获取URL中的动态参数 2 静态资源 2 1 挂载路径前缀 3 nodemon 4 1路由 4 1 路由的匹配过程 4 2 模块化路由 4 3 为路由模块添加前缀 5 中间件 5 1 全局生效的中间件 5 2 全
  • 功能强大,但因安全隐患被企业禁用的Python内置函数

    功能强大 但却因安全隐患被企业禁用的Python内置函数 eval 函数是Python的内置函数 功能非常强大 但是存在不小的安全隐患 有些企业或项目出于安全考虑 禁止使用eval 函数 会在一些安全相关的扫描校验中进行识别和拦截 杜绝使用
  • 【嵌入式】虚拟机未能将管道连接到虚拟机: 系统找不到指定的文件

    这两天虚拟机莫名奇妙的爆出这个错误 在升级win11过后解决嘞这个问题 但是win11确实不好用最后退回win10这个问题又出现了 这里记录一下我的解决办法 设置为管理员运行程序 然后遇到新的报错了 进入控制面板选择C 2015修复环境 到
  • React性能提升

    了解react如何提升性能将有助于我们更好的编写代码 个人认为react中很多的性能优化 其实都是围绕着react的核心diff算法来展开的 通过优化 减少diff算法中一些不必要的步骤 从而来提高性能 下面是我平时开发总结出来的一些经验
  • QT控件之(TableView)中设置为不可编辑状态

    加入以下一句代码 ui gt tableView gt setEditTriggers QAbstractItemView NoEditTriggers
  • 【H.264/AVC视频编解码技术详解】二十三、帧间预测编码(1):帧间预测编码的基本原理

    H 264 AVC视频编解码技术详解 视频教程已经在 CSDN学院 上线 视频中详述了H 264的背景 标准协议和实现 并通过一个实战工程的形式对H 264的标准进行解析和实现 欢迎观看 纸上得来终觉浅 绝知此事要躬行 只有自己按照标准文档
  • STM32初始化USART后只发送了一个0x00,而无法发送其他数据的解决方法

    GPIO InitTypeDef GPIO InitStructure USART InitTypeDef USART InitStructure RCC APB2PeriphClockCmd RCC APB2Periph GPIOB EN
  • Tornado入门教程

    Overview FriendFeed是一款使用 Python 编写的 相对简单的 非阻塞式 Web 服务器 其应用程序使用的 Web 框架看起来有些像 web py 或者 Google 的 webapp 不过为了能有效利用非阻塞式服务器环
  • 【数据结构与算法】顺序表精讲

    所属专栏 数据结构与算法 前期内容 绪论1 抽象数据类型 绪论2 时间复杂度与空间复杂度 与时间复杂度相关的OJ面试题 抽象数据类型的实现 目录 1 1线性表的定义和特点 1 2案例引入 eg 图书信息管理系统 1 3线性表的类型定义 基本
  • code-server安装使用

    code server是一款基于VSCode的在线编辑器 它提供了一个web话的在线IDE 服务端上运行code server 可以理解为一个在远程服务器上运行的VS Code 客户端就可以使用浏览器打开vscode vscode上的资源都
  • 软件工程实训day01-mybatis

    本次实训环境 jdk 1 8 编辑器 eclipse 数据库 mysql SQLyog 实训所得结果 使用mybatis进行简单增删改查操作 代码上传gitee 创建数据库 DROP TABLE IF EXISTS computers CR
  • 非管理员用户添加右键菜单(管理员也适用)

    目录 背景 解决办法 总结 把其他教程中的HKEY CLASSES ROOT替换为HKEY CURRENT USER SOFTWARE Classes即可 背景 网上大多数教程添加右键菜单的方法都需要管理员权限 公司电脑处于信息安全角度 大
  • Jenkins自动化打包上传到Fir报Can not found mapping or dysm file in的解决方案

    在踩了几个坑以后 Jenkins自动打包终于成功了 就想着自动上传到Fir 自动生成二维码 便于下载安装 在网上找到了一个Fir插件 安装成功以后再次打包发现报Can not found mapping or dysm file in 在网
  • 使用JDK开发WebService-客户端建立

    一 序言 上篇 我已经写了一个简单的WebService服务器 看起来貌似不错 但我们真正的目的是想通过编程的方式来访问服务器 而不是通过eclipse带的Web Service浏览器来访问 服务器我们是一行行代码敲出来的 客户端同样我们也