详解使用w​s​g​e​n​和​w​s​i​m​p​o​r​t​开​发​W​e​b​S​e​r​v​i​c​e

思​科​ ​P​P​P​ ​配​置 1.掌握PPP 的基本配置步骤和方法。 2.掌握PAP、CHAP 的基本配置步骤和方法。 3.掌握对PAP、CHAP进行诊断的基本方法 1.配置路由器之间的PPP 连接。 2.配置、验证PAP过程。 3.配置、验证CHAP过程。 立即下载

本文旨在描述如何使用jdk自带的wsgen.exe 和wsimport.exe开发WebService。

1.新建一个java工程,项目名:WebServiceDemo。由于本文想通过完全手动建立的方式来演示整个过程,故我们的工程目录就是WebServiceDemo啦!

2.在此目录下新建Business.java 和 BusinessImpl.java两个类,分别如下:

public interface Business {
	public String echo(String message);	
}
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

@WebService(name="Business",serviceName="BusinessService",targetNamespace="http://webservice.chapter1.book/client")
@SOAPBinding(style=SOAPBinding.Style.RPC)
public class BusinessImpl implements Business {

	public String echo(String message) {
		if("quit".equalsIgnoreCase(message.toString())){
			System.out.println("Server will be shutdown!");
			System.exit(0);
		}
		System.out.println("Message from client: "+message);
		return "Server response: "+message;
	}

}
3. cmd到命令行模式下,将此二文件编译为class文件,然后运行如下命令生成wsdl文件,注意之前应该在WebServiceDemo目录下新建一个叫wsdl的文件夹。

运行完上面的命令,我们会发现在wsdl目录下生成了BusinessService.wsdl文件,用notepad打开会发下就是一个xml格式的文件。

4.接下来我们创建一个Server.java的类,用来发布Service。代码如下;

import javax.xml.ws.Endpoint;

public class Server {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Endpoint.publish("http://localhost:9527/BusinessService", new BusinessImpl());
		System.out.println("Server has been started");
	}

}

编译然后运行,在浏览器中输入URL:http://localhost:9527/BusinessService?wsdl 如果出现一个XML文档,就说明发布成功了。


注意浏览器中显示的就是我们在wsdl目录下生成的BusinessService.wsdl文件内容,这个文件就是我们后面的wsimport.exe命令执行时要用到的。

5.在Server运行的条件下,下面我们通过wsimport来生成客户端执行类。另起一个命令行窗口,执行如下命令:

成功执行后,我们会发现在WebServiceDemo路径下生成了如下的4个文件:

注意目录结构就是我们之前在BusinessImpl.java类中的targetNamespace指定的,也即对应wsdl文件中的路径,只是转换为目录结构时要注意域名倒着写。

targetNamespace="http://webservice.chapter1.book/client"
OK,至此我们完成了用w​s​g​e​n​和​w​s​i​m​p​o​r​t​开​发​W​e​b​S​e​r​v​i​c​e的任务。

6.下面就是通过一个客户端Client.java 类来验证webservice的时候了:

import java.io.BufferedReader;
import java.io.InputStreamReader;

import book.chapter1.webservice.client.Business;
import book.chapter1.webservice.client.BusinessService;

public class Client {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		BusinessService businessService=new BusinessService();
		Business business=businessService.getBusinessPort();
		BufferedReader systemIn=new BufferedReader(new InputStreamReader(System.in));
                while(true){
			String command=systemIn.readLine();
			if(command==null || "quit".equalsIgnoreCase(command.trim())){
				System.out.println("Client quit!");
				try{
					business.echo(command);
				}
				catch(Exception e){
					// IGNORE
				}
				System.exit(0);
			}
			System.out.println(business.echo(command));
		}
	}

}
编译运行,发送一个消息后看到Server端收到并响应。



使​用​W​i​n​S​e​t​u​p​F​r​o​m​U​S​B​​制​作​从​U​盘​安​装​W​i​n​d​o​w​s​X​P​系​统​的​方​法 WinSetupFromUSB是个功能非常强大的自启动U盘制作工具,可以完成WinXP/Vista/Win7的U盘安装,完成同盘多Windows安装源的U盘制作以及Linux启动安装等功能。今天我们先来看下用其如何制作WinXP安装U盘。用WinSetupFromUSB安装的U盘成功率极高,可谓百试百灵。而且它相较UltraISO还有个好处就是并不需要安装盘的ISO镜像,只需要有安装文件的I386目录即可。 立即下载

相关推荐

橘子网络秒赞网源码

橘子网络秒赞网源码,大家尽情的 去玩吧,请勿修改别人的源码哦

WebService入门一、Hello WebService

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33890499的博客 126

ChaZD-thinkam.zip

