2009-05-26 62 views
3

我们正在研究开发一个Web服务,以作为以C++编写的网络安全原型的浏览器显示/ gui的基础。我对Web服务的使用经验仅限于Java。我更喜欢Java中的Web服务,因为它处于“循序渐进”的道路上。用C++开发web服务的好平台是什么?

一个确定的方法是简单地编写调用Web服务的Java客户端,并将其作为命令行与来自C++代码的参数一起调用。

这并不理想,因为一般来说API是可取的,但在这种情况下,它可以工作并且是一个非常安全的解决方案。

这确实处理在C++开发Web服务被称为gSOAP的,在这个网址的资源:http://gsoap2.sourceforge.net

的任何想法上是一个更好的办法?有没有人使用gSOAP,如果是的话,你觉得怎么样?

回答

2

我的同事最终使用了Axis2/java(用于服务)和gsoap的组合。他通过从C++头文件(使用c2wsdl(?)或类似的东西)生成Java服务的wsdl,他说它比使用Java接口要好,因为它生成了两套wsdl,用于单独的soap版本。

然后,他使用的WSDL2Java生成Web服务和测试Web客户端。一旦我们得到了工作,他用gSOAP的创建(用C++)Web客户端,它工作得很好。

感谢所有回答:我结束了使用它们的组合

1

我有很好的经验gsoap - 非常简单,性能很好。

3

我用gSOAP做了一些事情,并不糟糕。尽管如此,我越来越反对Web服务的RPC模型;它迫使你进入很多连接和会话状态,这增加了复杂性。 REST界面更简单,更健壮。

+0

你能提出一个建议吗?thx,jbn – 2009-05-26 14:37:26

1

如果可以接受只在Windows上运行,有一个全新的API用于此目的:WWSAPI

2

对于RPC样式,看看Thrift, 我觉得这是很更好的(更快,更清晰,很多语言实现)比肥皂。

1

不用从命令行调用java客户端,您可以在C应用程序中创建一个Java虚拟机,实例化该类并调用任何方法。这是java.exe应用程序的功能,我认为源代码包含在jdk中。

1

取决于你想去的水平有多低。您可能会收到yield