Java WebService复习之WSDL
来源:互联网 发布:如何自慰最舒服知乎 编辑:程序博客网 时间:2024/06/15 03:57
有段时间不写博客,一直在忙碌最近项目中用到了WebService,所以把它写下来,一来复习复习二来与大家共同学习交流。
什么是WebService?
WebService是各个不同的、相互独立的系统进行通信的一种技术标准。
有什么用?
可以实现多终端系统交互,如 手机、PDA、等(Android等大量的使用了WebService)
在学习如何构建一个WebService前,必需要先了解几个技术点:XML 、Http协议 、SOAP协议、WSDL
XML :一种数据描述语言
Http协议:定义了浏览器与Web服务器的通信规则
SOAP:建立在Http协议上的WebService通信协议
WSDL:描述WebService接口(就相当于是说明书它是XML格式的)
我建立一个WebService 这个WebService包含两个方法
SayHi(String yourName)
GetData()
地址:http://127.0.0.1:8888/jsweb 通过在地址后加入?wsdl 获取这个webservice的说明文档http://127.0.0.1:8888/jsweb?wsdl
这个文档内容如下:
<?xml version="1.0" encoding="UTF-8"?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. --><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. --><definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://xgn.webservice" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://xgn.webservice" name="JavaWebService"><types><xsd:schema><xsd:import namespace="http://xgn.webservice" schemaLocation="http://127.0.0.1:8888/jsweb?xsd=1"></xsd:import></xsd:schema></types><message name="SayHi"><part name="parameters" element="tns:SayHi"></part></message><message name="SayHiResponse"><part name="parameters" element="tns:SayHiResponse"></part></message><message name="GetData"><part name="parameters" element="tns:GetData"></part></message><message name="GetDataResponse"><part name="parameters" element="tns:GetDataResponse"></part></message><portType name="javaws"><operation name="SayHi"><input message="tns:SayHi"></input><output message="tns:SayHiResponse"></output></operation><operation name="GetData"><input message="tns:GetData"></input><output message="tns:GetDataResponse"></output></operation></portType><binding name="myportNameBinding" type="tns:javaws"><soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"></soap:binding><operation name="SayHi"><soap:operation soapAction=""></soap:operation><input><soap:body use="literal"></soap:body></input><output><soap:body use="literal"></soap:body></output></operation><operation name="GetData"><soap:operation soapAction=""></soap:operation><input><soap:body use="literal"></soap:body></input><output><soap:body use="literal"></soap:body></output></operation></binding><service name="JavaWebService"><port name="myportName" binding="tns:myportNameBinding"><soap:address location="http://127.0.0.1:8888/jsweb"></soap:address></port></service></definitions>
wsdl文档主要包含这几个元素:
types:包含这个WebService所使用的所有数据类型定义
message:包含有哪些方法
part:方法的签名
portType:包含哪些操作的容器
binding:这些操作具体的规范、接口
service:包含服务名称和地址等
下面来解读这份WSDL文档
<portType name="javaws"><operation name="SayHi"><input message="tns:SayHi"></input><output message="tns:SayHiResponse"></output></operation><operation name="GetData"><input message="tns:GetData"></input><output message="tns:GetDataResponse"></output></operation></portType>
它包含SayHi和GetData方法 ProtType 名称是javaws
<binding name="myportNameBinding" type="tns:javaws">
方法容器javaws绑定到 myportNameBinding上
<service name="JavaWebService"><port name="myportName" binding="tns:myportNameBinding"><soap:address location="http://127.0.0.1:8888/jsweb"></soap:address></port></service>
服务名称是: JavaWebService
服务地址:http://127.0.0.1:8888/jsweb
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 可以多动手解读网络上的其它webservice文档以加强理解
这就是WSDL文档的基本内容,在动手构建和使用WebService前还需要了解SOAP协议(它是WebService的核心).............
- Java WebService复习之WSDL
- WebService之WSDL
- webservice之wsdl
- WebService之WSDL
- webservice之wsdl详解
- WebService之WSDL
- webservice之wsdl
- WebService之WSDL
- webservice之WSDL解析
- webservice之wsdl详解
- WebService之WSDL
- webservice WSDL java例子
- WebService之WSDL和SOAP实例(基于JAVA)
- WebService之WSDL和SOAP实例(基于JAVA)
- WebService之WSDL和SOAP实例(基于JAVA)
- WebService之WSDL和SOAP实例(基于JAVA)
- WebService 之 WSDL文件 讲解
- WebService 之 WSDL文件 讲解
- 排序算法--冒泡排序
- android耳机状态的检测
- hadoop2.2环境搭建
- 备忘录
- SNMP--Windows API--SnmpExtensionTrap
- Java WebService复习之WSDL
- activeMQ 自动重连机制
- 软件工程之系统建模篇【设计用例模型】
- C++标准库简介
- 一辈子的孤单
- Java中JNI的使用详解第二篇:JNIEnv类型和jobject类型的解释
- 自定义proressbar
- Linux ubuntu下svn的命令使用指南
- dede调用子栏目方法