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类。并运用到项目中,进行测试

     测试类:

    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类或一个接口作为一个服务

    /*
     * @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测试类:

    public class MyTest {
    public static void main(String[] args) {
    	HelloServiceService service=new HelloServiceService();
    	HelloService hs = service.getHelloServicePort();
    	hs.say("逗比");
    }
    }
    

      

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 排队打水问题
    Java实现 蓝桥杯VIP 算法提高 排队打水问题
    Java实现 蓝桥杯VIP 算法提高 排队打水问题
    Java实现 蓝桥杯VIP 算法提高 特殊的质数肋骨
    Java实现 蓝桥杯VIP 算法提高 特殊的质数肋骨
    Java实现 蓝桥杯VIP 算法提高 特殊的质数肋骨
    Java实现 蓝桥杯VIP 算法提高 特殊的质数肋骨
    现在使用控件, 更喜欢继承(覆盖控件已有的函数,很奇怪的一种使用方式)
    Controls 属性与继承 TShape 类的小练习(使用TShape可以解决很多图形问题)
    QT创建窗口程序、消息循环和WinMain函数(为主线程建立了一个QEventLoop,并执行exec函数)
  • 原文地址:https://www.cnblogs.com/WJ-163/p/6187290.html
Copyright © 2011-2022 走看看