• 大小: 160KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: C/C++
  • 标签: c++  webservice  

资源简介

VS2013、C++语言、SOAP实现调用webservice接口,接口包括上传文件、日志、获取消息等等。全部源码+DEMO示例

资源截图

代码片段和文件信息

#include “base64.h“

string Zbase64::Encode(const unsigned char* Data int DataByte)
{
//编码表
const char EncodeTable[] = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“;
//返回值
string strEncode;
unsigned char Tmp[4] = { 0 };
int LineLength = 0;
for (int i = 0; i < (int)(DataByte / 3); i++)
{
Tmp[1] = *Data++;
Tmp[2] = *Data++;
Tmp[3] = *Data++;
strEncode += EncodeTable[Tmp[1] >> 2];
strEncode += EncodeTable[((Tmp[1] << 4) | (Tmp[2] >> 4)) & 0x3F];
strEncode += EncodeTable[((Tmp[2] << 2) | (Tmp[3] >> 6)) & 0x3F];
strEncode += EncodeTable[Tmp[3] & 0x3F];
if (LineLength += 4 LineLength == 76) { strEncode += “\r\n“; LineLength = 0; }
}
//对剩余数据进行编码
int Mod = DataByte % 3;
if (Mod == 1)
{
Tmp[1] = *Data++;
strEncode += EncodeTable[(Tmp[1] & 0xFC) >> 2];
strEncode += EncodeTable[((Tmp[1] & 0x03) << 4)];
strEncode += “==“;
}
else if (Mod == 2)
{
Tmp[1] = *Data++;
Tmp[2] = *Data++;
strEncode += EncodeTable[(Tmp[1] & 0xFC) >> 2];
strEncode += EncodeTable[((Tmp[1] & 0x03) << 4) | ((Tmp[2] & 0xF0) >> 4)];
strEncode += EncodeTable[((Tmp[2] & 0x0F) << 2)];
strEncode += “=“;
}

return strEncode;
}

string Zbase64::Decode(const char* Data int DataByte int& OutByte)
{
//解码表
const char DecodeTable[] =
{
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
62 // ‘+‘
0 0 0
63 // ‘/‘
52 53 54 55 56 57 58 59 60 61 // ‘0‘-‘9‘
0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16 17 18 19 20 21 22 23 24 25 // ‘A‘-‘Z‘
0 0 0 0 0 0
26 27 28 29 30 31 32 33 34 35 36 37 38
39 40 41 42 43 44 45 46 47 48 49 50 51 // ‘a‘-‘z‘
};
//返回值
string strDecode;
int nValue;
int i = 0;
while (i < DataByte)
{
if (*Data != ‘\r‘ && *Data != ‘\n‘)
{
nValue = DecodeTable[*Data++] << 18;
nValue += DecodeTable[*Data++] << 12;
strDecode += (nValue & 0x00FF0000) >> 16;
OutByte++;
if (*Data != ‘=‘)
{
nValue += DecodeTable[*Data++] << 6;
strDecode += (nValue & 0x0000FF00) >> 8;
OutByte++;
if (*Data != ‘=‘)
{
nValue += DecodeTable[*Data++];
strDecode += nValue & 0x000000FF;
OutByte++;
}
}
i += 4;
}
else// 回车换行跳过
{
Data++;
i++;
}
}
return strDecode;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2499  2017-09-22 12:00  remoteInterface\remoteInterface\base64.cpp

     文件        410  2017-09-22 12:00  remoteInterface\remoteInterface\base64.h

     文件       2486  2017-09-21 13:53  remoteInterface\remoteInterface\ReadMe.txt

     文件       1211  2017-09-21 13:53  remoteInterface\remoteInterface\remoteInterface.cpp

     文件         95  2017-09-21 13:53  remoteInterface\remoteInterface\remoteInterface.def

     文件        449  2017-09-21 13:53  remoteInterface\remoteInterface\remoteInterface.h

     文件       6250  2017-09-21 13:53  remoteInterface\remoteInterface\remoteInterface.rc

     文件       6047  2017-09-22 14:15  remoteInterface\remoteInterface\remoteInterface.vcxproj

     文件       4411  2017-09-22 15:36  remoteInterface\remoteInterface\remoteInterfaceExport.cpp

     文件        707  2017-09-22 15:22  remoteInterface\remoteInterface\remoteInterfaceExport.h

     文件        686  2017-09-21 13:53  remoteInterface\remoteInterface\res\remoteInterface.rc2

     文件        371  2017-09-21 13:53  remoteInterface\remoteInterface\Resource.h

     文件        667  2017-09-22 09:55  remoteInterface\remoteInterface\soap\RemoteFileServiceImplServiceSoapBinding.nsmap

     文件     136210  2017-09-22 09:55  remoteInterface\remoteInterface\soap\soapC.cpp

     文件      87207  2017-09-22 09:55  remoteInterface\remoteInterface\soap\soapH.h

     文件      12064  2017-09-22 14:54  remoteInterface\remoteInterface\soap\soapRemoteFileServiceImplServiceSoapBindingProxy.cpp

     文件       5875  2017-09-22 10:04  remoteInterface\remoteInterface\soap\soapRemoteFileServiceImplServiceSoapBindingProxy.h

     文件      36533  2017-09-22 09:55  remoteInterface\remoteInterface\soap\soapStub.h

     文件     598058  2017-09-17 14:58  remoteInterface\remoteInterface\soap\stdsoap2.cpp

     文件     150519  2017-09-17 14:58  remoteInterface\remoteInterface\soap\stdsoap2.h

     文件        146  2017-09-21 15:16  remoteInterface\remoteInterface\stdafx.cpp

     文件       1131  2017-09-21 13:53  remoteInterface\remoteInterface\stdafx.h

     文件        236  2017-09-21 13:53  remoteInterface\remoteInterface\targetver.h

     文件       1642  2017-09-22 15:02  remoteInterface\remoteInterface.sln

    ..A..H.     45056  2017-09-22 15:40  remoteInterface\remoteInterface.v12.suo

     文件       1594  2017-09-21 13:54  remoteInterface\remoteInterfaceTest\ReadMe.txt

     文件        981  2017-09-22 16:03  remoteInterface\remoteInterfaceTest\remoteInterfaceTest.cpp

     文件       4961  2017-09-22 14:15  remoteInterface\remoteInterfaceTest\remoteInterfaceTest.vcxproj

     文件       1326  2017-09-21 13:54  remoteInterface\remoteInterfaceTest\remoteInterfaceTest.vcxproj.filters

     文件        225  2017-09-21 13:54  remoteInterface\remoteInterfaceTest\stdafx.cpp

............此处省略10个文件信息

评论

共有 条评论