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 :
<script type=text/javascript> function ToggleSourceCodeRegion(regionNumber) { var divRegion = document.getElementById('region' + regionNumber); var divRegionBlock = document.getElementById('regionBlock' + regionNumber); if (divRegion.style.display == 'inline') { divRegion.style.display = 'none'; divRegionBlock.style.display = 'inline'; } else { divRegion.style.display = 'inline'; divRegionBlock.style.display = 'none'; } } </script>
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}