Java WebService复习之WSDL

Java调用WebService的几种方式 <dependencies> <!--spring web Service的包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> &l.. 阅读详情

有段时间不写博客,一直在忙碌最近项目中用到了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的核心).............

PHP的WebService的WSDL的XML无法显示问题的解决方法 在PHP中,WebService是一种常用的通信协议,它使用WSDL(Web Services Description Language)来描述和定义Web服务的功能和接口。在本文中,我将介绍一些可能导致这个问题的原因,并提供相应的解决方法。使用合适的库和函数:在PHP中,可以使用SOAP扩展来处理WebService和WSDL文件。通过上述方法,您应该能够解决PHP中WebService的WSDL的XML无法显示的问题。检查WSDL文件路径:确保提供的文件路径是正确的,并且文件存在于指定的位置。 阅读详情

相关推荐

AI Pika 生成进击的巨人动漫分镜案例

AI Pika 生成进击的巨人动漫分镜案例 Pika 是一个使用AI生成和编辑视频的平台。

独立开发,substack顶级编辑 2573

WebService的WSDL详解以及远程访问WebService

WebService的WSDL详解以及远程访问WebService

weixin_47760573的博客 8170

基于FastLIO2与TEB算法的机器狗自主导航系统实战

本文详细介绍了如何为机器狗构建一套基于FastLIO2与TEB算法的自主导航系统。通过整合FastLIO2激光惯性里程计实现精准定位,并采用TEB局部规划器进行灵活路径规划与动态避障,解决了传统方案在复杂地形下反应慢、易碰撞的问题。文章提供了从环境搭建、算法部署、地图转换到系统调试的完整实战指南,帮助开发者实现机器狗的稳健自主行走。

beer8的博客 320

WebService 根据 wsdl 文件生成 Java 代理类方式汇总

目录 wsimport 简介 wsimport 使用示例 服务端 客户端 调用测试 wsimport 简介 1、Java JDK 的 bin文件夹下有一个 wsimport.exe 工具,可依据 wsdl 文件生成相应的类文件,将生成好的类文件拷贝到需要使用的项目中,就可以像调用本地的类一样调用 webService 提供的方法。 2、wsimport.exe 工具可以用于非 Ja...

蚩尤后裔-汪茂雄 1万+

Rockit VDEC解码实战:从零构建高效视频处理流水线

本文详细介绍了Rockit VDEC硬件解码模块在RK3568/RK3588平台的应用实践,涵盖开发环境配置、MPI接口使用、码流发送模式选择、内存管理优化及多路解码系统构建。通过实战案例展示如何利用VDEC实现高效视频处理流水线,显著降低CPU占用率,提升嵌入式多媒体开发效率。

ol789012的博客 304

QT编程系列1--QT学习前需知

本周学习了一些QT编程方面的知识,学写了几个程序,这里把记录下来。一方面对前面学习的知识做一个总结,便于以后复习、再学习和应用;另一方面也和大家做个交流,有不足的地方请各位看官多指点。   首先是做一些学习之前的交代:一,学习QT需要哪些基础;二,学习QT有哪些用途,QT较其他的开发工具有哪些特点;三,学习QT的思路。

霜月孤鸟&RTEMS&TinyOS 1115

WebService介绍及使用(Java)

本文章主要是本人对于别人的博客的总结,源码和原文链接会在文末列出。

qq_61863348的博客 6781

海康工业相机排雷笔记02-像素格式解析

工业相机使用过程记录 02-像素格式解析 通过将相机输出图像裸数据raw格式直接存图查看 一、黑白/Mono 直接使用相机测试图像存图: 图像中各部分灰度分别为:0、36、73、109、146、182、219、255,以灰度73列为例 (1)Mono 8 该列图像数据为十六进制49,十进制为73,那么Mono 8就是每个像素点占8bit,依次排列。 (2)Mono 10 该列图像数据为十六进制2401,由于相机均为小端数据,实际数据应解析为0124,十进制为292=73*4,那么Mono 10格式为每

yonghuming_66的博客 8357

Java调用wsdl的webservice接口

Java调用wsdl的webservice接口

m0_49790240的博客 2万+

【通信协议】GATT 与 BLE HID 工作原理详解

详细介绍BLE HID 跟GATT工作原理与两者的交互关系

以实战经验介绍行业知识 843

java框架复习——webservice

目录概述相关概念XMLWSDLSOAPwebservice服务网址HTTP和SOAP的区别WSDL解析消息体通过jdk生成和调用webservice客户端代码生成webservice客户端代码及调用步骤jdk发布webservice服务webservice相关的API发布示例其他调用webservice的方式使用ajax调用通过URLConnection调用复杂消息请求监听器wsdl文档元素名称修...

ww0peo的博客 1003

【华为OD机试真题E卷】514、学生方阵 | 机试真题+思路参考+代码分析(E卷复用)(C++、Java、Py)

