转自: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相关推荐

  1. WebService学习总结

    本文出自 http://www.cnblogs.com/ 的 孤傲苍狼 原文网址: http://www.cnblogs.com/xdp-gacl/category/629559.html http: ...

  2. Redis学习之路(一)--下载安装redis

    redis学习之路--下载安装redis windows安装redis 1.下载redis 2.安装 3.查看是否安装成功 windows安装redis 1.下载redis 网址:https://gi ...

  3. 前端Vue学习之路(二)-Vue-router路由

    Vue学习之路 (二) Vue-router(基础版) 一.增加静态路由 二.动态路由+路由嵌套+404页面 三. 编程式导航 四.命名路由 五.命名视图 六.重定向和起别名 1.重定向 2.起别名 ...

  4. 前端Vue学习之路(一)-初识Vue

    Vue学习之路 (一) 1.引言 2.更换npm国内镜像源 3.用npm下载Vue 4.Vue全家桶 5.使用命令创建项目 5.推荐插件 6.推荐网站 7.学习扩展 1.引言 先安装node.js环境 ...

  5. 学习之路-现代密码学基础-001

    学习之路-现代密码学基础-第一章密码学概论 转载于:https://www.cnblogs.com/vegetables-Adanos/p/5371420.html

  6. 拿下斯坦福和剑桥双offer,00后的算法学习之路

    董文馨,00后,精通英语,西班牙语.斯坦福大学计算机系和剑桥大学双Offer,秋季将进入斯坦福大学学习. 10岁开始在国外上学:12岁学Scratch: 13岁学HTML & CSS: 14岁 ...

  7. Markdown学习之路

    Markdown学习之路 作者:CFishHome 转载请注明地址:https://blog.51cto.com/12731497/2164274 Markdown是什么? Markdown是一个 W ...

  8. [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇...

    本文是为后面的学习之路做铺垫,简单介绍下企业库中的Validation模块的一些相关知识,包括Validation模块的简介.用途.使用方法.默认提供的多种验证器的介绍等. 一.简介及用途 在实际的项 ...

  9. 转载: Qt 学习之路 2归档

    Qt 学习之路 2归档 http://www.devbean.net/2012/08/qt-study-road-2-catelog/

最新文章

  1. 【干货】从用户体验谈产品经理如何提升团队协作能力
  2. 后端:SpringBoot集成Swagger-Bootstrap-UI,界面美观!
  3. [css] css图片缩放失真出现锯齿的如何解决呢?
  4. 你的手机支持5Gwifi吗?5G上网真的很快吗?
  5. android 中RecyclerView 嵌套了 GridView 的用法
  6. python大数据和java大数据的区别-学习大数据先学Python还是JAVA?
  7. PHP完全自学手册01.pdf
  8. 萤石摄像头实现抓拍短视频
  9. 主数据管理之二:主数据管理系统的功能组件
  10. pytest系列——参数化的使用
  11. jq匹配偶数行_jQuery 偶数选择器(:even )的介绍
  12. amd显卡风扇调节_解决办法:设置显卡风扇速度的教程方法
  13. 7款英文语法检查工具推荐
  14. Android系统中固件崩溃后使用uevent机制重新加载固件 流程分析
  15. 税务总局:今年预计减税1.8万亿元!个体户能享受哪些税收优惠?
  16. 【电源专题】开关电源的控制器和稳压器的区别
  17. 崛起于Springboot2.X之集成规则引擎Drools(41)
  18. C#自学42一抽象类和接口
  19. 台式计算机网线接口松动怎么办,电脑网线接口附近时常有滋滋声是怎么回事
  20. 联想台式计算机配置单,联想台式电脑报价 联想电脑配置参数

热门文章

  1. tensorflow2.X安装及使用
  2. jQuery Mobile
  3. 【BZOJ4545】DQS的trie 后缀自动机+LCT
  4. winformC# TreeView 点击父节点,子节点全选,
  5. 创业团队:找对人就成功了90%
  6. IOS UIWebView用法
  7. struts2中s:select标签的使用
  8. 使用FastCoder写缓存单例
  9. hadoop cdh 4.5的安装配置
  10. 8.2 Android Basic 数据存储 Database SQLite Demo 2