如何将C ++程序连接到WCF服务?

时间:2011-03-11 19:23:29

标签: c++ wcf

在我工作的地方有一些用C#编写的软件和一些用C ++编写的软件(最重要的)。前段时间我们决定通过Web服务发送堆栈跟踪和异常信息来跟踪软件中的任何可能问题。所以我带了一个WCF服务,它获取信息并将它们存储在数据库中并发送自动电子邮件。它工作,我们必须通过密码保护它,它已经完成,但现在我想要我们的其他软件,用C ++编写的软件,使用这个web服务(这个软件在windows和linux上都使用,所以我们不能只做调用用户机器中的另一个软件。)

我已经用Google搜索了一下,发现这个tutorial关于如何使用gSOAP,到目前为止对我没有多大帮助(很多错误,它不是很详细,并且web.config文件无法读取)。我想知道是否有任何其他方法来实现这一目标。在adition中,由于我在我的webservice上使用身份验证,它现在有一个wsHttpBinding(gSOAP不支持AFAIK)。

你能帮助我吗?

2 个答案:

答案 0 :(得分:5)

由于您的WCF服务是使用.NET的C#,唯一的问题是让C ++应用程序能够与它通信,一种方法是遵循REST / SOAP Endpoints for a WCF service及相关文章中的建议。

您的C#程序继续拥有对您服务的完整SOAP访问权限。 您的C ++程序可以为REST访问执行类似的操作:

  • “浏览”所需服务命令的HTTP GET URL。
  • 然后抛出(或解析并使用)任何回复。

对于提供SOAP和REST的WCF服务来说,这是一个非常小的变化。 REST功能可以为JavaScript和C ++客户端打开服务。

您可能需要将接口限制为简单数据或易于在C ++中解析的类对象。

答案 1 :(得分:1)

运行C ++应用程序的计算机是否安装了.NET Framework?

退房:Create WCF service for unmanaged C++ clients