博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(二)发布第一个WebService服务与DSWL文档解析
阅读量:6240 次
发布时间:2019-06-22

本文共 3587 字,大约阅读时间需要 11 分钟。

  1. 编写接口

package service;import javax.jws.WebService;/** * 第一个webservice服务, * @WebService注解表示这是一个webservice服务 * @author Administrator * */@WebServicepublic interface WebService_1 {    public int add(int x,int y);}

  2.  编写实现类

package serviceImpl;import javax.jws.WebService;import javax.swing.plaf.synth.SynthSeparatorUI;import service.WebService_1;/** * web服务的实现类,endpointInterface指的是对外提供服务的接口 * @author Administrator * */@WebService(endpointInterface = "service.WebService_1")public class WebService_1_impl implements WebService_1 {    @Override    public int add(int x, int y) {        System.out.println("返回两数相加结果");        return x + y;    }}

 

  3.  发布

package test;import javax.xml.ws.Endpoint;import serviceImpl.WebService_1_impl;public class Test {    public static void main(String[] args) {
    //publish方法第一个参数是发布后访问的请求地址,第二个参数是服务的实现 Endpoint.publish("http://localhost:3031/first", new WebService_1_impl()); System.out.println("发布成功......"); }}

  4.  结果并解析

 

 

 

 

  5.  wsdl文档解析

  WSDL(Web Services Description Language,Web服务描述语言)是为描述Web Services发布的XML格式。W3C组织没有批准1.1版的WSDL,但是2.0版本已经在製訂中,2.0版将被作为推荐标准(recommendation)(一种官方标准),并将被W3C组织批准为正式标准。WSDL描述Web服务的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述;也就是描述与目录中列出的Web服务进行交互时需要绑定的协议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。

      WSDL 文档仅仅是一个简单的 XML 文档。它包含一系列描述某个 web service 的定义。

      WebMthod的定义:

1:  [WebService(Namespace = "http://tempuri.org/")] 2:  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 3:  [System.ComponentModel.ToolboxItem(false)] 4:  public class WebService2 : System.Web.Services.WebService 5:  { 6:      [WebMethod] 7:      public bool Add(TestClass testClass,int id) 8:      { 9:          return true;10:      }11:  }12:   13:  public class TestClass14:  {15:      public int a;16:      public string b;17:      public DateTime c;18:  }19:

 

       WSDL的结构:

       一个WSDL文档通常包含有以下元素,即types、message、portType、operation、binding、 service元素。这些元素嵌套在definitions元素中。

      definitions是WSDL文档的根元素,definitions还声明各命名空间。

      types,数据类型定义的容器,它使用某种类型系统(一般地使用XML Schema中的类型系统)。

1:    
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:

 

     types描述WebMethod的名称(Add),传入参数(testClass——包括对TestClass的详细描述,id),响应信息(AddResponse)。

     message描述通信消息的数据结构的抽象类型化定义,使用types的描述的类型来定义整个消息的数据结构。

1:    
2:
3:
4:
5:
6:

 

      portTypeoperation描述服务和服务的方法。operation包括输入和输出(使用message的描述)。

1:    
2:
3:
4:
5:
6:

 

       binding描述Web Services的通信协议。 <soap:binding/>描述使用SOAP协议,binding还描述Web Services的方法、输入、输出。

1:    
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:

 

       service描述Web Services访问点的集合。因为包括SOAP1.1和SOAP1.2的描述,所以一个方法有对应两描述。

 

转载于:https://www.cnblogs.com/shyroke/p/7646415.html

你可能感兴趣的文章
SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页
查看>>
怎样实现智能异地组网
查看>>
如何学好面向对象?类写法的困惑
查看>>
JSTL标签库
查看>>
JavaWeb经典三层框架
查看>>
ZFS 阶段小结
查看>>
[Curator] Node Cache 的使用与分析
查看>>
Cisco EIGRP 小综合实验
查看>>
review what i studied `date` - 2017-3-31
查看>>
Eclipse -Maven环境集成
查看>>
设计模式之UML关系符号解释
查看>>
使用Windows 7 USB/DVD Download Tool制作WIN7系统安装盘
查看>>
全球五大顶级域名一周统计 .BIZ环比增长123.3%
查看>>
中国五大顶级域名7月第二周增4.1万 美国减3.1万
查看>>
我的友情链接
查看>>
分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(3月12日-3月18日)
查看>>
再次升级!阿里云Kubernetes日志解决方案
查看>>
聊聊Dubbo - Dubbo可扩展机制实战
查看>>
mysql如何分表mysql分表的3种方法比较优点缺点
查看>>
linux平台上的扫描技术Nmap
查看>>