当前位置: 首页 > news >正文

WebService技术--随笔1

1.WebService 发展史

  1. 创建阶段(1990 年代末至 2000 年代初):在这个阶段,XML-RPC 和 SOAP 协议被引入,为跨平台和跨语言的应用程序集成提供了基础。XML-RPC 提供了一种基于 XML 的远程过程调用机制,而 SOAP 则提供了一种基于 XML 的消息传输协议。
  2. 标准化阶段(2000 年至 2003 年):在这个阶段,SOAP 和 WSDL 开始得到广泛的关注和应用。SOAP 被标准化为 W3C(World Wide Web Consortium)的推荐标准,并且 WSDL 成为描述 Web 服务接口的通用格式。此外,UDDI 协议也在这个阶段得到了发展和完善,为 Web 服务的注册和发现提供了支持。
  3. 发展和应用阶段(2003 年至今):在这个阶段,WebService 技术逐渐成为企业级应用程序集成的主流方案。SOAP 和 WSDL 继续被广泛使用,许多开发工具和框架提供了对 WebService 的支持和集成。此外,RESTful 架构风格也逐渐崭露头角,通过简单的 URL 和 HTTP 动词来实现资源的访问和操作,成为 Web 服务开发的另一种选择。
  4. 后续完善阶段(至今):随着技术的不断演进和应用的扩大,WebService 技术在安全性、性能优化、可扩展性等方面进行了不断的完善。例如,引入了 WS-Security 标准来确保 Web 服务的安全性,引入了 WS-ReliableMessaging 标准来保证消息传输的可靠性。同时,各种开源框架和工具也涌现出来,简化了 Web 服务的创建和开发过程。
     

2.WebService 技术栈创新 

  1. XML-RPC(1998年):XML-RPC 是一种基于 XML 的远程过程调用协议,它允许应用程序在不同平台和语言之间进行通信。XML-RPC 使用 HTTP 协议作为传输机制,并使用 XML 格式来编码和解码数据。

  2. SOAP(1999年):SOAP(Simple Object Access Protocol)是由 Microsoft、IBM 和其他公司联合提出的一种基于 XML 的消息传输协议。SOAP 定义了一种标准的消息格式,使得不同平台和语言之间的应用程序能够进行交互。SOAP 消息被封装在 HTTP 或其他协议中进行传输

  3. WSDL(2001年):WSDL(Web Services Description Language)是一种用于描述 Web 服务接口的 XML 格式。它定义了 Web 服务的地址、方法、参数和返回值等细节,使得客户端能够了解和调用该服务。

  4. UDDI(2000年):UDDI(Universal Description, Discovery, and Integration)是一种用于注册和发现 Web 服务的协议。它提供了一个公共的目录,使得开发者能够查找和使用其他组织提供的 Web 服务。

  5. RESTful Web Services(2000年代):REST(Representational State Transfer)是一种基于 HTTP 协议的架构风格,用于构建分布式系统。RESTful Web Services 使用简单的 URL 和 HTTP 动词(如 GET、POST、PUT、DELETE)来实现资源的访问和操作,而无需使用复杂的协议和中间件。

  6. JSON-RPC(2004年):JSON-RPC 是一种基于 JSON(JavaScript Object Notation)格式的远程过程调用协议。它类似于 XML-RPC,但使用 JSON 来编码和解码数据。

3.WebService技术/协议总述

WebService是一种基于 Web 的服务技术,用于实现跨平台、跨语言的应用程序集成。它使用标准的 HTTP 协议(定义了报文内容的传输格式,比如Header,Body之类的)进行通信,常用的协议细节包括 SOAP(Simple Object Access Protocol--将操作翻译成XML格式)、WSDL(Web Services Description Language--WebService的描述性文档)和 UDDI(Universal Description, Discovery, and Integration--发现Web服务如Webservice服务)。

SOAP 是一种基于 XML 的消息传输协议,用于在 Web 服务之间进行通信。它定义了一种标准的消息格式,使得不同平台和语言之间的应用程序能够进行交互。SOAP 消息被封装在 HTTP 或其他协议中进行传输。

