免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: crazylwl
打印 上一主题 下一主题

[求助]unix c 编写webservice客户端 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2007-01-06 14:27 |只看该作者
原帖由 poize 于 2007-1-6 14:05 发表
哎,以前是.net下webservice,貌似很傻瓜式,而且看过一点就没学了,刚找了一篇文章,希望对你有用
http://fanqiang.chinaunix.net/program/c++/2005-10-20/3730.shtml



呵呵,多谢,这个我也找到过,是用gsoap实现的, 这个可能不适合我现在的情况,不过还是谢谢你.

论坛徽章:
0
22 [报告]
发表于 2007-01-06 15:22 |只看该作者
apache的axis项目有web service的c++ stub类实现,应该可以用c来调用。

论坛徽章:
0
23 [报告]
发表于 2007-01-06 16:33 |只看该作者
所谓web service就是把需要调用的过程和参数用xml格式化,通过http传输,返回步骤也相同。读一下标准自己包装一下,或者用现成的库

论坛徽章:
0
24 [报告]
发表于 2007-01-06 23:57 |只看该作者
要是用http 封装的话 , 用cgi 不可以吗? 再不行用FastCGI (持续存在)。
web service 我不懂,错了别骂我。

论坛徽章:
0
25 [报告]
发表于 2007-01-07 01:15 |只看该作者
gsoap

论坛徽章:
0
26 [报告]
发表于 2007-01-07 01:21 |只看该作者
我觉得http://xmlrpc-c.sourceforge.net/可以参考一下!~

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
27 [报告]
发表于 2007-01-07 02:06 |只看该作者
Web Service顾名思义就是网络服务(注意不是服务器,而是服务),正如lenovo说的和Corba的目的类似,是用来集成异构系统的glue(当然这不是惟一目的)。

Web Service 采用SOAP协议封装请求/响应,用XML语言进行信息的结构描述,用HTTP协议作为网络传输载体,用字符文本作为表达方式。用XML的好处是近乎无限的结构表达能力,用HTTP的好处是可以利用http的80端口(也无需穿透防火墙),用文本的好处是表达的平台无关性,只要是一个计算机那么它就一定可以处理文本。
比之其他中间件技术,Web Service的优势是 强大的自定义结构表达;平台无关的表示使得扩展性和柔性极佳;信息传输时的压缩比高;无需穿透防火墙 。。。 缺点是解析XML树的时候需要做大量工作。Web Service定义了SOAP封装的格式,定义了UDDI服务定位、描述协议(它身也是一个XML描述。好像另外还有一个什么,我忘记了)。

举个简单例子:客户A需要得到服务B的运行结果。具体来说,A需要一个1+2的运算结果,但是它并不关心这个结果是如何取得,也不关心这个结果从哪里取得,更不关心这个结果的具体运算过程。
首先需要的前提是 服务提供方使用UDDI(广域 或 局域)注册自己提供的服务接口。这就像OS提供的系统调用那样,将 服务说明、服务名称和接受的参数、结果类型 公布出来。
现在,A首先需要使用UDDI定位服务方提供的服务,取得上面所述的信息 (可能会有多个服务方提供同样的服务,比如一个提供C++程序运算,另一个提供JAVA程序进行运算,客户可以依据自己的需求选择一个。如果这些都不关心的话,可以使用任意一个)。比如服务名是 add,参数类型是int ,int ,返回类型是int,描述是“提供两个整数的加运算”。
之后,A只需要用SOAP来封装 <过程名,参数> 即可。比如<method>add</method><arg1 type=int>1</arg1><arg2 type=int>2</arg2>。
服务方解析这个SOAP请求,调用具体的add(1,2)过程,得到结果3,然后用SOAP封装结果返回 A :<return type=int>3</return>

我02年的时候弄过近一年Web Service,到现在时间有点太久了。所以如果上面的只言片语有什么差池的话,那是我的记忆出现了差错,请包含 另外,经过这么多年的发展变化,我不清楚最新的Web Service有什么扩展和修订。
了解一下WebService的内部流程希望能对你有帮助。

[ 本帖最后由 gvim 于 2007-1-7 02:15 编辑 ]

评分

参与人数 1可用积分 +2 收起 理由
lenovo + 2 我很赞同

查看全部评分

论坛徽章:
0
28 [报告]
发表于 2007-01-07 19:41 |只看该作者
用 gsoap 封装成一个 .so,然后用c来调用就行了。

论坛徽章:
0
29 [报告]
发表于 2007-01-08 11:04 |只看该作者
非常感谢所有关注这个帖子的楼主们。谢谢!

论坛徽章:
0
30 [报告]
发表于 2007-01-09 10:52 |只看该作者
http://www.codeproject.com/
源代码: http://www.codeproject.com/tools/hextract/hextract_src.zip

[ 本帖最后由 wu_mhui 于 2007-1-9 10:54 编辑 ]

hextract.jpg (61.4 KB, 下载次数: 24)

hextract.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP