首页 新闻 搜索 专区 学院

不用任何框架,如何发布WebService

0
悬赏园豆:40 [已解决问题] 解决于 2013-11-01 09:33

如果我电脑上有各种语言的编译环境和一个记事本,如何发布一个WebService呢。WSDL如何发挥作用呢,是不是要自己写一个可以处理Soap消息的web服务器程序才行,谢谢。我想知道webService实现的细节。

会长的主页 会长 | 专家六级 | 园豆:10269
提问于:2013-10-31 17:17
< >
分享
最佳答案
0

1,web service 是建立在 http 之上的;

2,soap 是建立在 web service 之上的;

wsdl 是特定于 web service 的领域语言,相当于数据库的架构,我们称之为元数据.数据库的架构能够告诉我们数据库中有几张表,每张表叫什么名字,每张表有几个字段,每个字段的类型是什么等等信息. wsdl 也有相同的作用,它能告诉我们一个服务有哪些接口,每个接口上有哪些操作,每个操作上的传入传出类型是什么等等信息.

通过一份 wsdl 的实例,我们可以使用平台特定技术来生成一个服务,也可以将传入的 http request 解析成平台特定语言支持的数据类型.

如果你理解《编译原理》的话,那么对此就不会陌生。

自己实现 web service框架是困难的,你需要面对一大堆晦涩的 WS-* 协议,尤其是 WS-Security 相关的协议,所以,你最好选取一款合适的平台或框架。

收获园豆:14
Launcher | 高人七级 |园豆:45045 | 2013-11-01 09:25

多谢回复,看来还得在一个平台上搞。对于你说的第一点,其实web service也可以建立在其他协议上,我看w3school里说的。

会长 | 园豆:10269 (专家六级) | 2013-11-01 09:32

@会长: 你说的也对,web service soap 是独立平台协议,在 wcf 中,你就可以看到,允许你使用 msmq,net.tcp,udp等协议,同时还允许是使用binary来代替 text 表达.但是,这就限制了 web service的平台互操作性,而这与建立 web service的初衷背道而驰。

Launcher | 园豆:45045 (高人七级) | 2013-11-01 09:57
其他回答(1)
0

不一定非要Soap才叫web service。

 

只要能返回值都可以叫web service

 

所以最简单的就是让node.js返回一段json, 搞定

收获园豆:13
undefined | 园豆:698 (小虾三级) | 2013-10-31 17:32

看来我要先了解一下Web服务程序的原理了。最近可能辞职,我发现我这么多年来用的东西都是浅尝辄止,哎。比如这个webService,每次用都是VS搞,然后再添加web引用,用微软系列都把人用傻了,看来我以后得强制自己用Linux了

支持(0) 反对(0) 会长 | 园豆:10269 (专家六级) | 2013-10-31 17:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册