科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用ATL服务器构建 XML Web 服务

用ATL服务器构建 XML Web 服务

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在Visual Studio?的下一版本--Visual Studio .NET中将为C 程序员包含一个名为ATL服务器的应用程序......

作者:佚名 来源:Microsoft 2007年11月5日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
调用 XML Web 服务

  一旦XML Web服务发布到了Web服务器上,就可通过HTTP结对它进行调用,并通过XML与服务交换数据。任何支持作出HTTP请求的语言都能调用XML Web服务,而不管此服务是用什么语言实现的,或不管它运行在什么样的平台上。Visual Studio .NET 有一个增加Web参考对话框,它使开发人员能快速而方便地使用XML Web服务。

  你可以从喜欢的任何类型的应用程序调用XML Web服务。在下面的例子中,我们将用Win32控制台应用程序中的增加Web参考对话框,介绍访问XML Web服务的步骤。

  首先,向方案中增加Win32(空)控制台应用程序(或如果没有打开方案,创建一个新的Win32控制台应用程序)。

  在方案管理器中,右击新创建的工程,选择"增加Web参考"。出现增加Web参考对话框。输入在服务器上部署的disco文件(随ATL服务器Web服务自动创建和部署的文件)的位置。你可参考下面的对话框。如果输入了先前创建的XML Web服务的位置,并单击绿色小箭头,对话框将找出XML Web服务,并且在对话框底部的"增加参考"按钮将激活(见下面的图)。

  对话框将消失,并且不会再发生什么事。然而,如果你在新工程上右击,然后选择增加->已有项目,你会在XML Web服务客户端的目录中发现一个新生成的文件(按XML Web服务命名,如Project1.h)。这个文件是由增加Web参考对话框(通过"sproxy"命令行应用程序)生成的代理,而且,当包含在文件中时,它使你能方便地访问XML Web服务。这就旬作出标准的方法调用一样。

  下面是一个使用Project1 XML Web服务的控制台应用程序示例:

define _WIN32_WINDOWS 0x0403
define _WIN32_WINDOWS 0x0403
#include "project1.h"
#include
int main(void)
{

  /*此处创建由代理生成的类的实例。如果我们查看代理的代码,就会发现它在类CProject1Service(从CsoapSocketClient中继承)中封装了HelloWorld方法。*/

CoInitialize(NULL);
CProject1Service svc;
CComBSTR bstrIn(L"World");
CComBSTR bstrOut;

  /*此处调用XML Web服务,你可以看到, 不用告诉代理它正在调用的是XML Web服务,代理会为我们处理这些事情。 */

svc.HelloWorld(bstrIn, &bstrOut);
wprintf(L"The output string is %s\n", bstrOut);
}

  总结

  通过下一代的Visual Studio工具,微软将极大地削减速创建可编程的XML Web服务的复杂性。这些服务构建在工业标准的Internet协议上,包括HTTP和XML,以提供令人振奋的企业机遇。使用ATL服务器,C++开发人员能方便地创建功能强大的高性能的XML Web服务,以平衡 Internet的需求。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章