zoukankan      html  css  js  c++  java
  • WebService入门

       

    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

    服务端:

    客户端:

  • 相关阅读:
    XMLHTTP使用具体解释
    C++之EOF()
    具体解释VB中连接access数据库的几种方法
    Android中部署自己的su
    hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马】 【贪心】
    【C/C++多线程编程之九】pthread读写锁
    数据结构课程设计题目十二_计算机学院学生会的打印机(优先队列)
    百度开发人员面试题(优化)
    为Windows 7的winsxs目录瘦身,谨慎。
    sonix uvc驱动的加入 RT5350支持H264
  • 原文地址:https://www.cnblogs.com/hyjj/p/6037417.html
Copyright © 2011-2022 走看看