zoukankan      html  css  js  c++  java
  • 初识WebService

    一、什么是Web服务

    Web服务是一种可以用来解决跨网络应用集成问题的开发模式,目的是保证不同平台的应用服务可以互操作

    二、Web服务的三个核心

    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绑定”:

      使用底层协议交换信息。

    WSDL:

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

    UDDI:

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

    三、JAX-WS

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


     四、Web服务在项目中的使用

     方案一:在地址栏输入URL,http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl


    方案二:通过Java代码实现

    打开cmd命令:------》cd到c盘根目录------》wsimport -s . http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl。并在C盘根目录下生成一系列java类。并运用到项目中,进行测试

     测试类:

    1
    2
    3
    4
    5
    6
    7
    8
    public class MyTest {
    public static void main(String[] args) {
        MobileCodeWS ws=new MobileCodeWS();
        MobileCodeWSSoap soap=ws.getMobileCodeWSSoap();
        String address=soap.getMobileCodeInfo("13225788""");
        System.out.println(address);
    }
    }

      


    方案三:使用JAX-WS发布服务

    ①定义服务器类以及方法[HelloService]

    使用@WebService注解,标识一个java类或一个接口作为一个服务

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    /*
     * @WebService注解,标识一个java类或一个接口作为一个服务,一旦被标注@WebService,他就不是一个普通的
     * 接口,他被称作服务端点接口(Service Endpoint Interface)
     */
    @WebService
    public class HelloService {
     
        public void say(String name) {
            System.out.println("hello" + name);
        }
     
        public static void main(String[] args) {
            Endpoint.publish("http://192.168.0.2:40000/hello"new HelloService());
            System.out.println("server is listening...");
        }
    }

     服务正在监听...

    在浏览器中测试:

    ② 同理 cmd命令解析该文档的类或方法[客户端]

    新建一个工程,运用这些类,进行测试

     

     MyTest测试类:

    1
    2
    3
    4
    5
    6
    7
    public class MyTest {
    public static void main(String[] args) {
        HelloServiceService service=new HelloServiceService();
        HelloService hs = service.getHelloServicePort();
        hs.say("逗比");
    }
    }

      

  • 相关阅读:
    java 添加一个线程、创建响应的用户界面 。 演示示例代码
    Cocos2d-x3.0游戏实例《不要救我》第十篇(结束)——使用Json配置数据类型的怪物
    VMWARE虚拟机无法访问的三种方法分析
    新近
    leetcode-2 Add Two Numbers 计算两个对应的列表和问题
    Android4.0 Design之UI设计缺陷1
    Html 5 坦克大战(韩顺平县版本号)
    采取Volley,实现瀑布流
    fzu 2150 Fire Game 【身手BFS】
    第45周一
  • 原文地址:https://www.cnblogs.com/hehheai/p/6506847.html
Copyright © 2011-2022 走看看