java webservice服务端和客户端创建(JAX-WS)[通俗易懂]

java webservice服务端和客户端创建(JAX-WS)[通俗易懂]idea:2020jdk:1.8目录1.搭建webservice服务端1.1新建一个java空项目1.2项目建好后,右键项目,选择“AddFrameworkSupport…”1.3生成wsdl,右键类的时候可能没有WebServices这个选项了,可以在Tools中找到这个功能1.4启动服务,右键HelloWorld启动项目1.5访问web服务1.6增加一个方法看看效果2.搭建webservice客户端2.1新建一个java空项目2.2项目生成好后会弹框出来,把wsdl地址放

大家好,又见面了,我是你们的朋友全栈君。

idea : 2020
jdk:1.8

1.搭建webservice服务端

1.1 新建一个java空项目

在这里插入图片描述
直接下一步,建一个空项目先。
在这里插入图片描述

1.2 项目建好后,右键项目,选择“Add Framework Support…”

在这里插入图片描述
勾上 WebServices,这里选择JAX-WS,然后确认即可

1.3 生成wsdl,右键类的时候可能没有WebServices这个选项了,可以在Tools中找到这个功能

在这里插入图片描述
在这里插入图片描述

1.4 启动服务,右键HelloWorld启动项目

在这里插入图片描述

1.5 访问web服务

在这里插入图片描述
在这里插入图片描述
点击页面上的wsdl或者访问http://localhost:9000/HelloWorld?wsdl,可以看到webservice的信息

1.6 增加一个方法看看效果

在这里插入图片描述
新增一个testWebservice方法,并且重新生成wsdl,需要重新编译后才能生成wsdl,启动后在看下服务
在这里插入图片描述

2.搭建webservice客户端

2.1 新建一个java空项目

在这里插入图片描述

2.2 项目生成好后会弹框出来,把wsdl地址放进去点击ok就可以了

在这里插入图片描述
如果不小心把框关闭了,也可以点击Tools->WebServices->Generate Java Code From Wsdl
在这里插入图片描述
点击ok之后,可能会出现这个异常,
在这里插入图片描述

Exception in thread "main" java.lang.AssertionError: org.xml.sax.SAXParseException; systemId: jar:file:/F:/....../lib/jaxb-xjc.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd; lineNumber: 52; columnNumber: 88; schema_reference: ���� accessExternalSchema �������õ����ƶ������� 'file' ����, ����޷���ȡ�����ĵ� 'xjc.xsd'��

解决方法,在jdk安装地址增加一个 jaxp.properties文件
在这里插入图片描述
内容为,javax.xml.accessExternalSchema=all,然后再试试生成看看
在这里插入图片描述

2.3 生成完成后,写个测试类,main方法,启动调试下。

在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158780.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Laravel 框架集成 UEditor 编辑器的方法

    Laravel 框架集成 UEditor 编辑器的方法

  • 【一】并发编程故事背景介绍

    背景每一个故事都有一个开始,那么并发编程的故事的开始是什么呢?由于人类的科学技术的发展,需要处理的任务越来越复杂也多样化,导致之前单核的处理器无法处理这些复杂的任务,于是处理器从之前的单核处理器逐渐发展到多核处理器【其实这里也有一个摩尔定律】。多核处理器很好的解决了多任务和任务复杂度的问题,那么我们就应该学习一下多任务处理,这里指的是多线程,Java语言在创建时就支持多线程,很高明!

  • java前端开发自动生成器_一个简单实用的java代码生成器

    java前端开发自动生成器_一个简单实用的java代码生成器做现在这破项目boss还觉得进度慢,时间其实都浪费在了基础的CRUD上了,一个上午好不容易调通从action到service在到dao在到数据库的crud。工欲善其事必先利其器,有一款趁手的工具可有效提高开发效率,推荐一个简单实用的在线java代码生成器。代码生成器只是xjr快速开发框架功能的一部分。这款代码生成器是一款国内最新自主研发的JAVA代码自动生成器,目前来看这是一款十分赞的代码…

  • Mutex的lock(), tryLock()区别[通俗易懂]

    Mutex的lock(), tryLock()区别[通俗易懂]lock函数和tryLock函数都是用于锁定对象,但他们之间有一定的区别:lock函数是阻塞的,因为它调用WaitForSingleObject函数时传递的第二个参数是INFINITE,表示无限等待下去,所以是阻塞的。tryLock函数时非阻塞的,调用后立即返回。因为它调用WaitForSingleObject函数时传递的第二个参数是0,表示不等待,立即返回。调用lock或者tryLoc

    2022年10月16日
  • visio的安装教程2019_anaconda安装教程

    visio的安装教程2019_anaconda安装教程Visio的安装教程  Visio使你能够将复杂的文本和表转换为很难理解的可视化图表,以便快速传达信息。有许多类型的Visio图表,包括组织结构图、网络图、工作流和家庭或office计划。Visio入门可以分为三个基本步骤:使用模板、排列和连接形状以及使用文本修改形状。教程矢量图:https://www.iconfont.cn/模板:https://huaban.c…

    2022年10月25日
  • 特征选择的几种方法[通俗易懂]

    目录1过滤法(Filter)1.1方差选择法1.2相关系数法1.3卡方检验1.4互信息法1.5relief算法2包裹法(Wrapper)2.1递归特征消除法2.2特征干扰法3嵌入法(Embedded)3.1基于惩罚项的特征选择法3.2基于树模型的特征选择法4特征选择方法的优…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号