Java Web Service实践

Web Service直接翻译就是网络服务。

主要为了解决各种语言,各种系统之间不兼容,通过SOAP(简单对象访问协议)实现互联互通。

其核心就是这个SOAP,通过该协议将传递的数据格式确定,使得各个系统能够通信。

@WebService 表明这是一个用来提供服务的类

@WebMethod 用来表示doSth方法是将要暴露的方法

@WebParam 表示调用该服务需要提供的参数

@WebResult 表示将要返回的结果的类型

虽然我们写的东西不多,但是后端却有大量的理论和过程,并产生很多东西。对应用者来说,不需要理解太深刻。先学会如何熟练使用,等到有需要的时候,可以继续进行理论研究,节约时间。

写一个实现类实现我们刚才写的接口,并提供具体的返回。在注释中指定实现的服务接口名。

写一个类启动我们的服务。

指定启动服务的地址端口"127.0.0.1:13579",提供服务的名称"doer"。

启动后我们就可以来生成使用这个服务的客户端了。我们使用jdk提供的wsimport命令来生成客户端。

如果命令敲错了,可能会有问题。本文最后我会把我遇到的问题贴出来,可以让大家少走点弯路。

备注:如果你没有吧Java的bin目录添加到环境变量path里边,需要进入到bin目录后执行这个命令。

生成后可以看到下面的文件列表。

然后我们来写个客户端调用的例子来看看我们的服务是否成功了。

蓝色的部分是比较固定的取得服务接口的方法,红色的IDoer是我们声明的服务接口,doSth是我们调用声明的方法,并传递参数。

结果如下:

学习是两件事,学和习。学只是明白了理论,习是指练习。我之所以不把代码直接贴出来,是为了看到这篇文章,并想要学会的人能够通过自己敲代码去练习。只学的人,和学习的人之间的差距是很大的,而且是对个人提升最大的部分。

生成客户端代码的时候碰到了两个错误。

1,忘记输入?wsdl

2, 服务没有启动。

有其他问题的朋友可以发出来大家一起讨论一下。不懂的尽管提问,我会的一定都告诉你,如果是我不会的,我也找个会的高人来告诉你。

android studio访问webservice如何传递类对象报错_小白学习web service,这是最最最基础的了,只用JDK还不会吗?...相关推荐

  1. Android Studio使用过程中Java类突然报红,但项目可运行解决方案

    Android Studio使用过程中Java类突然报红,但项目可运行解决方案 参考文章: (1)Android Studio使用过程中Java类突然报红,但项目可运行解决方案 (2)https:// ...

  2. Android Studio 的一些 常用操作和 编译报错 整理(持续更新中...)

    Android Studio 的一些 常用操作和 编译报错 整理(持续更新中...) 目录 Android Studio 的一些 常用操作和 编译报错 整理(持续更新中...) 一.Android s ...

  3. Android 开发笔记——通过 Intent 传递类对象

    Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种 ...

  4. Android Studio升级后,新建Activity始终报错,创建不了

    今天升级Android Studio到3.0后,3.0的新特性还是让人挺喜欢的,但是当我新建一个Activity发现始终报错 Error executing FreeMarker template: ...

  5. Android Studio 第一次安装启动Failed to resolve报错解决方案

    笔者近期准备着手做一个有关安卓的项目,兴冲冲地找来Android学习书籍,并下载安装了Android Studio.可是在Android Studio的第一次运行就遇到了很大的问题,各种莫名其妙的报错 ...

  6. Android Studio第一次下载安装SDK更改目录报错的

    第一次安装Android Studio需要下载Android SDK默认是下载到C:\windows\user\username\appDate\local\Android\Sdk里的. 因为SDK体 ...

  7. android studio编译项目,9 patch图片报错Crunching Cruncher

    报错内容 Error:Execution failed for task ':generalAPPN:mergeDebugResources'. > Crunching Cruncher mc_ ...

  8. word2013插入excel对象报错_在 Excel 电子表格中插入对象

    如果在 Excel 或支持 OLE 的任何程序(如 Word)之间复制信息,可以将信息复制为 链接对象 或 嵌入对象 . 链接对象与嵌入对象之间的主要区别是数据存储位置,以及对象在放置到目标位置后 目 ...

  9. 把执行结果转成json对象报错_给Hangfire的webjob增加callback和动态判断返回结果功能设计...

    背景介绍 通常业务中需要用到定时执行功能,我用hangfire搭建了一个调度服务,这个调度服务是独立于业务逻辑的,具体可以参考文章:https://github.com/yuzd/Hangfire.H ...

最新文章

  1. python脚本实例手机端-用Python实现自动化操作Android手机
  2. eclipse-python插件。如果online update的话,经常会失败,所以offline比较靠谱
  3. ECMAScript5 ES5
  4. 吃透了这些Redis知识点,面试官一定觉得你很NB
  5. linux命令11,每日一个linux命令11-more
  6. ICCV2015上的GazeTracker论文总结
  7. Nodejs-增删改查-案列方法
  8. halcon——在图形窗口中画坐标系
  9. 基于STC89C51和L298N的42步进电机控制
  10. Qt是什么?Qt简介(非常全面)
  11. 程序、算法和数据结构的关系
  12. excel 第3讲:查找、替换与定位
  13. Ubuntu-图形界面和字符界面切换快捷键
  14. mysql查询出现ambiguous的问题
  15. 小胡的第一篇Blog
  16. 量子计算机 霍金,科学家正在使用量子粒子窥视黑洞内部
  17. M1 Mac 安装iPad、iPhone App
  18. excel 2010 删除重复行(按某一列重复)
  19. MySQL的学习笔记(超详细超完整)
  20. 20200405.色彩空间类型转换

热门文章

  1. gfirefly 框架分析
  2. 即时通信软件开发的年轻开发者曾注意到
  3. Ubuntu 10.10用LibreOffice替换OpenOffice
  4. lucene3.0_IndexSearcher排序
  5. Win 2003系统传真功能的配置及使用
  6. AD 组策略应用与排错(1应用)
  7. excel 導入數據庫的代碼
  8. 19) maven 项目结构:聚集
  9. 修改Win7远程桌面端口
  10. java学习日记(9)———socket,网络编程的学习