MSSOAP与WebService

MSSOAP是个好东西呀,用它来调用WebService真是很便利!
MSSOAP全称应当是Microsoft Soap Toolkit,2001年,已经出到2.0的版本了,但我一直没接触过,失败呀!
.NET Frameword成熟后,貌似微软已经抛弃了Soap Toolkit,官方网页上的原话是:
The Microsoft SOAP Toolkit is deprecated by the .NET Framework. The toolkit provides basic Web services capabilities for COM components and applications. SOAP Toolkit support will be retired on July 1, 2004.
但好象现在使用实际上还是很广泛,我机器上就带有这么个东西,不知是装什么时附带装上去的,最后版本应当是3.0,网上到处都有独立安装包可下载。
官方下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=C943C0DD-CEEC-4088-9753-86F052EC8450&displaylang=en

Microsoft Soap Toolkit 2.0的介绍:
提供了一整套的COM对象来处理与SOAP相关的所有数据,可以让你在不了解SOAP和XML的情况下(当然最好还是了解的啦),也可以很容易和方便的使用任何一种编程语言来编写SOAP应用。你看到的,就是一个个的COM对象(符合微软的风格,符合一般程序员的编程习惯)。
功能简介:
1.提供了客户端的组件,可以让你指定WSDL,然后轻松调用对应的Web Service。
2.提供了服务端的组件,可以让你指定WSDL、WSML和COM对象,自动为你生成Web Service。
3.还提供了底层的处理组件,可以让你操纵SOAP消息的具体创建、处理和传输的过程。

MSSOAP的相关资料:
Microsoft SOAP Toolkit 2.0介绍:http://www.chinaaspx.com/archive/dotnet/6331.htm
Microsoft SOAP Toolkit v2_0 常见问题解答:http://msdn2.microsoft.com/zh-cn/library/ms995780.aspx
SOAP Toolkit:http://msdn2.microsoft.com/en-us/library/aa286526.aspx


罗嗦了一些基本概念,言归正传,其实我们没必要了解太多,因为这毕竟是一个已经不被推荐的技术。我在本文中想介绍的是其提供的客户端组件,通过它来动态调用WebService,实现非常简单,而且可以用在多种环境中。

  • 要调用WebService代码,非常简单的一个WebService方法:
[WebMethod]
public   string  SimpleTest( string  strInput)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
#include "stdafx.h" #import "msxml4.dll" using namespace MSXML2; #import "C:/Program Files/Common Files/MSSoap/Binaries/mssoap30.dll" \ exclude("IStream", "IErrorInfo", "ISequentialStream", \ "_LARGE_INTEGER", "_ULARGE_INTEGER", "tagSTATSTG", "_FILETIME") using namespace MSSOAPLib30; //你机器得安装SOAP Toolkit3.0 ,1.0时,用using namespace时报错 void query(char *EndPointURL,char *NameSpace,char *method,int argv_len,char* args[],char* argv[]) { ISoapSerializerPtr Serializer; ISoapReaderPtr Reader; ISoapConnectorPtr Connector; // Connect to the service Connector.CreateInstance(__uuidof(HttpConnector30)); Connector->Property["EndPointURL"] = EndPointURL;//"http://localhost/WebService1/Service1.asmx"; Connector->Connect();//和服务器连接 // Begin message Connector->Property["SoapAction"] = _bstr_t(NameSpace) + _bstr_t(method);//"http://xin.org/getIP"; Connector->BeginMessage(); Serializer.CreateInstance(__uuidof(SoapSerializer30)); // 将serializer连接到connector的输入字符串 Serializer->Init(_variant_t((IUnknown*)Connector->InputStream)); // 创建SOAP消息 Serializer->StartEnvelope("","",""); Serializer->StartBody(""); Serializer->StartElement(method,NameSpace,"","");//命名空间必须有 for(int i=0;i<argv_len;i++) { Serializer->StartElement(args[i],NameSpace,"",""); Serializer->WriteString(argv[i]); Serializer->EndElement(); } Serializer->EndElement(); Serializer->EndBody(); Serializer->EndEnvelope(); // Send the message to the web service Connector->EndMessage(); // 读取响应 Reader.CreateInstance(__uuidof(SoapReader30)); // 将reader联接到connector的输出字符串 Reader->Load(_variant_t((IUnknown*)Connector->OutputStream), ""); printf("Answer: %s\n",(const char*) Reader->RpcResult->text); } int main(int argc, char* argv[]) { CoInitialize(NULL); char *EndPointURL="http://approve.share-su

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值