您的位置:逆风者 VC++ 正文
 添加时间:2007-09-01 原文发表:2007-08-31 人气:375 来源:vckbase.com

本文章共2260字,分2页,当前第2页,快速翻页:
 

#include "WebService.h"

using namespace Debug;	// 这个命名空间是自动生成的,与Web服务的实现有关          
以下是调用代码
void CInvokeDemoDlg::OnBnClickedButton1()

{

	// TODO: 在此添加控件通知处理程序代码



	// 因为生成的代码是基于ATL的,所以要初始化COM

	CoInitialize(NULL);



	HRESULT hr = S_OK;

	CComBSTR hiResult;

	CComBSTR username = "vckBase";



	CDebug* debug = new CDebug;	// 代理对象



	// 可以调用SetUrl动态设置Web服务地址

	// debug->SetUrl("http://blog.eray.cn/debug.asmx");



	hr = debug->Hi(username,&hiResult); //注意,返回值是以指针形式反回的



	if(FAILED(hr))

	{

		MessageBox("调用失败");

	}

	else

	{

		CString str(hiResult);

		MessageBox(str,"调用结果");

	}



	delete debug;

	CoUninitialize();

}          
  由于生成的代理类是基于ATL的,所以在调用前要初始化COM调用。在上述的代码中就使用了CComBSTR而没有直接使用BSTR,因为CComBSTR属于智能类型,可以自己管理内存分配,比较方便。 上述代码中有一行被注释的代码调用了SetUrl来设置WebService的调用地址。在实际的项目中,可以将这个地址写在配置文件中。
逆风者

5、运行结果

来,看一下吧~

五、结束语

  通过以上示例可以看出,其实在VS.NET中实现非托管的C 调用WebService是相当简单的。当然,在实际的使用过程中,为了程序的徤壮,还需要更多的代码逻辑,比如错误处理等等。
 

本文章更多内容<<上一页 - 1 - 2
相关文章

自动查找并删除VC生成的临时文件
一步步制作真彩工具条
如何定制浮动工具条
一个完善的ODBC数据库程序
一个简单的时钟程序
利用OpenGL实现动画效果
实现类似Excel和Visual C 里文件夹式样的标
深入浅出 CPropertySheet
对《一个简单的学生成绩管理系统》优化的一
在MFC中用正则表达式对窗体进行有效性验证
如何选中其他程序ListView控件中的某个Item
用C#语言实现http协议下的多线程文件传输
如何提取网页中所有链接
DCT快速变换
think window procedure
关于CEdit控件的透明 --作者:monsoon
创建分层窗口,实现图像渐变
关于调试时输出的字符串信息
SendMessage和PostMessage,total ordering
用udp协议通讯示例

相关评论


本文章所属分类:首页 VC++

  热门关键字: