Call Web Service from a VC++ 6.0 Client

原创 2005年02月28日 13:49:00

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;
10
11bool 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 not
38 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}
62
63int 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}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

VC++通过gSOAP调用C#的Web Service

VC++写的程序本来通过HTTP调用ISAPI进行处理,但是感觉模式有些老了,想用Web Service试试。 C#写程序调用WebService是很方便的,但是VC++有些麻烦。看了几种方法,...

Create and Pulish web service, call in Asp.net(Demo).

Can debug local Now try to publish it to local IIS. http://msdn.microsoft.com/en-us/library/dd46...

web service client

  • 2014-03-20 16:15
  • 16KB
  • 下载

VB call Web Service

This post will show you how to call web service in VB code.

CXF Web Service &amp; client

  • 2016-09-27 19:00
  • 16.48MB
  • 下载

Feign:web service client(译)

Declarative REST Client:FeignFeign是一种声明式的web service client。它让web service变得更容易。使用Feign你只需要创建一个接口并且写上...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)