WebService(3)_开发流程(原生/JDK自带工具)
来源:互联网 发布:闲鱼平台优化 编辑:程序博客网 时间:2024/06/05 11:59
第一次写WebService是一年前的事情了,虽然代码还留着,但是开发的过程已经忘记了,为什么说,过程忘记了? 因为这里面有一些关键点,当时没有记录下来.
最近又在看项目,正好有WebService,所以,捡起来复习下.写个Demo.
这个Demo不会用到任何的WebService框架,比如像CXF之类的...以后有空可以写一个....
先来个项目结构图吧.
如图所示,一共三个类.
一个接口,一个接口实现类,一个发布WebService的主方法.
看代码吧.
看着,在接口类上,需要加上@WebService 注解.
在类方法上面,需要加上@WebMethod注解.
package com.test.webservice;import javax.jws.WebMethod;import javax.jws.WebService;@WebServicepublic interface WebServiceServerInterface {@WebMethodpublic String sayHello(String name);}
随便写一个了,能明白就行.
在接口实现的类上,依旧需要加上@WebService注解
不过方法上面,就不用再加注解了.
package com.test.webservice;import javax.jws.WebService;@WebServicepublic class WebServiceServerImpl implements WebServiceServerInterface {@Overridepublic String sayHello(String name) {System.out.println("Server : " + name);return "Hello " + name;}}
注意: Endpoint.publish(),
这个方法,接收两个参数.
第一个参数是WebService发布的路径address,端口号后面的看自己心情,随便加,最后的方法名,也是看心情.
第二个参数是 接口的实现类对象.
package com.test.webservice;import javax.xml.ws.Endpoint;public class Main {public static void main(String[] args) {String address = "http://localhost:8088/WebServiceDemo/sayHello";Endpoint.publish(address, new WebServiceServerImpl());System.out.println("WebService Server 发布成功");}}
启动main方法,即可....这个程序会一直跑下去....你看那个小红方块....
接下来,我们使用Eclipse自带的工具,模拟客户端进行调用.
这里要注意,(最好)Eclipse 在Java EE的工作空间下...
打开那个"地球"的按钮...open web browser,在地址栏上输入我们发布的WebService地址
注意啊,这里输入的URL,需要在发布地址的后面,加上"?wsdl"这个后缀,否则会出现"无法显示此页"
出现了这篇WSDL文档,说明服务端已经成功的发布好了....
然后我们打开"地球"按钮旁边的那个按钮 "Launch the web Service explorer"
按照图片中,标注的顺序一个一个按....
然后在输入框中输入 发布的WebService地址....
按 go...
啦啦啦啦....出现了....
然后咱们点击 Operation 下面的 那个sayHello 方法.....
然后
然后
然后就有结果了....
模拟客户端调用服务端....
好了,上面说的是Eclipse自带的模拟客户端....
但是真的要写客户端应该怎么搞????
准备工作...首先你的电脑需要配置JDK环境变量....
其次提醒下....WebService 发布的Main方法,不要关闭啊....
在JDK的bin目录下面...有一个wsimport.exe这个程序...咱们利用这个程序,为我们生成WebService的客户端....
首先创建一个WebService Client 客户端....
我这里以Windos系统为例,如果你是Linux,我还真不会了...再去Google下看看....
打开Dos命令行....就是cmd...
然后在dos命令下,进入WebService Client 客户端的src文件夹下面....
就像这样子....
接下来就是见证奇迹的时刻啦.....
在命令行中输入 wsimport -keep +你发布的WebService的URL
就像这样子.....
记得地址后面要加上?wsdl
然后你再刷新下你的WebService Client客户端代码....是不是多了些什么???
那么问题来了...这么多的类,我特么应该调用哪个???
现在咱们去看看WSDL文档....
在这个文档的下面....
有一个<service>标签....这个标签,就是咱们需要调用的类...在上面的类中,也是能找到的,是不是....
<service>标签下面的<port>标签,就是服务端给我们提供的方法....
然后咱们来写个客户端代码调用一下.....
这里我先 创建service对象...
然后用service对象,调用port方法...
你们在写代码的要注意下...你看看他返回的是什么东西...
他返回的就是一个接口.....
然后咱们通过接口去调用服务端提供的方法...
结束了.....
- WebService(3)_开发流程(原生/JDK自带工具)
- JDK自带工具
- jdk自带工具使用
- JDK 自带工具监控
- JDK自带工具一览表
- JDK自带工具一览表
- JDK自带工具一览表
- JDK自带工具概览
- JDK 自带工具备忘
- JDK自带工具类
- JDK 自带工具试用(一)
- JDK自带工具-jstat详解
- JDK自带工具之JPS
- JDK自带工具之jstat
- JDK自带工具之jinfo
- JDK自带工具之jmap
- JDK自带工具之jhat
- JDK自带工具之jstack
- Unix 环境高级编程
- 使用PinnedHeaderListView实现固定头部的列表
- shell脚本中的$*,$@和$#
- 最大值输出
- Struts2的学习(1)
- WebService(3)_开发流程(原生/JDK自带工具)
- 从源码出发了解RxJava的使用(下)
- 机器学习5 多维正态分布(高斯分布)
- 【Git/Github学习笔记】Git常用命令(代码拉取)
- JAVA多线程
- Spring核心技术(十二)——基于Java的容器配置(二)
- 关于ubuntu14.04.4的运行级别及其更改
- POJ 2311 Cutting Game【SG函数,子游戏终态】
- poj 2151 Check the difficulty of problems(dp)