使用 VC++访问webservice
2015-09-21 09:28
555 查看
使用 VC++访问webservice 备注日志
NUSOAP 文件编码保存为UTF-8 默认编码改为UTF-8
webserver返回中文时,要使用PHP函数iconv("GBK",“UTF-8”)进行转码;
VC++返回的是UTF-8字符串,要在程序中显示时,要进行转换成ansi或者unicode!
UTF-8编码是用于传输的编码,在本地程序中要进行转换编码。
NUSOAP 文件编码保存为UTF-8 默认编码改为UTF-8
webserver返回中文时,要使用PHP函数iconv("GBK",“UTF-8”)进行转码;
VC++返回的是UTF-8字符串,要在程序中显示时,要进行转换成ansi或者unicode!
UTF-8编码是用于传输的编码,在本地程序中要进行转换编码。
//访问WEBSERVICES //------------------------------------------------------------------------- HRESULT hr = S_OK; CupdateserverT<CSoapSocketClientT<>> * m_srv = new CupdateserverT<CSoapSocketClientT<>>; CComBSTR cityCode = "管理员"; CComBSTR userId = "2002"; String strcode = AppCode ; wstring wcode= strcode.toStringW(); wstring wversion = String(AppVersion).toStringW(); CComBSTR indata = wcode.c_str(); BSTR bstrOutVersion; BSTR bstrOutFolder; bool bResult = false; hr = m_srv->getVersion(indata,&bstrOutVersion); //获取版本号,判断是否一致 if(SUCCEEDED(hr)) { wstring strServer = (LPCWSTR)bstrOutVersion; ServerVersion = unicode2ansi((LPCWSTR)bstrOutVersion) ; if(wversion == strServer) { bResult = false; goto exit_handle; } else { bResult = true; } } //获取更新目录 hr = m_srv->getDirectory(indata,&bstrOutFolder); if(FAILED(hr)) { FtpFolder = ""; bResult = false; } else { wstring wstrFolder = (LPWSTR)bstrOutFolder; DWORD len = WideCharToMultiByte(CP_ACP,0,(LPCWSTR)bstrOutFolder,-1,NULL,0,NULL,NULL); char* ansiString = new char[len]; WideCharToMultiByte(CP_ACP,0,(LPCWSTR)bstrOutFolder,-1,ansiString,len,NULL,NULL); FtpFolder = ansiString ; delete ansiString; bResult = true; } exit_handle: if (m_srv != NULL) delete m_srv; return bResult;
相关文章推荐
- 在C++遇到有些关键字或者函数被弃用的情况
- C语言enum枚举类型详解
- C++中变量的类型
- 黑马程序员----C语言学习笔记之运算符2
- 在C++中如何做出进度条
- C++类的const, static 和inline成员函数(变量)
- 排序算法总结(C++版)
- 排序算法-合并排序(C语言实现)
- c++ 类与对象的内存
- Source Insight 无法识别C语言源文件
- Python游戏服务器开发日记(七) 关于协程(greenlet)和C语言的思考
- C++ 面向对象基础知识点
- C语言getopt()函数的使用
- Effective C++ —— 杂项讨论(九)
- 顺序表的c++实现,该模板类实现了插入,删除,清空,[]的重载等方法
- C++--内建类型所占的字节数与内建类型转换
- C++ CScopeGuard
- MinGW环境变量设置、CodeBlock添加额外的库
- 从c到c++<一>
- 项目23.2乱玩数字