VS 2008 mfc 智能应用程序 调用 C# webservice.(二)(gsoap+wince)
2012-05-13 16:51
453 查看
在桌面窗体应用程序 ,服务调用成功 ,上传文件成功了,本以为WM中也是一样啊 依葫芦画瓢,靠,没想到啊。。。。。。。。。。。。
项目->属性->常规->公共语言库支持,靠 没有这一选项。。。难道不能调用服务了在MFC native c++ 中?怎么办 怎么办 怎么 办 ?慌了
网上看了 用gsoap gsoap?什么东西啊 ,没见过,又折腾了好久
1 Gsoap 使用
下载gsoap (gsoap-2.8)(版本 for CE DVICE改进版)址(:http://sourceforge.net/projects/gsoap2/)
解压(E:\Development\cpp\gsoap-2.8)
打开“命令提示符”(开始-附件)(又没用过的东东......)
3.1 定位到目录(E:\Development\cpp\gsoap-2.8\gsoap\bin\win32)(命令 e: 回车;cd E:\Development\cpp\gsoap-2.8\gsoap\bin\win32)
4. 命令: wsdl2h -s -0 testhello.h htttp://192.169.0.110/MobileService/Service.asmx?wsdl
在win32 文件夹下 生成testhello.h
5.命令 : soapcpp2.exe -C testhello.h
生成一大推文件,其中有用的文件 (soapH.h ; soapStub.h ; soapC.cpp ; soapClient.cpp ;ServiceSoap.namap; stdsoap2.h;stdsoap2.cpp);其中 stdsoap2.h;stdsoap2.cpp 在gsoap 文件夹下
6. 将上面文件复制到 MW 工程目录下
ok 回到WM 工程中
#include "soapH.h"
#include "ServiceSoap.nsmap"
输出 hellowordyandy
如果要上传文件 必须 对 xsd__base64Binary 进行初始化,把读取文件的char[] 传递给 xsd__base64Binary
终于告一段落,你妈 伤不起。。。。。。。不知道 在真机上用GPRS 还是不是有啥问题
项目->属性->常规->公共语言库支持,靠 没有这一选项。。。难道不能调用服务了在MFC native c++ 中?怎么办 怎么办 怎么 办 ?慌了
网上看了 用gsoap gsoap?什么东西啊 ,没见过,又折腾了好久
1 Gsoap 使用
下载gsoap (gsoap-2.8)(版本 for CE DVICE改进版)址(:http://sourceforge.net/projects/gsoap2/)
解压(E:\Development\cpp\gsoap-2.8)
打开“命令提示符”(开始-附件)(又没用过的东东......)
3.1 定位到目录(E:\Development\cpp\gsoap-2.8\gsoap\bin\win32)(命令 e: 回车;cd E:\Development\cpp\gsoap-2.8\gsoap\bin\win32)
4. 命令: wsdl2h -s -0 testhello.h htttp://192.169.0.110/MobileService/Service.asmx?wsdl
在win32 文件夹下 生成testhello.h
5.命令 : soapcpp2.exe -C testhello.h
生成一大推文件,其中有用的文件 (soapH.h ; soapStub.h ; soapC.cpp ; soapClient.cpp ;ServiceSoap.namap; stdsoap2.h;stdsoap2.cpp);其中 stdsoap2.h;stdsoap2.cpp 在gsoap 文件夹下
6. 将上面文件复制到 MW 工程目录下
ok 回到WM 工程中
#include "soapH.h"
#include "ServiceSoap.nsmap"
struct soap clientSOAP; struct _ns1__sayHello sayHelloMsg; struct _ns1__sayHelloResponse sayHelloResponse; soap_init(&clientSOAP); CString tmp1=_T("yandy"); DWORD dwNum ; dwNum= WideCharToMultiByte(CP_OEMCP, NULL, tmp1.GetBuffer(0), -1, NULL, 0, NULL, FALSE); char *psText; psText = new char[dwNum]; if (!psText) delete []psText; WideCharToMultiByte(CP_OEMCP, NULL, tmp1.GetBuffer(0), -1, psText, dwNum, NULL, FALSE); sayHelloMsg.name = psText; if(soap_call___ns2__sayHello(&clientSOAP, NULL, NULL, &sayHelloMsg, &sayHelloResponse) == SOAP_OK) { //printf("%s\n", *sayHelloResponse.return_); // cout<<*(sayHelloResponse.return_)<<endl; char *result; result=new char[100]; result= sayHelloResponse.sayHelloResult; TCHAR Name[100]; MultiByteToWideChar(CP_ACP, 0, result, -1, Name, 100); TRACE(_T("good!")); TRACE(Name); TRACE(_T("good!")); } else { TRACE(_T("Error\n")); } delete sayHelloMsg.name; soap_destroy(&clientSOAP); soap_end(&clientSOAP); soap_done(&clientSOAP);
输出 hellowordyandy
如果要上传文件 必须 对 xsd__base64Binary 进行初始化,把读取文件的char[] 传递给 xsd__base64Binary
struct soap clientSOAP; struct xsd__base64Binary ret; soap_init(&clientSOAP); // soap_malloc(clientSOAP,flen+10); ret.__ptr=(unsigned char *)soap_malloc(&clientSOAP,flen); ret.__size=flen; memset(ret.__ptr,0,flen); memcpy(ret.__ptr,p,flen); struct _ns1__uplowadfile uplowadfile; struct _ns1__uplowadfileResponse uplowadfileResponse;
终于告一段落,你妈 伤不起。。。。。。。不知道 在真机上用GPRS 还是不是有啥问题
相关文章推荐
- VS 2008 mfc 智能应用程序 调用 C# webservice.(一)
- 16、2015.08.03第十七节课 C#1(.net和C#的关系、VS与.net的对应关系、VS2012常用的几种应用程序、C#定义一个类的方法、类页面内容的解释、定义Person的类、调用Person类的方法、命名规范、数值类型)
- C++使用gSoap调用C#写的webservice中文乱码问题
- 智能设备 C#调用MFC DLL 传参值为汉字的解决方案 CString转存 unsigned char数组
- [gSOAP]MFC调用WEBService 中文乱码
- C#应用程序调用MFC扩展动态库
- VC 2010 使用GSOAP调用C#写的WEBSERVICE
- C# 创建、部署和调用WebService的简单示例 webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互。 概念性的东西就不说太多,下面开始创建一个简单的webservi
- c#调用wince控制面板应用程序
- C#调用WebService实例和开发 VS2013
- VC2010使用GSOAP调用C#写的WEBSERVICE
- C# Winform应用程序调用Microsoft RDP client control实现远程连接(VS2013)
- c++ .net winform 应用程序调用dll(gSOAP调用WebService)获取天气
- Windows程序(C# VS 2008)杂记之智能设备项目打包CAB
- VS 2008 学习笔记(2) --- MFC 应用程序的运行机制
- VS 2005中使用C#创建及调用WebService完整实例
- VS 2008 实现在C#中调用C++编写的 coin 3d 三位显示部分
- gsoap调用C#开发的WebService
- [gSOAP]MFC调用WEBService
- Windows程序(C# VS 2008)杂记之智能设备项目打包CAB