惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
博客园 - 司徒正美
美团技术团队
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Troy Hunt's Blog
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
Cisco Talos Blog
Cisco Talos Blog
T
Tor Project blog
B
Blog
NISL@THU
NISL@THU
月光博客
月光博客
博客园 - 【当耐特】
AWS News Blog
AWS News Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
L
Lohrmann on Cybersecurity
The Cloudflare Blog
L
LINUX DO - 最新话题
S
Security @ Cisco Blogs
S
Secure Thoughts
Spread Privacy
Spread Privacy
有赞技术团队
有赞技术团队
The Last Watchdog
The Last Watchdog
Project Zero
Project Zero
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Vercel News
Vercel News
H
Hacker News: Front Page
S
SegmentFault 最新的问题
Schneier on Security
Schneier on Security
aimingoo的专栏
aimingoo的专栏
P
Privacy & Cybersecurity Law Blog
博客园 - 三生石上(FineUI控件)
Forbes - Security
Forbes - Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
InfoQ
T
Tailwind CSS Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
G
GRAHAM CLULEY
W
WeLiveSecurity
小众软件
小众软件
Recorded Future
Recorded Future
Cyberwarzone
Cyberwarzone
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

博客园 - miniflyfish

修改导入的博客图片地址链接 抓取新浪博客中的图片 blogml导入blogengine注意事项 xml repeater dataset资料备忘 将新浪博客导入到blogengine webmatrix、visualstidio2010、blogengine cs2.1的安装备忘 Adapter适配器模式(结构型模式) prototype原型(创建型模式) Factory Method 抽象工厂模式(创建型) builder生成器(创建型模式) Abstract Factory 抽象工厂(创建型模式) 代码存放样例 singleton单件(创建型模式) 面向对象设计模式与原则 ASP.NET中的XML ASP.NET的事件处理 ASP.NET WEB服务器控件的使用 AJAX简介与web2.0
web 服务
miniflyfish · 2006-03-07 · via 博客园 - miniflyfish

web 服务概述
如何创建和使用web服务
如何发布和查找WEB服务
如何理解web代理类
web服务实战

web服务:提供了一种软件组生产和流通的技术和标准。“软件就是服务”的真正实现。

服务请求者(用户)--查找--》服务代理者(电话号码簿)
服务请求者(用户)--绑定--》服务提供者(电信)
服务提供者(电信)--发布--》服务代理者(电话号码簿)

电话号码薄中注册的号码必须有一个统一的描述、查找和集成的定义。

web服务中的三种服务和操作
web服务请求者(应用程序)--查找--》web服务代理者(商业注册中心、专业注册中心、私有注册中心)
web服务提供者(软件开发商)--发布到--》web服务代理者
web服务请求者--绑定到--》web服务提供者

web服务的三基石
简单对象访问协议--SOAP,用于WEB服务的通信协议,是一种XML通信协议。包括三个部分:
SOAP封装结构:定义消息的XML格式,包括整体框架、消息内容、谁处理这些内容等。
SOAP编程规则:定义如何将程序数据表示为XML
SOAP RPC表示:定义如何使用SOAP进行远程过程调用
此外,SOAP规范还定义了包含SOAP消息的HTTP消息样式

WEB服务描述语言--WSDL
是一个XML文档,用于说明一组SOAP消息以及如何交换这些消息
还定义了服务的位置以及如何使用服务的通信协议
可以提供更高层次的消息,如web服务的业务类型和关联关键字等

统一描述、发现和集成--UDDI
web服务的黄页
其核心组件是UDDI商业注册,它使用一个XML文档来描述web服务。包括三个部分:
白页:介绍提供服务的公司,包括名称、地址、联系方式
黄页:包括按照标准进行分类的行业类别
绿页:细则介绍、访问服务接口等技术信息

http://www.wsms.cn/ws/sms.asmx

几个UDDI中心:
uddi.microsoft.com
uddi.sap.com
uddi.ibm.com

代理类
可以引用远程的web服务,在用户的应用程序中使用其功能,就像返回的数据是本地产生的一样。
步骤:1.使用WSDL.EXE创建代理类 2.使用CSC编译生成的CS文件为DLL文件

代理类的作用示意图:
1.应用程序--调用--》代理类
2.代理类格式化应用程序的调用,使之能被web服务识别
3.代理类--调用--》web服务
4.web服务执行
5.web服务将执行的结果数据以XML形式发送给代理
6.代理类再格式化,提取数据,将XML数据格式化成各种数据形式
7.代理类将结果返回给应用程序

不使用VS.NET,使用web服务

1、  wsdl /out:myWebService.cs http://localhost/MyService/MathService.asmx

2、  csc /out:RegWebService.dll /t:library /r:System.xml.dll /r:System.Web.Services.dll myWebService.cs

3、  有了组件库,我们就可以编写调用WebService的客户端程序了。见CallWebService.cs。 
举例:(注意引用的类是在被编译成dll文件中声明的类)
using System;

class WebServiceTest
{
 static void Main()
 {
    //
   Service1 myService = new Service1();
   double db1 = double.Parse

(Console.ReadLine());
   double db2 = double.Parse

(Console.ReadLine());
   double dbResult = myService.WebAdd

(db1,db2);
   Console.WriteLine("结果

为:"+dbResult.ToString());
 }
}

4、  csc /r:myWebService.dll CallWebService.cs

运行CallWebService.exe