Call Web Service from a VC++ 6.0 Client
来源:互联网 发布:大数据时代txt下载 编辑:程序博客网 时间:2024/04/30 09:52
What you need :
Microsoft SOAP toolkit 3.0 with Microsoft XML 2.0 included.
Microsoft Visual C++ 6.0, we use it create client application.
Microsoft Visual Studio.NET, we use VC# to create web service.
VC code :
1#include "stdafx.h"2#include <windows.h>3#include <stdio.h>4#import "msxml4.dll" 5using namespace MSXML2;6#import "C:/Program Files/Common Files/MSSoap/Binaries/mssoap30.dll" /7 exclude("IStream", "IErrorInfo", "ISequentialStream", "_LARGE_INTEGER", /8 "_ULARGE_INTEGER", "tagSTATSTG", "_FILETIME")9using namespace MSSOAPLib30;1011bool SayHello(char *UserName)12{13 ISoapSerializerPtr Serializer;14 ISoapReaderPtr Reader;15 ISoapConnectorPtr Connector;16 // Connect to the service.17 Connector.CreateInstance(__uuidof(HttpConnector30));18 Connector->Property["EndPointURL"] = "http://localhost/WebServices/SayHello/SayHello.asmx";19 Connector->Connect();20 21 // Begin the message.22 Connector->Property["SoapAction"] = "http://tempuri.org/SayHelloToMe";23 Connector->BeginMessage();24 25 // Create the SoapSerializer object.26 Serializer.CreateInstance(__uuidof(SoapSerializer30));27 28 // Connect the serializer object to the input stream of the connector object.29 Serializer->Init(_variant_t((IUnknown*)Connector->InputStream));30 31 // Build the SOAP Message.32 33 Serializer->StartEnvelope("", "", "");34 Serializer->StartBody("");35//Remember to set DefaultNamespace, or an exception will show before you.36//Microsoft SOAP toolkit providered code has no this line !37//it works not38 Serializer->SoapDefaultNamespace("http://tempuri.org/");39 Serializer->StartElement("SayHelloToMe","","","");40 Serializer->StartElement("UserName","","","");41 Serializer->WriteString(UserName);42 Serializer->EndElement();43 Serializer->EndElement();44 Serializer->EndBody();45 Serializer->EndEnvelope();46 47 // Send the message to the XML Web service.48 Connector->EndMessage(); 49 50 // Read the response.51 Reader.CreateInstance(__uuidof(SoapReader30));52 53 // Connect the reader to the output stream of the connector object.54 Reader->Load(_variant_t((IUnknown*)Connector->OutputStream), "");55 56 // Display the result.57 printf("Answer: %s/n", (const char*)Reader->RpcResult->text);58 if(Reader->GetFault() != NULL)59 printf("Fault : %s/n", (const char *)Reader->GetFault()->text);60 return false;61}6263int main(int argc, char* argv[])64{65 CoInitialize(NULL);66 SayHello("dtianx@hotmail.com");67 CoUninitialize();68 return 0;69}70
C# code :
1[WebMethod]2string SayHelloToMe(string UserName)3{4 return "Hello ," + UserName;5}
- Call Web Service from a VC++ 6.0 Client
- java client call .net web service
- Client Call SharePoint Web Service(SOAP)
- Calling Web Service from Client-Side JavaScript
- How to use VC++6.0 to develop web Service Client
- Using WinInet to call a Web service
- Calling a Web API From a .NET Client (C#)
- Calling a Web API From a .NET Client
- Silverlight: serializing the contents of a web service call
- VB call Web Service
- call web service failed
- Call JMS Web Service
- Creation of an Axis Web Service and a gSOAP client
- Calling a web-service from a Unity3D scene
- ROS node调用service: ros::service::call/client.call()
- Web Service & Client
- xfire-web service -client
- 建立web service client
- C++ 学习指南——这篇文章真是太经典了(转载)
- 结婚了
- Google Hacking 的实现以及应用 转
- 数据结构――栈、队列和树(Java)
- Motorola手机J2ME应用问题
- Call Web Service from a VC++ 6.0 Client
- 学习C++(一) 我现在理解的C++ 选择自 MatrixCpp 的 Blog
- 上网记录
- 双击图片弹出图片另存为对话框
- [C0.0] C in Practice
- Visual SourceSafe 教程
- 今日行程~
- 24的程序(1)
- 一招制敌,清除win2000/XP的登录密码