1.什么是web服务:

web服务是一种可以用来解决跨网络应用集成问题的开发模式,这种模式为实现“软件即服务”提供了技术保障。

2.web服务的三个核心  (SOAP,WSDL,UDDI)

2.1  SOAP(简单对象访问协议)

SOAP(Simple Object Access Protocol,简单对象访问协议)是一个基于xml的协议,用于在分步的应用程序都可以识别。另外,SOAP本身没有定义任何程序语言,这使得SOAP能够以消息的形式传递到各种远程系统中。

SOAP所使用的传输协议,可以是HTTP,SMTP,POP3,JMS。

SOAP包括了4部分:

01.“SOAP封装(Envelope)”:

定义一个描述信息描述的内容是什么,是谁发送的,谁应当处理他,以及如何处理他们的框架。

02.“SOAP编码规则”:

用于表示应用程序需要使用的数据类型的实例。

03.“SOAP RPC":

表示远程过程中调用和应答的协定。

04.“SOPA绑定”:

使用底层协议交换信息。

2.2   WSDL(web服务描述语言)

WSDL(Web Service Description Language,web服务描述语言)是一个XML文档,他以一种和具体语言无关的抽象方式定义了给定web服务收发者的有关操作和消息。

2.3   UDDI(统一描述发现和集成协议)

UDDI(Universal Description Discovery and Integration,统一描述发现和集成协议)是一个规范,定义了与web服务相关的信息的发布,发现和管理。

3.JAX-WS

JSX—WS(Java API for XML Web Service)。他是用来简化使用java构造web服务和web服务客户端的工作的技术。

3.1使用JAX-WS发布服务

案例:HelloWord:

01.定义服务类以及方法

package cn.service2;

import javax.jws.WebService;

import javax.xml.ws.Endpoint;

import cn.clien.test.HellowordClicenTest;

/**

*@javax.jws.WebService注解,标识一个java类或一个接口作为一个服务,一旦被标注@WebService,他就不是一个普通的

*接口,他被称作服务端点接口(Service Endpoint Interface)

 */

@WebService

public class HelloWord {

/**

 * 打招呼的方法

 * @param name

 * @return

 */

  public String say(String name){

  System.out.println("欢迎"+name);

  return  "你好:"+name;

  }

public static void main(String[] args) {

   String address="http://localhost:50000/HelloWord";

   //发布服务

   Endpoint.publish(address, new HelloWord());

   System.out.println("启动服务成功.....");

  }

}

02.启动测试

03.在浏览器中测试

到了这一步证明发布成功了可以进行客户端的测试了。

3.1使用JAX-WS调用服务

01.打开cmd命令:

------》cd\到c盘根目录------》wsimport -s . http://localhost:50000/HelloWord?wsdl

02.会在c盘根目录下生成文件夹里面有有java类和编译好的字节码文件

03.把java类复制到工程中,并且创建测试类

package cn.clien.test;

import javax.xml.ws.Endpoint;

import cn.service1.HelloWord;

import cn.service1.HelloWordService;

public class HellowordClicenTest {

   public static void main(String[] args) {

   HelloWordService hws=new HelloWordService();

   HelloWord hw= hws.getHelloWordPort();

   System.out.println(hw.say("嘿嘿"));

   }

}

04.运行效果图:

服务端:

客户端:

3.3使用web Service Explorer来调用服务

在MyEclipse中找到如图所示的图标

打开会出现如图所示的界面,它默认选择的是UDDI,在这里我们选择WSDL

当点击go

服务端:

客户端:

大白的webservice的更多相关文章

  1. webService

    什么是webService WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用.  1:从WebService的工作模式上 ...

  2. 开始webservice了

    一.WebService到底是什么 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用 ...

  3. Spring WebService入门

    Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布 ...

  4. 浅谈跨域以及WebService对跨域的支持

    跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问.也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源. 在 ...

  5. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

  6. Atitit webservice发现机制 WS-Discovery标准的规范attilax总结

    Atitit webservice发现机制 WS-Discovery标准的规范attilax总结 1.1. WS-Discovery标准1 1.2. 一.WS-Discovery1 1.2.1.   ...

  7. java调用CXF WebService接口的两种方式

    通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了. 2.静态调用 // 创建WebService客户端代理工厂 ...

  8. VS2010编写WebService与在IIS的发布<之简单讲解>

    工具VS2010,window环境win7 一:Webservice的创建与方法查看调用 1.新建空web应用程序项目 2.新建web服务 3.自动生成 4.直接跑起来,可以看到有2个方法 5.点击H ...

  9. webService学习之路(三):springMVC集成CXF后调用已知的wsdl接口

    webService学习之路一:讲解了通过传统方式怎么发布及调用webservice webService学习之路二:讲解了SpringMVC和CXF的集成及快速发布webservice 本篇文章将讲 ...

随机推荐

  1. java 操作Excel表 创建 查看 修改

    需要用到jxl.jar包  修改有两种方法一种是jxl的  另一种需要apache.poi包 package excelChuLi; import java.io.File; import java. ...

  2. js暂停的函数

    // numberMillis 毫秒 function sleep(numberMillis) { var now = new Date(); var exitTime = now.getTime() ...

  3. CentOS6.6安装virtualbox4.1.44

    本人用的是centos6.6,安装了virtualbox 4.1.44,启动后一直如上图报错,哪位前辈如果解决过这样的问题,麻烦指点指点,小弟在此先谢过了.

  4. ios - runtime运行时应用---交换方法

    runtime运行时用法之一 --- 交换类的方法,此处简单写了把系统的UIView的setBackgroundColor的方法换成了自定义的pb_setBackgroundColor 首先创建UIV ...

  5. ios移动端部分手机不支持background-attachment: fixed 的解决办法

    ios系统和某些移动端background-attachment:fixed不兼容性,没有任何效果,但可以hack一下就可以了,代码如下: ps:想在哪个标签加背景,可以在它class后:before ...

  6. Macaca开源--阿里的移动自动化测试框架

    https://github.com/macacajs/macaca-cli 项目在此 https://macacajs.github.io/macaca/cli-usage.html 文档在此 项目 ...

  7. MultiWiiWinGUI 汉化版

    已经基本汉化完毕 下载

  8. Ajax跨域的几种方法以及每种方法的原理

    js中几种实用的跨域方法原理详解 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协 ...

  9. sql要点

    oracle 并操作 union  自动去除重复    如果想保留重复,需要使用union all 交操作intersect  自动去除重复    如果想保留重复,需要使用intersect all ...

  10. 用于 Linux 平台的 Java

    切换到所需的安装目录.键入:cd directory_path_name例如,要将软件安装到 /usr/java/ 目录中,请键入:cd /usr/java/ 将 .tar.gz 档案二进制文件移到当 ...