WebService 学习之路(一):了解并使用webService
转自:http://www.cnblogs.com/xiaochangwei/p/4969448.html
webService主要用于向其他系统提供接口以便调用,系统间可能开发语言等完全不同,根据约定的接口规范,调用者传递相关参数进行接口调用,服务方根据传入的条件进行业务处理并进行结果返回。
webSercive现在有很多框架支持,并且可以和主流框架如Spring进行集成,更易于操作。推荐使用Apache CXF. 不过今天学习暂时不设计CXF,后期将会以具体实例展示SpringMVC和CXF、restful的集成及使用。 Springmvc集成CXF请看教程二 http://www.cnblogs.com/xiaochangwei/p/5399507.html
现在采用最传统的方式来进行简单的webService创建及演示。
① 打开eclipse创建一个java工程并新建class,代码如下:
package webService001;import javax.jws.WebService; import javax.xml.ws.Endpoint;@WebService public class WebService001 {public void testWebService(String name) {System.out.println("Test sucessfully, you input name is :" + name);}public static void main(String[] args) {Endpoint.publish("http://www.xiaochangwei.com:8888/webService/test", new WebService001());System.out.println("webService pulish completed!");} }
需要注意的是class上有@Webservice注解. 右键 run as javaApplication,待控制台打出public complete,请保持此程序一直运行,不要关闭
打开浏览器,输入publish中的地址,并在末尾加上?wsdl,如:http://www.xiaochangwei.com:8888/webService/test?wsdl 打开后如下即表示发布成功
② 写客户端代码,来进行调用
打开eclise,新建项目,选择web service client,在新打开的窗口中service defination中输入 http://www.xiaochangwei.com:8888/webService/test?wsdl,finish后会看见项目中有5个java文件,
XXXXX.java
XXXXXPortBindingStub.java
XXXXXProxy.java
XXXXXService.java
XXXXXServiceLocator.java
这些都是根据wsdl定义文件给我们生成的本地java文件,这样我们可以像操作本地的java类一样进行远程服务的调用
新建ServiceTest.java类进行测试,代码如下:
package webService001;public class ServiceTest {public static void main(String[] args) throws Exception {WebService001 test = new WebService001ServiceLocator().getWebService001Port();test.testWebService("xiaochangwei");}}
执行后,由于我们是直接从控制台打出消息,所以需要我们到发布service的eclipse控制台查看打印的信息,当然可以修改为返回String等任意对象,在客户端显示
上述就是webservice的入门实例,有兴趣的朋友请持续关注,近期将发布SpringMVC中集成CXF发布webservice及相关配置、使用等
即下面的配置方式,不需要再生成如此多的文件
<jaxws:endpoint id="helloWorld" implementor="#hello" address="/HelloWorld" />
Springmvc集成CXF请看教程二 http://www.cnblogs.com/xiaochangwei/p/5399507.html
转载于:https://www.cnblogs.com/weizhxa/p/6839392.html
WebService 学习之路(一):了解并使用webService相关推荐
- WebService学习总结
本文出自 http://www.cnblogs.com/ 的 孤傲苍狼 原文网址: http://www.cnblogs.com/xdp-gacl/category/629559.html http: ...
- Redis学习之路(一)--下载安装redis
redis学习之路--下载安装redis windows安装redis 1.下载redis 2.安装 3.查看是否安装成功 windows安装redis 1.下载redis 网址:https://gi ...
- 前端Vue学习之路(二)-Vue-router路由
Vue学习之路 (二) Vue-router(基础版) 一.增加静态路由 二.动态路由+路由嵌套+404页面 三. 编程式导航 四.命名路由 五.命名视图 六.重定向和起别名 1.重定向 2.起别名 ...
- 前端Vue学习之路(一)-初识Vue
Vue学习之路 (一) 1.引言 2.更换npm国内镜像源 3.用npm下载Vue 4.Vue全家桶 5.使用命令创建项目 5.推荐插件 6.推荐网站 7.学习扩展 1.引言 先安装node.js环境 ...
- 学习之路-现代密码学基础-001
学习之路-现代密码学基础-第一章密码学概论 转载于:https://www.cnblogs.com/vegetables-Adanos/p/5371420.html
- 拿下斯坦福和剑桥双offer,00后的算法学习之路
董文馨,00后,精通英语,西班牙语.斯坦福大学计算机系和剑桥大学双Offer,秋季将进入斯坦福大学学习. 10岁开始在国外上学:12岁学Scratch: 13岁学HTML & CSS: 14岁 ...
- Markdown学习之路
Markdown学习之路 作者:CFishHome 转载请注明地址:https://blog.51cto.com/12731497/2164274 Markdown是什么? Markdown是一个 W ...
- [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇...
本文是为后面的学习之路做铺垫,简单介绍下企业库中的Validation模块的一些相关知识,包括Validation模块的简介.用途.使用方法.默认提供的多种验证器的介绍等. 一.简介及用途 在实际的项 ...
- 转载: Qt 学习之路 2归档
Qt 学习之路 2归档 http://www.devbean.net/2012/08/qt-study-road-2-catelog/
最新文章
- 【干货】从用户体验谈产品经理如何提升团队协作能力
- 后端:SpringBoot集成Swagger-Bootstrap-UI,界面美观!
- [css] css图片缩放失真出现锯齿的如何解决呢?
- 你的手机支持5Gwifi吗?5G上网真的很快吗?
- android 中RecyclerView 嵌套了 GridView 的用法
- python大数据和java大数据的区别-学习大数据先学Python还是JAVA?
- PHP完全自学手册01.pdf
- 萤石摄像头实现抓拍短视频
- 主数据管理之二:主数据管理系统的功能组件
- pytest系列——参数化的使用
- jq匹配偶数行_jQuery 偶数选择器(:even )的介绍
- amd显卡风扇调节_解决办法:设置显卡风扇速度的教程方法
- 7款英文语法检查工具推荐
- Android系统中固件崩溃后使用uevent机制重新加载固件 流程分析
- 税务总局:今年预计减税1.8万亿元!个体户能享受哪些税收优惠?
- 【电源专题】开关电源的控制器和稳压器的区别
- 崛起于Springboot2.X之集成规则引擎Drools(41)
- C#自学42一抽象类和接口
- 台式计算机网线接口松动怎么办,电脑网线接口附近时常有滋滋声是怎么回事
- 联想台式计算机配置单,联想台式电脑报价 联想电脑配置参数