使用wsimport命令创建Web Service客户端

一、wsimport简介

在jdk的bin文件夹中,有一个wsimport.exe工具。这个工具可以依据Web Service的描述文件wsdl生成相应的类文件,然后用这些类文件,被Web Service的客户端导入之后,就可以像调用本地的类一样调用WebService提供的方法。该工具可以用于非Java语言编写的Web Service的,如:用C#编写的Web Service,通过wsimport也可以生成Java的客户端类。


 二、wsimport使用实例

通常wsimport的使用是在控制台以命令的方式进行使用。


例如:在命令提示符中使用如下命令:

wsimport -s g:/webservice/jwsclient -verbose  http://localhost:9000/helloWorld?wsdl



生成成功之后,我们发现在g:/webservice/jwsclient目录下生成了一个类文件的包,点进去之后则是生成的Java类文件。

使用wsimport命令后,我们可以得到如下代码文件:

|--com

|--guowei

|--ws

|--jws

|--HelloWorld.java

|--HelloWorld_Service.java

|--...

将上述文件拷贝到项目源文件目录src中,即可使用。


三、wsimport命令详解

wsinport的命令参数说明如下:

-d:生成客户端执行类的class文件的存放目录

-s:生成客户端执行类的源文件的存放目录

-p:定义生成类的包名

-verbose:显示生成过程

命令的使用细则见官方文档:https://jax-ws.java.net/2.2.3/docs/wsimport.html


需要注意的是:无论是-d还是-s参数制定的目录,在文件系统都必须存在,否则会报错,所以在生成客户端代码时,我们应该先新建存放代码的文件夹。


四、wsimport的使用方式

wsimport的使用方式有两种:

一种是使用参数-d生成.class文件,然后将.class文件打包成jar导入项目中使用;

另一种是使用参数-s直接生成.java源文件,将类文件目录拷贝到项目源文件src目录下即可。


参考资料:http://blog.csdn.net/chow__zh/article/details/8237684


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读《持续交付2.0》

几年前看过《持续交付(发布可靠软件的系统方法)》,感触不是很深,最近看了这本书的译者乔梁编写的《持续交付2.0》,结合工作中的种种,又有一种相见恨晚的感觉。可见好书是需要经常翻阅的,每次都会带来新的收获和思考。全…

Java使用Apache CXF开发Web Service

转自:http://blog.csdn.net/hu_shengyang/article/details/38384597 以前工作中也用CXF,但都是用别人现成搭好的环境,这次自己重头搭建一遍环境。过程中也有遇到的问题,也做了简单的整理。 对于CXF是干什么用的,我不想多说&#x…

程序员修神之路--kubernetes是微服务发展的必然产物

菜菜哥,我昨天又请假出去面试了战况如何呀?多数面试题回答的还行,但是最后让我介绍微服务和kubernetes的时候,挂了话说微服务和kubernetes内容确实挺多的那你给我大体介绍一下呗可以呀,不过要请和coffee哦◆◆kubernet…

.NET core3.0 使用Jwt保护api