WSDL 是一种用于描述 Web 服务接口的 XML 格式。它定义了 Web 服务的地址、方法、参数和返回值等细节,使得客户端能够了解和调用该服务。

UDDI 是一种用于注册和发现 Web 服务的协议。它提供了一个公共的目录,使得开发者能够查找和使用其他组织提供的 Web 服务。

4.VS创建示例

ASP.NET Web 项目添加Web 服务 (ASMX)

using System;
using System.Web.Services;namespace MyWebService
{[WebService(Namespace = "http://example.com/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]public class MyService : WebService{[WebMethod]//可见方法特性标注public string HelloWorld(){return "Hello, World!";}}
}

可以在浏览器中访问该 Web 服务,通过调用相应的方法获取返回值。例如,使用以下 URL 访问 HelloWorld 方法:http://localhost:port/MyService.asmx/HelloWorld

相关文章:

WebService技术--随笔1

1.WebService 发展史 创建阶段(1990 年代末至 2000 年代初):在这个阶段,XML-RPC 和 SOAP 协议被引入,为跨平台和跨语言的应用程序集成提供了基础。XML-RPC 提供了一种基于 XML 的远程过程调用机制,而 SOAP…...

如何使用Docker将.Net6项目部署到Linux服务器(一)

目录 一 配置服务器环境 1.1 配置yum 1.1.1 更新yum包 1.1.2 yum命令 1.2 配置docker …...

第4章-第3节-Java中跟数组相关的几个算法以及综合应用

在写这篇博文之前,先大概说明一下,就是很常见的数组算法如求最大值、一维数组的遍历等,这里就不去专门说明了,只说一些有代表性的,然后就是冒泡排序算法很容易查阅到,这里也不专门说明了,只说明…...

AlexNet(pytorch)

AlexNet是2012年ISLVRC 2012(ImageNet Large Scale Visual Recognition Challenge)竞赛的冠军网络,分类准确率由传统的 70%提升到 80% 该网络的亮点在于: (1)首次利用 GPU 进行网络加速训练。 &#xff…...

【单调栈 】LeetCode321:拼接最大数

作者推荐 【动态规划】【广度优先搜索】LeetCode:2617 网格图中最少访问的格子数 本文涉及的知识点 单调栈 题目 给定长度分别为 m 和 n 的两个数组&#xff0c;其元素由 0-9 构成&#xff0c;表示两个自然数各位上的数字。现在从这两个数组中选出 k (k < m n) 个数字…...

TikTok与虚拟现实的完美交融:全新娱乐时代的开启

TikTok&#xff0c;这个风靡全球的短视频平台&#xff0c;与虚拟现实&#xff08;VR&#xff09;技术的深度结合&#xff0c;为用户呈现了一场全新的娱乐盛宴。虚拟现实技术为TikTok带来了更丰富、更沉浸的用户体验&#xff0c;标志着全新娱乐时代的开启。本文将深入探讨TikTok…...

PXI/PCIe/VPX机箱 ARM|x86 + FPGA测试测量板卡解决方案

PXI便携式测控系统是一种基于PXI总线的便携式测试测控系统&#xff0c;它填补了现有台式及机架式仪器在外场测控和便携测控应用上的空白&#xff0c;在军工国防、航空航天、兵器电子、船舶舰载等各个领域的外场测控场合和科学试验研究场合都有广泛的应用。由于PXI便携式测控系统…...

ES6 面试题 | 12.精选 ES6 面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…...

【linux】Debian不能运行sudo的解决

一、问题&#xff1a; sudo: 没有找到有效的 sudoers 资源&#xff0c;退出 sudo: 初始化审计插件 sudoers_audit 出错 二、可用的方法&#xff1a; 出现 "sudo: 没有找到有效的 sudoers 资源&#xff0c;退出" 和 "sudo: 初始化审计插件 sudoers_audit 出错&q…...

讲解ThinkPHP的链式操作

数据库提供的链式操作方法&#xff0c;可以有效的提高数据存取的代码清晰度和开发效率&#xff0c;并且支持所有的CURD操作。 使用也比较简单&#xff0c;假如我们现在要查询一个User表的满足状态为1的前10条记录&#xff0c;并希望按照用户的创建时间排序 Db::table(think_u…...

Java技术栈 —— 微服务框架Spring Cloud —— Ruoyi-Cloud 学习(二)

RuoYi项目开发过程 一、登录功能(鉴权模块)1.1 后端部分1.1.1 什么是JWT?1.1.2 什么是Base64?为什么需要它&#xff1f;1.1.3 SpringBoot注解解析1.1.4 依赖注入和控制反转1.1.5 什么是Restful?1.1.6 Log4j 2、Logpack、SLF4j日志框架1.1.7 如何将项目打包成指定bytecode字节…...

如何进行软件测试和测试驱动开发(TDD)?

1. 软件测试概述 1.1 什么是软件测试&#xff1f; 软件测试是一种评估系统的过程&#xff0c;目的是发现潜在的错误或缺陷。通过对软件进行测试&#xff0c;开发者和测试人员可以确定软件是否符合预期的需求、功能是否正常运行&#xff0c;以及系统是否足够稳定和可靠。 1.2…...

linux 开机启动流程

1.打开电源 2.BIOS 有时间和启动方式 3.启动Systemd 其pid为1 4.挂载引导分区 /boot 5.启动各种服务 如rc.local...

Mybatis 动态SQL的插入操作

需求 : 根据用户的输入情况进行插入 动态SQL:根据需求动态拼接SQL 用户往表中插入数据,有的数据可能不想插入,比如不想让别人知道自己的性别,性别就为空 insert into userinfo(username,password,age,gender,phone) values(?,?,?,?,?); insert into userinfo(username,…...

共建开源新里程:北京航空航天大学OpenHarmony技术俱乐部正式揭牌成立

12月11日,由OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群技术指导委员会(以下简称“TSC”)和北京航空航天大学共同举办的“OpenHarmony软件工程研讨会暨北京航空航天大学OpenHarmony技术俱乐部成立仪式”在京圆满落幕。 现场大合影 活动当天,多位重量级嘉宾出席了此次…...

企业微信机器人发送文本、图片、文件、markdown、图文信息

import requests import base64 import hashlib import json # 机器人地址的key值 key"811a1652-60e8-4f51-a1d9-231783399ad2" def path2base64(path):"""文件转换为base64:param path: 文件路径:return:"""with open(path, "rb…...

智能优化算法应用:基于天牛须算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于天牛须算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于天牛须算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.天牛须算法4.实验参数设定5.算法结果6.参考文…...

【Hive】【Hadoop】工作中常操作的笔记-随时添加

文章目录 1、Hive 复制一个表:2、字段级操作3、hdfs 文件统计 1、Hive 复制一个表: 直接Copy文件 create table new_table like table_name;hdfs dfs -get /apps/hive/warehouse/ods.db/table_nameload data local inpath /路径 into table new_table;修复表&#xff1a; m…...

DIY电脑装机机箱风扇安装方法

作为第一次自己diy一台电脑主机的我&#xff0c;在经历了众多的坑中今天来说一下如何安装机箱风扇的问题 一、风扇的数量 1、i3 xx50显卡 就用一个cpu散热风扇即可 2、i5 xx60 一个cpu散热风扇 一个风扇即可 3、i7 xx70 一个cpu散热 4个风扇即可 4、i9 xx80 就需要7个以…...

基础算法(4):排序(4)冒泡排序

1.冒泡排序(BubbleSort)实现 算法步骤&#xff1a;比较相邻的元素。如果第一个比第二个大&#xff0c;就交换。 对每一对相邻元素作同样的工作&#xff0c;从开始第一对到结尾的最后一对。 这步做完后&#xff0c;最后的元素会是最大的数。 针对所有的元素重复以上的步骤&#…...

窗口大小强制调整工具终极指南:如何轻松掌控任意应用程序窗口尺寸

窗口大小强制调整工具终极指南&#xff1a;如何轻松掌控任意应用程序窗口尺寸 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为那些顽固的应用程序窗口而烦恼吗&#xff1f;某…...

超级千问语音设计世界效果展示:听听这些用文字描述生成的惊艳语音

超级千问语音设计世界效果展示&#xff1a;听听这些用文字描述生成的惊艳语音 1. 当文字遇见声音&#xff1a;一场无需录音棚的创作革命 想象一下&#xff0c;你只需要在电脑前输入一段文字&#xff0c;再描述一种情绪——“一个在深夜电台里&#xff0c;带着沙哑嗓音和淡淡忧…...

告别卡顿与路径混乱:手把手教你配置ArcMap 10.x的个性化工作环境

告别卡顿与路径混乱&#xff1a;手把手教你配置ArcMap 10.x的个性化工作环境 ArcMap作为GIS领域的经典工具&#xff0c;其功能强大但默认配置往往无法满足专业用户的效率需求。许多GIS从业者都经历过这样的困扰&#xff1a;软件启动缓慢、数据路径杂乱无章、常用工具隐藏过深。…...

NW.js 保姆级教程来了!零基础也能开发桌面应用(2026 最新版)

一句话总结&#xff1a;用你熟悉的 HTML CSS JavaScript&#xff0c;直接打包成 Windows / macOS / Linux 桌面程序——这就是 NW.js 的魔力&#xff01; 一、NW.js 到底是什么&#xff1f;别再和 Electron 搞混了&#xff01; 如果你会前端开发&#xff0c;但一直以为“做桌…...

罗技鼠标宏:专业级压枪系统构建指南

罗技鼠标宏&#xff1a;专业级压枪系统构建指南 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 在竞技射击游戏中&#xff0c;精准控制武器后坐力…...

Harmonyos应用实例215: 条件概率模拟器

7. 条件概率模拟器 功能简介:通过模拟抽卡片、掷骰子等实验,展示条件概率的计算方法,验证贝叶斯定理。支持调整实验参数,实时显示概率结果和理论值对比,帮助学生理解条件概率的概念。 ArkTS代码: @Entry @Component struct ConditionalProbability {@State private...

dygraphs核心架构解析:理解Canvas渲染机制与高性能图表实现

dygraphs核心架构解析&#xff1a;理解Canvas渲染机制与高性能图表实现 【免费下载链接】dygraphs Interactive visualizations of time series using JavaScript and the HTML canvas tag 项目地址: https://gitcode.com/gh_mirrors/dy/dygraphs dygraphs是一个基于HTM…...

GTSAM编译避坑:为什么你的Eigen版本总是不匹配?详细排查与修复教程

GTSAM编译中的Eigen版本冲突&#xff1a;从根源到解决方案的深度指南 引言 在机器人学和计算机视觉领域&#xff0c;GTSAM&#xff08;Georgia Tech Smoothing and Mapping Library&#xff09;作为因子图优化的标杆工具&#xff0c;其重要性不言而喻。然而&#xff0c;许多开发…...

FreeMoCap终极指南:如何用普通摄像头实现专业级3D动作捕捉

FreeMoCap终极指南&#xff1a;如何用普通摄像头实现专业级3D动作捕捉 【免费下载链接】freemocap Free Motion Capture for Everyone &#x1f480;✨ 项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap 还在为专业动作捕捉设备的高昂价格而烦恼吗&#xff…...

S3 文件操作进阶实践:从基础上传到完整性保障

1. S3文件操作的核心挑战与解决方案 第一次接触AWS S3时&#xff0c;很多人会觉得文件上传下载不就是调用几个API的事&#xff1f;但真正投入生产环境后&#xff0c;各种问题就会接踵而至。我见过最典型的案例是某电商平台在促销期间&#xff0c;因为文件上传没有做完整性校验…...