Web Service Soap WSDL (陈涛)

来源:互联网 发布:网络电视直播url地址 编辑:程序博客网 时间:2024/05/16 10:29
webservice的特点:
跨平台:跨语言、跨系统、实现分布式处理
webservice的数据传输介质: XML
webservice由两部分组成:
    1、soap (simple object access protocol)简单对象访问协议 主要处理webservice之间的基本通信协议
    2、wsdl 是webservice的描述语言,它定义了webservice做什么,怎样做查询的信息
在java中实现webservice,通常我们应用了axis,axis让webservice更加方便:
  在tomcat服务器下的部署分为以下步骤
    1、将axis文件考入到tomcat的webapps目录下.
    2、启动tomcat,在IE中输入 http://localhost:8080/axis进入axis的主页,单击Validate下载所需的jar包,jar包名如:activation.jar
、mail.jar、xmlsec.jar安全管理,它会放到axis目录下的lib目录中    
    3、创建一个pojo,当中包含了商业逻辑,将pojo考入到部署的axis目录下,将后缀名改为JWS.
    4、(在不用axis情况下)将这个pojo部署到一个soap的服务器上.
    5、生成client访问code.
    6、部署客户端应用.
   以下是一个示例.
    部署在axis目录pojo,文件名Hello.jws,它返回了一个String 
 public class Hello{
       
public static String sayHello(String userName){
      
return userName+":您好!";
  }

}

    
//client调用code如下:
public class Client{
      
public static void main(String[] args)throws Exception{
      
//实例化了一个service,得到了一个service
     Service service = new Service();
     
//通过service产生一个Call object,invoke web
     Call call = (Call)service.createCall();
    
//设定webservice的URL
    call.setTargetEndpointAddress(new URL("http://localhost:8080/axis/Hello.jws?WSDL"));
    
//设定了将要invoke webservice的方法
    call.setOperationName("sayHello");
    
//调用webservice的method,并得到了webservice的response data放到result当中
    String result = (String)call.invoke(new String[]{"陈涛"});
    
//在client print
    System.out.println(result);
    }

}

输出结果将是:陈涛您好!;
以上就是一个简单的webservice的实现,通过客户端直接调用了服务器端的方法,是不是很简单,下面介绍一下soap以及wsdl
soap(simple object access protocol)
  Soap是XML Web Service的通信协议,soap是一种规范,用来定义消息的XML格式,这是规范中所必需的部分,包含在一对soap无素中的,结构
正确的xml段就是soap消息

WSDL
  WSDL描述语言一般包含三部分:
   1、what部分包含了type、message和portType元素
      Type:定义了webservice使用的数据结构,一般使用xml Schema定义
      message:一个message是soap的基本通信元素,每个message可以有一个或多个Part,每个part一个参数
      PortType:消息汇总为不同的操作并归入到一个被称为portType的实体中,一个portType代表一个接口(webservice支持操作集合),每个
webservice可以有多个接口,它们使用portType来表示,第个操作又包含input和output部分
   2、How部分  包含binding元素
     binding元素将portType绑定到特定的通信协议上(如HTTP上的SOAP协议)
   3、where部分 由service元素组成
   它将portType,binding以及webservice实际的位置(URL)放在一起描述
三、客户端
  客户端分为瘦客户和肥客户,瘦客户包括web浏览器,該类客户通常经由轻量级协议与web service连接.肥客户包括applet、还有各类应用以
及现存系统,通常使用重量级协议连接web service
 
原创粉丝点击