VC++MFC下实现SOAP服务端和SOAP客户端
2012-05-15 08:11
281 查看
VC++MFC下实现SOAP服务端和SOAP客户端
作者:flyfish 2012-5-14
在《C++
开发SOAP服务端和SOAP客户端》已经在win32控制台实现了,现在在MFC框架下实现SOAP服务端和SOAP客户端
新建一个基于对话框的工程名字是MFCSOAPClient
新建工程的时候不需要添加socket支持
因为在stdsoap2.文件中已经增加了支持
将利用soapcpp2.exe
生成的
calc.nsmap
soapC.cpp
soapcalcProxy.cpp
soapcalcProxy.h
socpClient.cpp
soapH.h
soapStub.h
stdsoap2.h
stdsoap2.cpp
添加到工程中直接编译
soapc.cpp(2796) : fatal error C1010:unexpected end of file while
多个文件出现这样的提示
缺少预编译头文件解决方法是在出错的文件的开头增加 #include "stdafx.h"
再次编译出现如下错误
stdsoap2.obj : error LNK2001: unresolvedexternal symbol _namespaces
Debug/MFCSOAPClient.exe : fatal errorLNK1120: 1 unresolved externals
stdsoap2.cpp
文件中除了添加 #include "stdafx.h"外,还需要增加#include"calc.nsmap"
编译通过
在文件MFCSOAPClientDlg.cpp中增加
#include
"soapcalcProxy.h"
在主窗口界面中增加一个按钮,该按钮点击事件如下
UpdateData(TRUE);
calcProxy calc;
const char server[] =
"http://localhost:8080";
calc.soap_endpoint =server;
calc.add(m_Edit_d1,m_Edit_d2, &m_Edit_dResult);
UpdateData(FALSE);
if (calc.error)
{
AfxMessageBox(_T("出现错误"));
}
这里只做了加法的demo。
在两个编辑框中输入两个数,服务端计算完结果将显示在另外的编辑框中
服务端部分
新建一个基于对话框的工程,名字是MFCSOAPServer
将利用soapcpp2.exe
生成的
soapC.cpp
soapcalcService.h
soapcalcService.cpp
soapH.h
soapStub.h
calc.nsmap
stdsoap2.h
stdsoap2.cpp
添加到工程
代码更改除了类似客户端外,还需要将加减乘除的实现代码添加到soapcalcService.cpp中,之所以添加到soapcalcService.cpp文件中时因为声明都在soapcalcServic.h文件中
MFCSOAPServerDlg.cpp文件中增加
#include
"soapcalcService.h"
在窗口初始化中增加
calcService calc;
/*run iterative server on port until fatal error */
if(calc.run(8080))
{
calc.soap_stream_fault(std::cerr);
}
源码下载地址 http://download.csdn.net/detail/flyfish1986/4300769
以上代码在winxp+vc6 mfc下编译通过
作者:flyfish 2012-5-14
在《C++
开发SOAP服务端和SOAP客户端》已经在win32控制台实现了,现在在MFC框架下实现SOAP服务端和SOAP客户端
新建一个基于对话框的工程名字是MFCSOAPClient
新建工程的时候不需要添加socket支持
因为在stdsoap2.文件中已经增加了支持
将利用soapcpp2.exe
生成的
calc.nsmap
soapC.cpp
soapcalcProxy.cpp
soapcalcProxy.h
socpClient.cpp
soapH.h
soapStub.h
stdsoap2.h
stdsoap2.cpp
添加到工程中直接编译
soapc.cpp(2796) : fatal error C1010:unexpected end of file while
多个文件出现这样的提示
缺少预编译头文件解决方法是在出错的文件的开头增加 #include "stdafx.h"
再次编译出现如下错误
stdsoap2.obj : error LNK2001: unresolvedexternal symbol _namespaces
Debug/MFCSOAPClient.exe : fatal errorLNK1120: 1 unresolved externals
stdsoap2.cpp
文件中除了添加 #include "stdafx.h"外,还需要增加#include"calc.nsmap"
编译通过
在文件MFCSOAPClientDlg.cpp中增加
#include
"soapcalcProxy.h"
在主窗口界面中增加一个按钮,该按钮点击事件如下
UpdateData(TRUE);
calcProxy calc;
const char server[] =
"http://localhost:8080";
calc.soap_endpoint =server;
calc.add(m_Edit_d1,m_Edit_d2, &m_Edit_dResult);
UpdateData(FALSE);
if (calc.error)
{
AfxMessageBox(_T("出现错误"));
}
这里只做了加法的demo。
在两个编辑框中输入两个数,服务端计算完结果将显示在另外的编辑框中
服务端部分
新建一个基于对话框的工程,名字是MFCSOAPServer
将利用soapcpp2.exe
生成的
soapC.cpp
soapcalcService.h
soapcalcService.cpp
soapH.h
soapStub.h
calc.nsmap
stdsoap2.h
stdsoap2.cpp
添加到工程
代码更改除了类似客户端外,还需要将加减乘除的实现代码添加到soapcalcService.cpp中,之所以添加到soapcalcService.cpp文件中时因为声明都在soapcalcServic.h文件中
MFCSOAPServerDlg.cpp文件中增加
#include
"soapcalcService.h"
在窗口初始化中增加
calcService calc;
/*run iterative server on port until fatal error */
if(calc.run(8080))
{
calc.soap_stream_fault(std::cerr);
}
源码下载地址 http://download.csdn.net/detail/flyfish1986/4300769
以上代码在winxp+vc6 mfc下编译通过
相关文章推荐
- VC++MFC下实现SOAP服务端和SOAP客户端
- flex客户端+vc服务端,实现配置文件修改
- vc++实现的tcp socket客户端和服务端示例
- VC实现服务端和多客户端同步、超时处理实例
- 使用VC++实现 客户端和服务端通信 获取本机IP地址
- VC++ 实现soap服务端
- vc++/mfc socket网络通信多客户端和服务端安全问题,服务端只处理授权客户端
- HESSIAN 的VC++ 客户端与JAVA服务端通信 实现
- [VC/MFC ] VC++实现拨号上网程序详解
- CXF和Spring整合实现WebService服务端、客户端
- php SOAP客户端访问 JAVA soap服务端示例
- Java简单实现TCP服务端和客户端通信
- Java中使用socket实现客户端与服务端交互
- C++实现网络编程 服务端与客户端原代码
- MFC/VC中怎样实现slider滑块控件鼠标点击那里,就刚好落到点击位置
- 使用cxf实现webservice的客户端推送数据到服务端并返回状态给客户端
- [VC/MFC]使用CTabCtrl控件实现属性页功能
- python3中实现客户端与服务端交互发送文件
- 脚本实现从客户端服务端HTTP请求快速分析
- java实现服务端开启多线程处理客户端的上传图片请求