我有一个c ++应用程序,用于检查给定网络中有关打印机的信息。我需要使用另一个.net Web应用程序中的Web服务将此信息存储在数据库中。但我是c ++的新手,我不知道如何使用c ++调用web服务中的web方法。 c ++应用程序中没有添加Web引用选项。
任何人都可以为我推荐一个很好的教程吗? 我的应用程序是一个win32控制台应用程序。
谢谢, Subrat
答案 0 :(得分:2)
使用名为Walkthrough: Accessing an XML Web Service Using C++ and the CLR的Visual Studio 2005的MSDN文章与使用Visual Studio 2008 C ++类似。
答案 1 :(得分:1)
您可以使用Apache的Axis连接到Web服务。
答案 2 :(得分:0)
既然你暗示Windows,你可能会看看WinInet(在msdn中寻找它)。 WinInet是一个非常强大且功能丰富的http客户端,但也很难使用,特别是在异步模式下。
答案 3 :(得分:0)
在客户端和服务器之间交换的SOAP消息基本上是XML文档,它们通过HTTP发送(它们位于HTTP消息体中)。如果您知道SOAP请求和响应的格式,则可以使用WinHttp API或更一般的WinINet。另一个解决方案是IXMLHTTPRequest。准备好自己解析XML,可能是使用MSXML。
AT200 Server在VS2008中不可用(它以community project发布,所以我不确定微软是多么热衷于支持这项技术。)
我在WinCE上使用WinINet来访问Apache Axis2 / C Web服务。
答案 4 :(得分:0)
查看gSoap - 一个用于访问Web服务的开源C / C ++库。我已广泛使用它来访问.Net编写的服务。提供商业和非营利许可证。
您只需要wsdl文件/ url,它将为您生成客户端/服务器代码。来自网站:
gSOAP分发包 包括两个编译工具来开发 你的申请:
'wsdl2h'WSDL 解析器。该工具转换WSDL和 将XSD文件放入带注释的C / C ++中 定义
- 醇>
'soapcpp2'存根和 骨架编译器。这个工具生成 来自的RPC代码和XML序列化器 带注释的C / C ++定义。
'wsdl2h'解析器将WSDL转换为 gSOAP头文件规范 网页服务。该规范给出了 一个C / C ++透明视图 服务器的功能。标题 文件由'soapcpp2'处理 生成源代码存根和 骨架来调用服务或 基于WSDL构建新服务。