• http WebService <一>


             一直在接触WebService 推送这块,今天记下来,以便后续查看

    1,什么是WebService?

      1),简单理解基于web的远程调用,主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。

      2),Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

    2,WebService优点以及什么情况下使用

         1),Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。

          注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,

        这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。
        
             wsdl跟java一样,也是一种语言,是通过xml的形式说明该webservice如何调用。
     
      2),只要有调用的接口声明(WSDL),就可在程序中实现调用. 在异构系统间尤其有优势
     
      3),只要数据交换就可考虑. 比如说需要和其他第三方做接口,分享数据,异构系统远程调用等. 不过一次性大数据交换使用web service的效率不太高.
     
    3,使用WebService范例<基于 SOAP >
      1,创建WebService服务端
        先编写一个 Web Service 的接口:
    import javax.jws.WebService;  
    import javax.jws.WebMethod;  
    import javax.jws.soap.SOAPBinding;  
    import javax.jws.soap.SOAPBinding.Style;  
    @WebService  
    @SOAPBinding(style=Style.RPC)  
    public interface TimeServer {  
        @WebMethod  
        String getTimeAsString();  
        @WebMethod  
        long getTimeAsElapsed();  
    }  

        再编写 Web Service 实现:

    import java.text.DateFormat;  
    import java.util.Date;  
    import javax.jws.WebService;  
    import javax.xml.ws.Endpoint;
    
    @WebService(endpointInterface = "myweb.service.TimeServer")  
    public class TimeServerImpl implements TimeServer {  
        /** 
         * 返回从1970年1月1日0点0时0分起的毫秒数 
         */  
        public long getTimeAsElapsed() {  
            return new Date().getTime();  
        }  
        /** 
         * 返回如“2009-12-21”格式的日期 
         */  
        public String getTimeAsString() {  
            Date date = new Date();  
            DateFormat df = DateFormat.getDateInstance();  
            return df.format(date);  
        }  
        public static void main(String[] args){  
            // 第一个参数是发布的URL  
            // 第二个参数是SIB(Service Implementation Bean)实现  
            Endpoint.publish("http://localhost:8083/myweb11", new TimeServerImpl()); //192.168.1.225
            System.out.println("---");
        }  
    }  

      最后启动 Web Service:

    import javax.xml.ws.Endpoint;  
    public class TimeServerPublisher {  
        public static void main(String[] args){  
            // 第一个参数是发布的URL  
            // 第二个参数是SIB(Service Implementation Bean)实现  
            Endpoint.publish("http://127.0.0.1:8080/mywebsss", new TimeServerImpl()); 
            System.out.println("---");
        }  
    }  

      网址打开

     2,WebService客户端

      使用wsimport -s E:workspaceWebsrc -p ht_service_test -keep http://127.0.0.1:8080/mywebsss?wsdl  生成客户端代码, 接下来直接调用服务端接口即可

          -s 生成所在路径

          -p 包名

          -keep   wsdl地址  <也可将wsdl保存到本地>

         
       ---参考了很多博客,https://www.cnblogs.com/mount/archive/2011/11/21/2256779.html
            blog.csdn.net/qq32933432/article/details/51394749
     
     
                              
                                                              记录点点滴滴,虽然微不足道。

     

     
     
  • 相关阅读:
    vue form dynamic validator All In one
    TypeScript api response interface All In One
    closable VS closeable All In One
    macOS 如何开启 WiFi 热点 All In One
    vue css inline style All In One
    vs2010里面 新建网站里面的 asp.net网站 和 新建项目里面的 asp.net Web应用程序 的区别 (下)
    牛腩新闻 59 整合添加新闻页 FreeTextBox 富文本编辑器,检测到有潜在危险的 Request.Form 值,DropDownList 的使用
    牛腩新闻 61尾声: error.aspx的使用 防止报错
    vs2010里面 新建网站里面的 asp.net网站 和 新建项目里面的 asp.net Web应用程序 的区别 (上)
    牛腩新闻 62:尾声续2 asp.net的编译和发布
  • 原文地址:https://www.cnblogs.com/chenjle/p/8309810.html
Copyright © 2020-2023  润新知