1.什么是web服务:

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

2.web服务的三个核心

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

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. RESTful WebService入门(转)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lavasoft.blog.51cto.com/62575/229206 REST ...

  2. RESTful WebService入门

    RESTful WebService入门   RESTful WebService是比基于SOAP消息的WebService简单的多的一种轻量级Web服务,RESTful WebService是没有状 ...

  3. WebService入门实例教程

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

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

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

  5. webservice入门简介

    为了梦想,努力奋斗! 追求卓越,成功就会在不经意间追上你 webservice入门简介 1.什么是webservice? webservice是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓的远 ...

  6. RESTful WebService入门【转】

    ESTful WebService是比基于SOAP消息的WebService简单的多的一种轻量级Web服务,RESTful WebService是没有状态的,发布和调用都非常的轻松容易.   下面写一 ...

  7. WebService 入门

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

  8. WebService入门案例

    关于WebService的作用和好处,大家应该都了解.但如何在Asp.Net中添加Web Service等问题一直是新手朋友的一大难题.鉴于网上没有一个像样的实际案例,特将课程设计中运用到的WebSe ...

  9. Apache CXF Webservice入门

    1.步骤一览 关于CXF的介绍请移步官网.百科,这里仅供初次使用者入门. 2.步骤详情 2.1.环境准备 apache-cxf-3.0.0.zip下载 jdk1.7.0_51 Eclipse4.3.0 ...

  10. .NET WebService 入门

    以 前写博客最主要的就是不知道写什么东西,现在感觉能写点东西,就是感觉博客随笔的标题挺难取的,最近工作中刚好用到了WebService,刚好可以写一 篇博客.去年工作的时候自己也用到过,只是知道调用一 ...

随机推荐

  1. webform控件

    简单控件: 1.Label 会被编译成span标签 属性: Text:文本内容 CssClass:CSS样式 <asp:Label ID=" CssClass="aaa&qu ...

  2. cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'mvc:annotation-driven'.

    spring 配置文件报错报错信息:cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be ...

  3. Linux下的C Socket编程 -- 获取对方IP地址

    Linux下的C Socket编程(二) 获取域名对应的IP地址 经过上面的讨论,如果我们想要连接到远程的服务器,我们需要知道对方的IP地址,系统函数gethostbyname便能够实现这个目的.它能 ...

  4. Stream流

    在Node中,存在各式各样不同的数据流,Stream(流)是一个由不同对象实现的抽象接口.例如请求HTTP服务器的request是一个 流,类似于stdout(标准输出):包括文件系统.HTTP 请求 ...

  5. 主席树——求静态区间第k大

    例题:poj2104 http://poj.org/problem?id=2104 讲解:http://blog.sina.com.cn/s/blog_6022c4720102w03t.html ht ...

  6. 21-Python-Django进阶补充篇

    1. 路由部分补充 1.1 默认值 url: url(r'^index/', views.index, {'name': 'root'}), views: def index(request,name ...

  7. [LeetCode] Clone Graph 无向图的复制

    Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. OJ's ...

  8. Linux 中 SVN 重启关闭

    a.启动SVN svnserve -d -r /A/B/svn/ 其中 -d 表示守护进程, -r 表示在后台执行 /A/B/svn/ 为svn的安装目录 b.关闭SVN 这里采取linux杀死进程的 ...

  9. Html-IOS下input的样式添加不上的解决方案

    问题描述: <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml&qu ...

  10. RTMP流媒体播放过程

      RTMP协议规定:第一步,建立一个网络连接(NetConnection):客户端和服务端的基础连通关系 第二步:建立一个网络流(NetStream)发送多媒体的通道(只能建立一个网络连接,可以建立 ...