#include <wchar.h>
#import "XYSoapClient.dll"
using namespace XYSOAPCLIENTLib;
void main(int argc, char* argv[])
{
if(argc<3||argc>8)
{
wprintf(L"Invalid number of arguments\r\n");
wprintf(L"Usage:\r\n\tXYSoapClientApp.exe ServiceURL MethodName [Input1 [Input2 [Input3 [Input4 [Input5]]]]]");
return;
}
// initialize com
::CoInitialize(NULL);
// declare smart pointer for the XYSoapClient type
IXYSoapClientPtr pSoapClient;
// create an XYSoapClient object
pSoapClient.CreateInstance(__uuidof(XYSoapClient));
try
{
// uncomment the following line if you want to use soap toolkit 2.0
// pSoapClient->SetSoapToolkitVersion(_bstr_t(L"2.0"));
// the url for the WSDL file for the service
_bstr_t sWSDL = argv[1];
// the empty string
_bstr_t sEmpty = L"";
// call InitService
if(pSoapClient->InitService(sWSDL, sEmpty, sEmpty, sEmpty))
{
// the name of the method to be invoked
_bstr_t sMethodName = argv[2];
// the input strings of the method
_variant_t sInput1, sInput2, sInput3, sInput4, sInput5;
// return string
_variant_t sRet;
// invoke the method
switch(argc)
{
case 3:
// no argument
sRet = pSoapClient->InvokeMethod(sMethodName);
break;
case 4:
// one argument
sInput1 = argv[3];
sRet = pSoapClient->InvokeMethod(sMethodName, sInput1);
break;
case 5:
// two argument
sInput1 = argv[3];
sInput2 = argv[4];
sRet = pSoapClient->InvokeMethod(sMethodName, sInput1, sInput2);
break;
case 6:
// three argument
sInput1 = argv[3];
sInput2 = argv[4];
sInput3 = argv[5];
sRet = pSoapClient->InvokeMethod(sMethodName, sInput1, sInput2, sInput3);
break;
case 7:
// four argument
sInput1 = argv[3];
sInput2 = argv[4];
sInput3 = argv[5];
sInput4 = argv[6];
sRet = pSoapClient->InvokeMethod(sMethodName, sInput1, sInput2, sInput3, sInput4);
break;
case 8:
// five argument
sInput1 = argv[3];
sInput2 = argv[4];
sInput3 = argv[5];
sInput4 = argv[6];
sInput5 = argv[7];
sRet = pSoapClient->InvokeMethod(sMethodName, sInput1, sInput2, sInput3, sInput4, sInput5);
break;
default:
// impossible
break;
}
// print the output string
wprintf(L"Output:\r\n\t%s", (const wchar_t*)((_bstr_t)sRet));
}
// add code to call another web service
// ...
}
catch(...)
{
// unexpected soap error
wprintf(L"Soap error:\r\n\t%s", (const wchar_t*)pSoapClient->GetLastError());
}
// clean up the XYSoapClient object
pSoapClient.Release();
// uninitialize com
::CoUninitialize();
}
没有合适的资源?快使用搜索试试~ 我知道了~
Invoking web methods from a C++ console application
共6个文件
cpp:1个
zip:1个
dsp:1个
需积分: 0 7 下载量 48 浏览量
2008-11-06
17:54:34
上传
评论
收藏 82KB ZIP 举报
温馨提示
Invoking web methods from a C++ console application。
资源详情
资源评论
资源推荐
收起资源包目录
Invoking web methods from a C++ console application.zip (6个子文件)
XYSoapClientApp.dsw 553B
TestApp.cpp 3KB
XYSoapClientApp.dsp 4KB
XYSoapClientApp.exe 60KB
XYSoapClient.dll 104KB
XYSoapClient.zip 16KB
共 6 条
- 1
领君2018
- 粉丝: 204
- 资源: 1527
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0