Java WebService 简单实例

前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作。

一、准备工作(以下为本实例使用工具)

1、MyEclipse10.7.1

2、JDK 1.6.0_22

二、创建服务端

1、创建【Web Service Project】,命名为【TheService】。

Java WebService 简单实例

Java WebService 简单实例

2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。

Java WebService 简单实例

Java WebService 简单实例

3、编写供客户端调用的方法,即编译方法代码。

Java WebService 简单实例

4、进行编译

说明:编译失败的话,请将该项目引用的jdk设置为1.6.0_17版本或更高版本

Java WebService 简单实例

Java WebService 简单实例

5、测试结果

测试地址:http://localhost:9001/Service/ServiceHello?wsdl

Java WebService 简单实例

三、生成客户端

1、创建【Web Service Project】,命名为【TheClient】。

Java WebService 简单实例

Java WebService 简单实例

Java WebService 简单实例

2、命令提示窗口执行生成命令。

格式:wsimport -s “src目录” -p “生成类所在包名” -keep “wsdl发布地址”

示例:

wsimport -s G:\workspace\webService\TheClient\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

说明:

1)”src目录”地址不可含空格

2)”wsdl发布地址”不要漏了”?wsdl”

Java WebService 简单实例

3、刷新项目,检查生成类

Java WebService 简单实例

Java WebService 简单实例

四、最终测试

1、创建【Class】类,命名为【ServiceTest】,位于【com.hyan.test】包下。

Java WebService 简单实例

Java WebService 简单实例

Java WebService 简单实例

2、编写测试方法,调用服务端方法,并打印返回的结果。

Java WebService 简单实例

Java WebService 简单实例

五、注意事项

1、JDK版本过低问题

报类似如下的异常:runtime modeler error: Wrapper class com.hyan.service.jaxws.GetValue is not found. Have you run APT to generate them?

Java WebService 简单实例

原因:JDK版本低于1.6.0_17

解决方法:调整该服务端项目所引用的JDK版本为安装的高版本JDK

Java WebService 简单实例

Java WebService 简单实例

Java WebService 简单实例

Java WebService 简单实例

Java WebService 简单实例

Java WebService 简单实例

Java WebService 简单实例

Java WebService 简单实例

Java WebService 简单实例

Java WebService 简单实例

Java WebService 简单实例

2、生成命令路径含空格问题

报类似如下的异常:directory not found: G:\SVN_FILE\GB\05

Java WebService 简单实例

原因:客户端src路径不可含有空格

解决方法:在不含空格路径的文件夹下重新创建客户端即可。

3、生成命令不完整问题

报类似如下的异常:[ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s):

Java WebService 简单实例

原因:生成命令末尾缺少”?wsdl”

解决方法:补上即可。

错误不完整的命令示例:

wsimport -s G:\workspace\webService\TheClient\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello

正确完整的命令示例:

wsimport -s G:\workspace\webService\TheClient\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

六、示例源码

服务端源码 下载

客户端源码 下载

Original: https://www.cnblogs.com/zhwl/p/4993587.html
Author: 郑文亮
Title: Java WebService 简单实例

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/537425/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 球队比赛预测

    一,乒乓球预测: 比赛规则:(1)一局比赛:在一局比赛中,先得11分的一方为胜方:10平后,先多得2分的一方为胜方。 (2)一场比赛:单打的淘汰赛为七局四胜制,双打淘汰赛或团体赛为…

    Java 2023年6月6日
    0108
  • java package(包)的用法

    一般来说都用eclipse自动化图形工具搞定,我用的是ubuntu,所以需要自己打包引入。 什么是包? 这是对java源代码的组织和管理的一种方式,比如:当操作系统某个目录的文件非…

    Java 2023年5月29日
    092
  • C# 线程手册 第六章 线程调试与跟踪 DataImport 例子

    现在我们要集中精力实现一个实战实例来描述到目前为止我们已经看过的内容。这里要实现的DataImport 例子是那种等待文件到达指定目录然后将其导入到一个SQL Server 数据库…

    Java 2023年5月29日
    061
  • 工厂模式

    定义一个接口,让子类去实现这个接口 再定义一个工厂类,该类中定义一个方法 返回值就是接口类型,可以根据传入的参数决定返回哪个子类对象 public interface Car { …

    Java 2023年6月15日
    061
  • day04_数组

    学习目标: 1. jvm内存图入门 2. 一维数组的使用 3. 二维数组的使用 4. 数组的内存结构 5. 数组中常见算法 6. 数组中常见的异常 java程序运行在jvm上,jv…

    Java 2023年6月8日
    0133
  • Nginx location 和 proxy_pass路径配置详解

    本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,进行测试,完全还原了整个测试过程。帮助了解具体的情况。 一、Nginx loca…

    Java 2023年5月30日
    085
  • Ubunt 使用Virtualbox虚拟机NAT无法上网解决办法

    我的Ubuntu安装了一个Centos虚拟机,为了SSH和上外网的方便,使用了NAT+host Only方式,实现内网+外网,但是安装好的Centos不能连接外网,很是无语,只能G…

    Java 2023年5月30日
    060
  • WC2022入职集训课程【数字化与创新思维】

    区块链 1.1 认识 区块链是一种去中心化,分布式记账的数据库技术行为。通过学习和体悟,将区块链的定义分成去中心化、分布式记账和数据库行为三部分。加密数字货币是区块链的一种应用。 …

    Java 2023年6月5日
    086
  • PyScript:让Python在HTML中运行

    大家好,我是DD,已经是封闭在家的第51天了! 最近一直在更新Java新特性和IDEA Tips两个专栏,其他方向内容的动态关注少了。昨天天晚上刷推的时候,瞄到了这个神奇的东西,觉…

    Java 2023年6月9日
    0106
  • python模块–collections

    python的内建模块collections有几个关键的数据结构,平常在使用的时候,开发者可以直接调用,不需要自己重复制造轮子,这样可以提高开发效率。 1. deque 双端队列 …

    Java 2023年6月14日
    078
  • centos7安装docker

    一、安装前必读 在安装 Docker 之前,先说一下配置,我这里是Centos7 Linux 内核:官方建议 3.10 以上,3.8以上貌似也可。 注意:本文的命令使用的是 roo…

    Java 2023年6月16日
    079
  • Vue编程式路由导航和路由守卫

    具体编码: methods: { pushShow(m) { this.$router.push({ name: ‘msg-d’, // 就是路由的名称,不能使用path para…

    Java 2023年6月13日
    081
  • OpenStack 安装 Keystone

    OpenStack 安装 Keystone 本篇主要记录一下 如何安装 openstack的 第一个组件 keystone 认证授权组件 openstack 版本 我选的是quee…

    Java 2023年6月9日
    0103
  • NoteOfMySQL-14-日志管理

    一、MySQL日志 日志是MySQL数据库的重要组成部分,日志文件记录了MySQL数据库的日常操作和错误信息,可以通过分析这些日志文件了解MySQL数据库的运行情况。MySQL数据…

    Java 2023年6月5日
    063
  • springboot整合swagger3.0配置集UI界面优化

    添加pom依赖 //swagger 界面优化依赖…

    Java 2023年6月9日
    064
  • Word书签替换,加盖电子印章及转换PDF(Java实用版)

    一、前言 在项目中有需要对word进行操作的,可以看看哈,本次使用比较强大的spire组件来对word进行操作,免费版支持三页哦,对于不止三页的word文件,可以购买收费版,官网:…

    Java 2023年6月8日
    086
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球