[图片] 前言 有一段时间没有好好学习了,因为遇到一些糟心的事情,上班一直在划水摸鱼, 本来打算摸鱼摸到事情尘埃落定。但想到与其摸鱼,还不如多学习点东西,不断的成长提升自己。 webservice 简介 webservice: 一种跨语言和跨平台的远程调用技术,即 JAVA 应用程序可以通过 websrvice 调用 ..

webservice 接口开发学习笔记(一)

前言

有一段时间没有好好学习了,因为遇到一些糟心的事情,上班一直在划水摸鱼, 本来打算摸鱼摸到事情尘埃落定。但想到与其摸鱼,还不如多学习点东西,不断的成长提升自己。

webservice 简介

webservice: 一种跨语言和跨平台的远程调用技术,即 JAVA 应用程序可以通过 websrvice 调用 PHP 或者 Python 等程序提供的服务,反之亦然。
实现一个 webservice 需要了解它的几个重要点(SOAP,WSDL,UDDI)

SOAP

简单来说: SOAP = HTTP + XML 就是一个简单的数据交换协议
客户端通过发送一个 HTTP 请求,这个 HTTP 请求里面包含一个 XML,服务端接收到请求后解析这个 XML 然后来调用对应的服务和方法,返回对应的数据。

WSDL

简单来说:WSDL 就是告诉调用者应该怎么填写 SOAP 当中的 XML 文件里面的内容。服务端具体提供了什么服务,该怎么调用这个服务,该传递什么类型的参数。会返回什么类型的数据等等。

UDDI

简单来说:UDDI 是用于描述、发现、集成 Web Service 的技术。

webservice 相关框架

webservice 接口和 http 接口的区别

web service 相对 http (post/get)
1. 接口中实现的方法和要求参数一目了然
2. 不用担心大小写问题
3. 不用担心中文 urlencode 问题
4. 代码中不用多次声明认证 (账号, 密码) 参数
5. 传递参数可以为数组,对象等...
6. 由于要解析 XML,效率相对较慢。
7. 在对参数要求不严谨的情况下完全可以由 HTTP 请求代替。

一个简单的 webservice 服务

通过 JAVA 自带的 JWS 发布一个 webservice 服务。

客户端代码:

1 在类上加上注解:@webservice 表明这是一个 webservice 服务

@WebService
public class DemoWebServiceImpl {
    @Override
    @WebMethod
    public String getName(Integer code) {
        if(code==1){
            return "张三";
        }
        return "李四";
    }
}

2 通过 Endpoint 发布一个 webservice 服务。

   public static void main(String[] args) {
        //设置webservice地址
        String address = "http://192.168.15.234:9090/webservice";
        //发布webservice
        Endpoint.publish(address , new DemoWebServiceImpl());
        System.out.println("hello world");
    }

3 在浏览器当中输入地址:http://192.168.15.234:9090/webservice?wsdl 如果返回一个 xml 就表明发布成功了。
在返回的 xml 当中每个方法对应一个 XSD 地址。在浏览器当中输入对应的 xsd 地址就可以看到该方法需要的参数和返回的值类型。

服务端调用:

通过测试工具 SOAPUI 进行模拟调用。创建对应 soap,然后找到方法,设置参数,发送请求就可以了。
图片.png
图片.png

一个简单的 webservice 服务就搞定了。

  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    32 引用 • 17 回帖
回帖   
请输入回帖内容...