摘要:本文演示如何向有效用户提供jwt,以及如何在webapi中使用该token通过JwtBearerMiddleware中间件对用户进行身份认证。认证和授权区别?首先我们要弄清楚认证(Authentication)和授权(Authorization&#…

Java ArrayList的实现原理详解

ArrayList是Java List类型的集合类中最常使用的,本文基于Java1.8,对于ArrayList的实现原理做一下详细讲解。 (Java1.8源码:http://docs.oracle.com/javase/8/docs/api/) 一、ArrayList实现原理总结 ArrayList的实现原…

.NET开发者的机遇与Web Blazor基础(有彩蛋)

一.唠唠WebAssembly的发展历程目前有很多支持WebAssembly的项目,但发展最快的是Blazor,这是一个构建单页面的.NET技术,目前已经从Preview版本升级到了beta版本,微软计划在2020年5月发布Blazor的第一个版本。Blazor是什么&#xff…

Java LinkedList的实现原理详解

LinkedList是Java List类型的集合类的一种实现,此外,LinkedList还实现了Deque接口。本文基于Java1.8,对于LinkedList的实现原理做一下详细讲解。 (Java1.8源码:http://docs.oracle.com/javase/8/docs/api/&#xff09…

知乎高赞:中国有哪些不错的开源软件产品?

点击蓝字“dotNET匠人”关注我哟加个“星标★”,每日 7:15,好文必达!在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?”事实上,还不少呢~…

容器日志管理 (2) 开源日志管理方案 ELK/EFK

本篇已加入《.NET Core on K8S学习实践系列文章索引》,可以点击查看更多容器化技术相关系列文章。上一篇《容器日志管理(1)》中介绍了Docker自带的logs子命令以及其Logging driver,本篇将会介绍一个流行的开源日志管理方案ELK/EFK…

关于Scrum起源,读这一篇论文就足够啦!《新新产品开发游戏》

关于Scrum的起源,我们经常会提到1986年发表在HBR上的一篇论文,《The New New Product Development Game》,今天我们把它重新翻译,一起重温为何Scrum会如此设置3355?为何会用橄榄球的术语来代表Scrum?The Ne…

Java HashMap的实现原理详解

HashMap是Java Map类型的集合类中最常使用的,本文基于Java1.8,对于HashMap的实现原理做一下详细讲解。 (Java1.8源码:http://docs.oracle.com/javase/8/docs/api/) 一、HashMap实现原理总结 HashMap的实现原理总结如下…

ASP.NET Core快速入门(第5章:认证与授权)--学习笔记

点击蓝字关注我们课程链接:http://video.jessetalk.cn/course/explore良心课程,大家一起来学习哈!任务31:课时介绍1.Cookie-based认证与授权2.Cookie-based认证实现3.Jwt认证与授权介绍4.Jwt认证与授权实现5.Jwt认证与授权6.Role …

Java HashSet的实现原理详解

HashSet是Java Map类型的集合类中最常使用的,本文基于Java1.8,对于HashSet的实现原理做一下详细讲解。 (Java1.8源码:http://docs.oracle.com/javase/8/docs/api/) 一、HashSet实现原理总结 HashSet的实现原理总结如下…

asp.net mvc 自定义 pager 封装与优化

asp.net mvc 自定义 pager 封装与优化Intro之前做了一个通用的分页组件,但是有些不足,从翻页事件和分页样式都融合在后台代码中,到翻页事件可以自定义,再到翻页和样式都和代码分离, 自定义分页 pager 越来越容易扩展了…

Java LinkedHashMap的实现原理详解

1. LinkedHashSet概述: LinkedHashSet是具有可预知迭代顺序的Set接口的哈希表和链接列表实现。此实现与HashSet的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可为插入顺序或是访问顺序…

.net core 中通过 PostConfigure 验证 Options 参数

.net core 中通过 PostConfigure 验证 Options 参数Intro在 .net core 中配置项推荐用 Options 来实现,有一些参数可能必须是用由用户来配置,不能直接写成默认值的参数,这样就需要就 Options 中的参数做一些校验,否则程序内部可能…

Spring配置错误java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/TransactionAwareDataS

在对Spring数据源dataSource配置之后,运行程序出现如下错误: java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/TransactionAwareDataSourceProxy 原因是项目没有导入spring-jdbc的jar包。 如果使用maven,可以直接在pom…

.NET做人脸识别并分类

前言在游乐场、玻璃天桥、滑雪场等娱乐场所,经常能看到有摄影师在拍照片,令这些经营者发愁的一件事就是照片太多了,客户在成千上万张照片中找到自己可不是件容易的事。在一次游玩等活动或家庭聚会也同理,太多了照片导致挑选十分困…

.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端

.NET Core ❤ gRPC千呼万唤的 .NET Core 3.0 终于在 9 月份正式发布,在它的众多新特性中,除了性能得到了大大提高,比较受关注的应该是 ASP.NET Core 3.0 对 gRPC 的集成了。它的源码托管在 grpc-dotnet 这个 Github 库中,由微软 .…

dotnet Blazor 用 C# 控制界面行为

微软很久就在做 Blazor 但是我现在才开始创建一个测试项目,我想用 C# 去控制 HTML 界面。小伙伴也许会问现在前端不是烂大街么,为什么还需要 Blazor 来做。可能原因只有一个,就是可以使用 C# 写脚本,代码比较清真用 VisualStudio …