ChaZD-thinkam.zip 这个是一款可以直接翻译网页上的单词的插件,还是很方便的和有道词典功能有些类似。 image image image 开发人员可能经常会遇到查询英文文档的情况,这样就可以直接去翻译了

wsgen 和 wsimport 命令详解

注:  该篇主要介绍 wsgen 和 wsimport 命令, 如需了解 jaxws ,请移步 jaxws创建 webservice. #1.  wsgen  通过终端类文件(SEI)生成 源文件,class文件,异常 bean 以及 wsdl 和 xsd 文件. 用法:  wsgen[options]  参数: -s生成源文件的位置,-d生成的class文件的位置,-wsdl生成wsdl文

一壶朦胧 1645

使​用​A​x​i​s​和​x​f​i​r​e​发​布​调​用​W​e​b​S​e​r​v​i​c​e​s

目  录  一 使用Axis和XFire发布Web Service ......................................................................................... 2  1.1 准备工作............................................................................................................................ 2  1.1.1 新建工程 ................................................................................................................. 2 1.1.2 axis依赖文件 ........................................................................................................... 3 1.1.3 XFire依赖文件 ........................................................................................................ 3 1.2 Axis发布Web Service ........................................................................................................ 4  1.2.1 传递简单数据类型的Web Service ........................................................................ 4 1.2.2 带自定义对象传递的Web Service ........................................................................ 8 1.3 XFire发布Web Services ................................................................................................... 10  1.3.1 传递简单数据类型的Web Service ...................................................................... 10 1.3.2传递复杂数据类型的Web Service ....................................................................... 12 附录: 1Server的结构 ............................................................................................................. 16 二 调用Web Services .................................................................................................................... 17  2.1 准备工作.......................................................................................................................... 17  2.1.1 新建工程 ............................................................................................................... 17 2.1.2 启动Tomcat上发布的1Server服务 ................................................................... 17 2.2 Axis发布的Web Service调用方式 ................................................................................. 18  2.2.1 Dynamic Invocation Interface (DII)方式 ................................................................. 18 2.2.2 Dynamic Proxy方式 ............................................................................................... 19 2.2.3 Stubs方式 .............................................................................................................. 20 2.3调用XFire发布的Web Service ....................................................................................... 22  2.3.1服务以jar包形式发布的时候 直接调用 ............................................................ 23 2.3.2 使用Axis的Client包 ........................................................................................... 23 2.3.3 使用Xfire的Client包 .......................................................................................... 24 附录2:2Client目录结构 ..................................................................................................... 31

G P S—R T K联合全站仪在数字化测图中的应用

文中主要叙述RTK的系统组成、基本原理、 基准站和流动站的设置及其点校正;指出了R T K 与全站仪联合进行数字化测图过程以及 R T K在测绘地形图中应注意的事项和优点。

N o v e m b e r 2 8 t h W e d n e s d a y

I f   y o u   d e v e l o p   a n   a p p l i c a i o n   f o r   A p a c h e   p l a t f o r m ,   t h e r e   f o u r   c o r e   o b j e c t s   m u s t   b e   u n d e r s t o o d .     T h e   m

Lu_ming的专栏 6万+

SuperPoint+SuperGlue在HLoc中的实战效果对比:5大公开数据集测试报告

本文在HLoc框架下,对传统SIFT与深度学习组合SuperPoint+SuperGlue在五大公开数据集上的视觉定位效果进行了实战对比测试。报告详细分析了两种方案在Aachen Day-Night、RobotCar Seasons等不同光照、季节及场景下的表现,揭示了SuperPoint+SuperGlue在应对剧烈光照变化和长期外观变化时的显著优势,并提供了基于HLoc模块化设计的选型与配置策略。

weixin_29093169的博客 424

N o v e m b e r 1 4 t h W e d n e s d a y

B o t h   c l i p b o a r d   a n d   d r a g   a n d   d r o p   o p e r a t i o n s   h a v e   t w o   s i d e s :   t h e   s o u r c e   a n d   t a r g e t ,   t h e   d a t a   p r o v i d e r 

Lu_ming的专栏 8万+

硕士论文排版救星:用Mathtype一键搞定所有公式格式(附样式预设文件)

本文详细介绍了如何使用Mathtype的样式预设和批量格式化功能,快速统一硕士论文中的公式格式。通过创建标准样式预设文件和一键批量处理,解决公式字体、大小、间距不统一的问题,确保符合学术规范要求,大幅提升论文排版效率。

weixin_30772105的博客 934

48V电气架构全面科普和解析:下一代智能电动汽车核心驱动

