因为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. Canvas 内部元素添加事件处理

    目录 前言 自定义事件 有序数组 元素父类 事件判断 其他 立即执行函数 apply, call, bind addEventListener 传参 调用父类的构造函数 对象检测 isPointInP ...

  2. PHP数据库操作:使用ORM

    之前我发了一篇博文PHP数据库操作:从MySQL原生API到PDO,向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的.本文介绍如 ...

  3. paip.mysql 性能跟iops的以及硬盘缓存的关系

    paip.mysql 性能跟iops的以及硬盘缓存的关系 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.c ...

  4. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  5. KnockoutJS 3.X API 第四章 表单绑定(10) textInput、hasFocus、checked绑定

    textInput绑定目的 textInput绑定主要用于<input>或者<textarea>元素.他提供了DOM和viewmodel的双向更新.不同于value绑定,tex ...

  6. KendoUI系列:MultiSelect

    1.基本使用 1>.创建Input <link href="@Url.Content("~/Content/kendo/2014.1.318/kendo.common. ...

  7. OpenCascade BRep Format Description

    OpenCascade BRep Format Description eryar@163.com 摘要Abstract:本文结合OpenCascade的BRep格式描述文档和源程序,对BRep格式进 ...

  8. hdu1269迷宫城堡(判断有向图是否是一个强连通图)

    1 /* 题意: 给你一个图,求这个有向图示否是一个强连通图(每两个节点都是可以相互到达的)! 思路1:按正向边dfs一遍,将经过的节点计数,如果记录的节点的个数小于n,那么就说明图按照正向边就不是连 ...

  9. Magic CSS3 – 创建各种神奇的交互动画效果

    Magic CSS3 Animations 动画是一个独特的 CSS3 动画特效包,你可以自由地使用您的 Web 项目中.只需简单的在页面上引入 CSS 样式: magic.css 或者压缩版本 ma ...

  10. javascript学习4

    JavaScript Date(日期)对象 日期对象用于处理日期和时间. JavaScript Date(日期)对象 实例 返回当日的日期和时间 如何使用 Date() 方法或者当日的日期. getT ...