webService简述一

好久没有给自己记录了,最近发现一些东西忘得特别快,所以就分享一些自己理解知识为以后自己查看

一 什么是webservice?

  web service 即web服务,它是一种跨编程语言和操作系统平台的远程调用技术

  1.采用标准SOAP(Simple Object Access Protocol )协议传输,SOAP属于w3c标准

  2.采用wsdl作为描述语言即webService使用说明书,WSDL属于w3c标准

  3.xml是webService 跨平台的基础,xml主要的有点在于它既于平台无关。由于厂商无关

   webservice解决了系统之间的相互调用问题

二 webService三要素

SOAP:(simple object access protocol)

          简单对象访问协议,是一种简单的基于xml的协议,他是应用程序通过HTTP来交换信息

          注意:SOAP不是webservice专有的协议,SMTP等应用也使用SOAP传输数据

WSDL:(webservice description language)

          wsdl是webservice的使用说明书,用来描述webservice对外发布的函数,参数和返回值

UDDI:(universal description discover and Integration)

         UDDI是一种目录服务,企业将自己提供的webservice注册在UDDI,也可以使用别的企业的UDDI注册的webservice服务从而达到资源共享

三 Apache CXF简介
    Apache CXF是一个开源的webservice框架
    支持多种协议(soap1.1,1.2    RESTFul    HTTP    WS-I  等)
    CXF大大的简化了webservice的创建,并且域spring进行无缝对接

  • 编程思路
  • 创建SEI
  • 发布服务
  • 查看WSDL文件
  • 根据WSDL生成client源码
  • client调用

四 简单的构建项目

  1.     构建webservice服务
    /**
     * WSServer.java
     *
     * This file was auto-generated from WSDL
     * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
     */
    
    package com.ful.ws;
    
    import javax.jws.WebService;
    
    @WebService
    public class WSServer {
        public String testws(){
        	System.out.println("------Service-------");
        	return "fuxl";
        }
        
        public String testws2(String name){
        	System.out.println("-------service:"+name+"-------");
        	return name;
        }
    }
    
  2. 发布webservice服务
    package com.ful.ws;
    
    import javax.xml.ws.Endpoint;
    
    /**
     * @author 付雪林
     * 发布wsdl协议
     */
    public class Testmain {
    	
    	public static void main(String[] args) {
    		//发布服务
    		Endpoint.publish("http://localhost:4700/server", new WSServer());
    	}
    }
    

  3. 获取WSDL文件 访问:http://localhost:4700/server?wsdl
  4. 开发webservice的调用者(Comsumer)生成客户端的调用者(stub): 在E盘 新建一个文件夹ws,在dos命令中进入ws文件夹下,执行wsimport  -s  .  WSDLUrl
  5. 此时ws文件夹下就生成了客户端调用的代码注意包结构也要统一
  6. 开发client:执行main方法就可以了
    package com.ful.ws;
    
    /**
     * @author 付雪林
     * 访问代理 tcp/ip Monity
     * service----port-----web服务
     */
    public class Client2 {
    
    	public static void main(String[] args) {
    		//创建服务service
    		WSServerService serverService = new WSServerService();
    		//获得post
    		WSServer port = serverService.getPort(WSServer.class);
    		//调用方法
    		String string = port.testws2("心烦意乱");
    		System.out.println(string);
    	}
    }
    

今天就暂且说到这里,过两天在发布实际开发经验和客户端的生成的几种方式,有不太好的地方希望大家理解谢谢



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值