因为webservice分为服务端和客户端,所以如果要学习的话,那么肯定是包括这两部分的了。

1.开发服务端的webservice:

  使用jdk开发ws其实很简单,只是需要一些注解:最重要的是

@WebService,@WebMethod

这两个注解,分类在类和方法上面注解。注明这是一个ws接口,然后在实现就可以了,下面是例子:

/**
* SEI 接口
* @author Hotusm
*
*/
@WebService
public interface HelloWs { @WebMethod
public String sayHello(String name);
}

我们声明了一个接口,然后在类上和方法上面都使用注解标记,然后我们在实现这个接口:

@WebService
public class HelloWsImpl implements HelloWs{ @Override
public String sayHello(String name) {
System.out.println("SEI IMPL");
return "hello "+name;
} }

这样一个ws的helloword就写好了,下面就剩下怎么发布ws了,我们要使用到jdk提供给我们方法了:

    Endpoint publish = Endpoint.publish("http://127.0.0.1:9999/WebService/hellows", new HelloWsImpl());//这里我们使用的是实现的那个方法。

注意,如果是java app的话,建议不要使用127.0.0.1而应该获取到本机的真是端口号,这样别人就能够调用你的ws了。还有就是这个端口不能够被占用了。不然是会报错的:,,最后发布完以后,我们可以通过流浪器打开地址http://127.0.0.1:9999/WebService/hellows?wsdl,如果看到xml文件,那么就证明发布成功啦。

2.开发客户端的ws

开发客户端代码会分为两部分:

1.获取wsdl文件,这个获取除了网上的那个地址,也有可能是第三方发给你的一个wsdl文件
2.使用jdk提供的工具生成客户端主体代码。
下面来示例一下:
  1.第一步一般只是准备工作,没什么好讲的只是讲一下怎么生成客户端代码。我们使用到了java的一个工具,在jdk的bin目录里面有一个,我们可以使用这个工具来帮助我们生成代码。

  ①。使用cmd,切换到存放生成代码的地方(这里需要注意下,生成的包名和服务器中的包名是一致的,所以别放在服务器的src下面,不然就覆盖了)。:

D:\ww>wsimport -keep http://127.12.0.1:9999/WebService/hellows?wsdl

这样,在d盘的ww文件夹下面就生成了这样的一个结构的包和一些类。下面怎么使用这些东西呢?

HelloWsImplService factory=new HelloWsImplService();
//一般情况下,你只需要看哪一个类继承了service,那么这个类就是factory了:public class HelloWsImplService extends Service {...}
HelloWs helloWsImplPort = factory.getHelloWsImplPort();//然后通过工厂获取到操作类,就是真正有意义的那个类
helloWsImplPort.sayHello("hotusm");

如果是一个储存在磁盘上的wsdl,我们需要这样来生成:

wsimport -keep D:\jeesite\WebServiceTest\src\weather.wsdl

其他的操作都是一样的。

CXF开发:cxf开发和jdk的开发是差不多的。差别是加上cxf的架包。

webservice入门(2)开发ws程序的更多相关文章

  1. 转载 WebService 的CXF框架 WS方式Spring开发

    WebService 的CXF框架 WS方式Spring开发   1.建项目,导包. 1 <project xmlns="http://maven.apache.org/POM/4.0 ...

  2. 你也可以玩转Skype -- 基于Skype API开发外壳程序入门

    原文:你也可以玩转Skype -- 基于Skype API开发外壳程序入门 Skype是目前这个星球上最厉害的IM+VOIP软件,Skype现在已经改变了全球2.8亿人的生活方式.你,值得拥有! :) ...

  3. [15单片机] STC15F104W开发入门及模拟串口程序

    STC15F104W开发入门及模拟串口程序 Saturday, 31. March 2018 09:42AM - beautifulzzzz 前言 最近找到一款51内核的SOP8封装的8脚单片机STC ...

  4. 006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序

    006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序 Eclipse下创建程序 创建程序分为以下几个步骤: 1.首先是创建一个 ...

  5. 树莓派入门教程——使用Qt开发界面程序

    前言        Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器.Qt是面向对象的框架,使用特 ...

  6. WebService入门实例教程

    什么是WebService 通过使用WebService,您的应用程序可以向全世界发布信息,或提供某项功能,它是基于Web的服务,通过Web进行发布.查找和使用. WebService脚本平台需支持X ...

  7. JAVAEE——BOS物流项目07:WebService入门、apache CXF入门、基于CXF发布CRM服务

    1 学习计划 1.WebService入门 n 什么是WebService n 调用网络上的WebService服务 n SOAP和WSDL概念 n 基于JDK1.7发布一个简单的WebService ...

  8. WebService 入门

    1. 远程调用技术 2. WebService 概述 WebService 是使用 Http 发送 SOAP 协议数据的一种远程调用技术; WebService 需要开发客户端; WebService ...

  9. WebService入门

    1.什么是web服务: web服务是一种可以用来解决跨网络应用集成问题的开发模式,这种模式为实现"软件即服务"提供了技术保障. 2.web服务的三个核心 2.1  SOAP SOA ...

随机推荐

  1. 几款开源的图形化Redis客户端管理软件

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/98.html?1455870209 Redis是一个超精简的基于内存的键值 ...

  2. APP性能测试

    方法一: 本地安装安卓模拟器,用LR选择模拟器录制方式录制 方法二: 手机真机需要root,可以在电脑上下载一键root工具(如卓大师),然后手机和电脑用数据线连接,然后root. 在手机上运行 Mo ...

  3. C#打开新页面

    最常用的页面跳转(原窗口被替代):Response.Redirect("XXX.aspx"); 利用url地址打开本地网页或互联网:Respose.Write("< ...

  4. KnockoutJS 3.X API 第三章 计算监控属性(1) 使用计算监控属性

    计算监控属性(Computed Observables) 如果你有一个监控属性firstName,和另一个lastName,你要显示的全名?可以使用计算监控属性来实现-它依赖于一个或多个其他监控属性, ...

  5. Linux的学习--crontab

    之前了解过一点crontab,前段时间比较闲,就熟悉了一下,今天总结记录一下. crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并 ...

  6. 自己的JS框架--Amy框架。

    这是我根据司徒正美<JavaScript框架设计>一书然后百度了很多东西之后自己写的一个JS框架,满足了司徒正美文中的种子模块部分,包含了命名空间.对象扩展.数组化.类型判断.选择器.多库 ...

  7. EasyUI treegrid 获取编辑状态中某字段的值 [getEditor方法获取不到editor]

    如题,在treegrid里,按照api里getEditor方法的说明, getEditoroptionsGet the specified editor, the options contains t ...

  8. IIS 服务器下载apk文件报404错

    文件路径什么都对,可就是提示404错误,最后问题出在了IIS的MIME上,按照下面的办法即可解决. 1.在 IIS 管理器中,右键单击要为其添加 MIME 类型的网站或网站目录,单击"属性& ...

  9. Mybatis在idea中错误:Invalid bound statement (not found)

    学习mybatis的过程中,测试mapper自动代理的时候一直出错,在eclipse中可以正常运行,而同样的代码在idea中却无法成功.虽然可以继续调试,但心里总是纠结原因.百度了好久,终于找到一个合 ...

  10. 【模式匹配】Aho-Corasick自动机

    1. 多模匹配 AC自动机(Aho-Corasick Automaton)是多模匹配算法的一种.所谓多模匹配,是指在字符串匹配中,模式串有多个.前面所介绍的KMP.BM为单模匹配,即模式串只有一个.假 ...