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方法,启动调试下。

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于DNS解析的GSLB《CDN技术详解》

    基于DNS解析的GSLB《CDN技术详解》基于DNS解析的GSLB工作方式基于DNS解析的GSLB方案实际上就是把负载均衡设备部署在DNS系统中。在用户发出任何应用连接请求时,首先必须通过DNS系统来请求获得服务器的IP地址,基于DNS的GSLB正是在返回DNS解析结果的过程中进行智能决策,给用户返回一个最佳的服务器的IP地址。从用户的视角看,整个应用流程与没有GSLB参与时没有发生任何变化。DNS系统本身是具备简单负载分配能力的,这…

    2022年6月10日
    41
  • Git2.21下载安装及使用教程

    Git2.21下载安装及使用教程Git2.21下载安装及使用教程Git下载安装教程下载Git下载地址:https://git-scm.com/downloads安装步骤1.选择组件,全部勾选,点击next2.选择git使用的默认编辑器3.选择git使用的默认编辑器UseGitfromGitBashonly(安全)只在GitBash中使用Git命令行工具Gitfromthecomm…

    2022年5月13日
    35
  • 将十进制小数转化为二进制小数

    将十进制小数转化为二进制小数小数表示原理你了解小数的表示原理吗?我的十进制小数换成二进制该如何表示?比如:0.3的二进制表示为:0.0100110011001….(小数乘以2,取整,小数部分继续乘以2,取整,得到小数部分0为止,将整数顺序排列。0.8125×2=1.625取整1,小数部分是0.6250.625×2=1.25取整1,小数部分是0.250.25×2=0.5取整0,小

    2022年9月24日
    2
  • Android studio 无线adb连接设备

    Android studio 无线adb连接设备1 设备跟电脑需要在同一网段中 2 通过 USB 将设备与电脑连接 3 在 Androidstudi 的 Terminal 控制台中 进入 androidstudi 配置的 SDK 中的 platform tools 目录下 4 输入 adbdevices 查看当前是否有设备连接过 5 输入 adbtcpip 端口 初始化端口号 多设备下指定某一个设备需要在 adb 后加 s 设备 id 如 adbtcpip8888 输入 adbconnect 设备

    2025年10月7日
    4
  • 磁盘,硬盘,软盘,光盘的区别[通俗易懂]

    磁盘,硬盘,软盘,光盘的区别[通俗易懂]计算机存储器分为两大类:内存存储器和外部存储器(简称内存或内存条和外存)。内存容量小,存取速度快,只能临时保存信息(经cup处理后的数据),断电后信息就会消失。外存容量大,存取速度比内存慢,能永久

    2022年8月3日
    7
  • vue定时器问题(单个定时器和循环定时器)

    vue定时器问题(单个定时器和循环定时器)有两种情况 一 单个定时器 比如发送验证码后 显示倒计时 60 秒二 在循环中创建多个定时器 比如美团未支付页面有多个订单 都是从下单时间开始倒计时 15 分钟第二个情况有点复杂 弄了很久 算是踩坑了 一 单个定时器 比如发送验证码后 显示倒计时 60 秒 html divclass input item spanclass des 验证码 spanclass des divclass input item

    2025年10月12日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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