【华为OD机试真题E卷】514、学生方阵 | 机试真题+思路参考+代码分析(E卷复用)(C++、Java、Py) 题目描述 学校组织活动,将学生排成一个矩形方阵 请在矩形方阵中找到最大的位置相连的男生数量 这个相连位置在一个直线上,方向可以是水平的,垂直的,成对角线的或者呈反对角线的 注:学生个数不会超过10000

KJ.JK 2492

简单实用java调用WSDL接口,并解析返回数据格式

最近因为一些数据问题,需要跟第三方对接数据,OK!要联系方式,联系上了,然后人家就给我一个文档,说所有东西上面都有.....,没办法只能自己慢慢琢磨了! 然后发现他们是WSDL的方式调用的,百度了一下,WSDL是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言,以前只是知道有这么各东西,但是从来没用过,只能研究一下怎么搞了!以下只是我个人研究得一...

qq_38400856的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Webservice

★. WebService,顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用. 我们可以调用互联网上查询天气信息Web服务,然后将它嵌入到我们的程序(C/S或B/S程序)当中来,当用户从我们的网点看到天气信息时,他会认为我们为他提供了很多的信息服务,但其实我们什么也没有做,只是简单调用了一下服务器上的一段代码而已。 学习WebService可以将你的服务(一段代码)发布到互联网上让别人去调用,也可以调用别人机器上发布的WebService,就像使

woaini886353的博客 5872

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【Java】WebService笔记

目录 β.需求 -1.使用Socket(传输层) *Socket原理 *Socket的通信特点 *再来复习一下OSI的七层模型: 0.使用Http协议访问(应用层) *特点 1.WebService技术和规则 *前面两种访问第三方项目的方法都存在问题: *WebService技术和规则 2.访问WebService的方式 * 一般访问方式  HttpClient *推荐访...

The Beginning 394

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Android 访问 WSDL 接口复习

Android 访问 WSDL 接口复习 什么是 webserviece 可以到 http://www.w3school.com.cn/webservices/ 去了解一下 重要的内容如下: Web Services 可以将应用程序转换为网络应用程序。 通过使用 Web Services,您的应用程序可以向全世界发布信息,或提供某项功能。 Web Services 可以被其他应用

qq_30519365的博客 2973

WebService学习总结

因为最近开发的项目需求中涉及到了webservice,正好对这块知识以前学过但是又忘记了,于是想着从新学习下,整理一个笔记,便于后面的复习。于是有了本文,下面开始介绍webservice。 一、简介 大家或多或少都听过 WebService(Web服务),有一段时间甚至很多计算机期刊、书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分。但是不得不承认的是WebS...

lbx 610

webservice复习-helloworld

什么是webservice基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求,从而实现远程调用。为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型(Xml Schema   Definition)。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如 SOAP。 目前标准的WebServic...

Turn myself into a beast. 270

【WebService】——阶段小结

WebService的跨平台跨语言的优势十分明显,在遇到项目之间调用、新旧系统交互等业务时,都发挥了独特的优势。自己动手写几个wsdl文件,就会发现其实并不复杂,而且比敲代码来的爽快,因为我们不需要考虑是java,还是C#。最初理解其原理的时候,可以使用jdk做做demo,但之后还是建议直接用cxf等框架来学习,项目中自然更是如此了。

技术交流 702

孔浩java爱酷网_孔浩老师JAVA WebService教程

01webservice快速实例02_wsimport的使用03_wsdl和soap讲解(介入了tcpmon工具)04_SOA的分析(纯属扯淡)05_dtd讲解06_schema的命名空间07_schema的元素和属性的定义08_schema的语法和建议的编写方式09使用jaxb完成对象和xml的转换10Stax的基本操作(基于光标,基于迭代模型和过滤器)11_Stax的基本操作(基于xpath的...

weixin_29216957的博客 429

孔浩java web_孔浩老师JAVA WebService教程

01webservice快速实例02_wsimport的使用03_wsdl和soap讲解(介入了tcpmon工具)04_SOA的分析(纯属扯淡)05_dtd讲解06_schema的命名空间07_schema的元素和属性的定义08_schema的语法和建议的编写方式09使用jaxb完成对象和xml的转换10Stax的基本操作(基于光标,基于迭代模型和过滤器)11_Stax的基本操作(基于xpath的...

weixin_36356958的博客 215

WebService学习小结

基于web的服务,服务器整理资源供多个客户端应用访问,是一种多个跨平台跨语言的应用间通信整合的方案 使用场景:天气预报、股票、地图,火车票 schema约束复习 <!-- book.xsd,定义schema约束 --> <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/200...

weixin_34393428的博客 191

webservice笔记

xsd ---->定义了schema标签的namespace wsdl ---->定义了wsdl标签的namespace 课程安排: web service 2 ibatis (mybatis) 1 复习2个相关的重要知识 a schema约束 1. namespace

sqsfjsjlpf的博客 570

idea中调用WebService接口方法

原创 idea中调用WebService接口方法 ...

weixin_44079558的博客 1849
上一篇: Struts 1.X工作原理
下一篇: Linux 指令笔记
IT回忆录
博客等级 码龄16年 42粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值