随着电动汽车(EV)技术的不断发展,传统的12V电力系统已经逐渐无法满足日益增长的功率需求,尤其是在电动汽车中,48V电气系统的引入成为了一种理想的解决方案。在电动汽车中,48V系统与Zonal架构的结合,不仅有效提升了车辆电力系统的能效,还为未来的技术升级提供了灵活的设计基础。随着电动汽车(EV)技术的发展,车辆电气系统的工作电压逐步从传统的12V系统向更高的电压过渡。随着电动汽车技术的不断进步,传统的12V电气系统逐渐无法满足现代高性能电动汽车的需求,而48V电力系统的引入成为一种理想的解决方案。

weixin_43199439的博客 7791

wsgen wsimport命令

wsgen  wsgen 是在JDK的bin目录下的一个exe文件(Windows版),该命令的主要功能是用来生成合适的JAX-WS。它读取Web Service的终端类文件,同时生成所有用于发布Web Service所依赖的源代码文件和经过编译过的二进制类文件。这里要特别说明的是,通常在Web Service Bean中用到的异常类会另外生成一个描述Bean,如果Web Service Bea

nowherecoder 1520

工业视觉检测实战指南:从硬件配置到AI算法部署

本文提供了一套完整的工业视觉检测系统搭建实战指南。从硬件选型(相机、光源、镜头、工控机)到AI算法(深度学习模型)部署,详细解析了如何为生产线配置一双“会思考的眼睛”。重点探讨了深度学习算法在复杂缺陷识别中的应用,并分享了模型训练、优化及云边协同部署的实战心得,旨在帮助工程师实现从实验室Demo到7x24小时稳定运行的工业落地。

weixin_29051193的博客 448

wsgen与wsimport命令说明

wsgen与wsimport命令说明

cfhgcvb的博客 504

【人工智能】Open WebUI 安装指南 ( 基于Docker下载和使用Open WebUI 、通过本地运行项目源码进行搭建Open WebUI)

Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 WebUI,旨在完全离线操作。它支持各种 LLM 运行程序,包括 Ollama 和 OpenAI 兼容的 API。社区:https://openwebui.com/

奶爸的编程之路,也就一周冷个三天 2万+

stata 工具变量法【计量经济系列(七)】

stata 工具变量法【计量经济系列(七)】 1. 内生性 2. 工具变量3. 2SLS (二阶段最小二乘法) 4. 弱工具变量5. 工具变量外生性的过度识别检验 6. 豪斯曼检验6.1 传统豪斯曼 6.2 杜宾-吴-豪斯曼检验(DWH)

侯小啾技术博客 2万+

wsgen与wsimport命令简单说明

wsgen wsgen是在JDK的bin目录下的一个exe文件(Windows版),该命 令的主要功能是用来生成合适的JAX-WS。它读取Web Service的终端类文件,同时生成所有用于发布Web Service所依赖的源代码文件和经过编译过的二进制类文件。这里要特别说明的是,通常在W...

chuifuhuo6864的博客 220

知识图谱大模型系列之 12 LLM 知识图谱构建器:从零到 GraphRAG 使用 LLM 知识图谱生成器在 GenAI 应用中提取和使用知识图谱(教程含源码)

为了更深入地了解 LLM 知识图谱构建器,GitHub 存储库提供了大量信息,包括源代码和文档。此外,我们的文档提供了详细的入门指南,而GenAI 生态系统则提供了有关可用更广泛工具和应用程序的进一步见解。

iCloudEnd的博客 2030

java wsgen和wsimport

wsgenwsgen 是在JDK自带的一个工具,该命 令的主要功能是用来生成合适的JAX-WS。它读取Web Service的类文件(Hello.class),同时生成所有用于发布Web Service所依赖的源代码文件、经过编译过的二进制类文件、WSDL文件和相关的xsd文件。-wsdl参数代表生成webservice-s参数代表生成的.java文件目录-d 参数代表生成的编译class文件目录-

xlxxcc的专栏 6538

【Android 11】使用Android Studio调试系统应用之Settings移植(五):编译Settings 模块、解决编译错误

基于Andorid 11,系列第5篇文章,本章开始,终于轮到解决正主Settings的编译问题了,使用android studio编译出Settings.apk,能看到这一章的同学,也着实不容易了,再接再厉

上周的博客 3916

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

webService使用工具wsgen和wsimport

%JAVA_HOME%\bin目录下的工具: wsgen.exe  wsgen 主要功能是用来生成合适的JAX-WS。它读取Web Service的终端类文件,同时生成所有用于发布Web Service所依赖的源代码文件和经过编译过的二进制类文件。这里要特别说明的是,通常在Web Service Bean中用到的异常类会另外生成一个描述Bean,如果Web Service Bean中的

glfaaaaa的专栏 1121

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: eclipse不能自动弹出提示的解决办法
下一篇: Mule ESB 学习笔记(1)
hxwhou
博客等级 码龄16年 100粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值