这是我在dll里面写的函数,用来实现与web service接口对接,请问有问题嘛??,我单步到if语句后跳到else语句,可见与web service接口对接失败,但是没有出现任何出错信息提示你连接的问题。以下是我的代码,请高手们指教,感激不尽extern "C" _declspec(dllexport) char *SendParamter( char *orderNo,char *orderType,char *checkcode )
{
//实例化输入输出类
ns2__MBFRequestHeader header; //定义的header
ns3__ivrVerifyCheckcodeRequestBody body; //定义的body
ns3__ivrVerifyCheckcodeRequest request; //输入的参数
_ns3__ivrVerifyCheckcode soapinput; //soap输入的参数 ns3__ivrVerifyCheckcodeResponse response; //定义输出
_ns3__ivrVerifyCheckcodeResponse soapout; //soap输出
//初始化soap
struct soap soap;
soap_init ( &soap ); const char* server = "http://192.168.100.53:9106/SuNingServiceWeb/mb";//定义服务器的URL //给输入变量赋值
header.MBServiceCode = "MBF_CRM_VERIFYCHECKCODE";//header body.orderNo = orderNo;//body
body.orderType = orderType;
body.checkcode = checkcode; request.MbfHeader = &header;//输入参数
request.MbfBody = &body; soapinput.input1 = &request;//soap输入参数
char *flag = "";//保存soap输出参数 //调用Webservice
if(soap_call___ns1__ivrVerifyCheckcode(&soap, server,NULL,&soapinput, &soapout) == 0) {
response = *soapout.output1;
*flag = *response.flag;
return flag;
}
else // an error occurred
{
soap_print_fault(&soap, stderr); // display the SOAP fault message on the stderr stream 可是到这里并没有显示出出错信息
exit(1);
} //收尾
soap_destroy(&soap); // delete deserialized class instances
soap_end(&soap); // remove deserialized data and clean up
soap_done(&soap); // detach the gSOAP environment
return 0;}
调用dll,里面是这样写的
int main()
{
char *rtn = SendParamter("001","A","123");
printf("%s\n",*rtn);
return 0;
}
{
//实例化输入输出类
ns2__MBFRequestHeader header; //定义的header
ns3__ivrVerifyCheckcodeRequestBody body; //定义的body
ns3__ivrVerifyCheckcodeRequest request; //输入的参数
_ns3__ivrVerifyCheckcode soapinput; //soap输入的参数 ns3__ivrVerifyCheckcodeResponse response; //定义输出
_ns3__ivrVerifyCheckcodeResponse soapout; //soap输出
//初始化soap
struct soap soap;
soap_init ( &soap ); const char* server = "http://192.168.100.53:9106/SuNingServiceWeb/mb";//定义服务器的URL //给输入变量赋值
header.MBServiceCode = "MBF_CRM_VERIFYCHECKCODE";//header body.orderNo = orderNo;//body
body.orderType = orderType;
body.checkcode = checkcode; request.MbfHeader = &header;//输入参数
request.MbfBody = &body; soapinput.input1 = &request;//soap输入参数
char *flag = "";//保存soap输出参数 //调用Webservice
if(soap_call___ns1__ivrVerifyCheckcode(&soap, server,NULL,&soapinput, &soapout) == 0) {
response = *soapout.output1;
*flag = *response.flag;
return flag;
}
else // an error occurred
{
soap_print_fault(&soap, stderr); // display the SOAP fault message on the stderr stream 可是到这里并没有显示出出错信息
exit(1);
} //收尾
soap_destroy(&soap); // delete deserialized class instances
soap_end(&soap); // remove deserialized data and clean up
soap_done(&soap); // detach the gSOAP environment
return 0;}
调用dll,里面是这样写的
int main()
{
char *rtn = SendParamter("001","A","123");
printf("%s\n",*rtn);
return 0;
}
解决方案 »
- 请问下VC如何关闭已经弹出的messagebox消息框
- VC中如何在add member variable 中在variable type中加入用户自己定义的类
- VC中Post表单的问题?
- [zt]真正的编程高手
- 如何让非模式对话框随鼠标拖动改变大小?
- socket编程!!!
- 用Visual Studio Installer做安装程序能否直接编辑对话框的文字??它做的msi程序跟exe有什麽区别?
- 着急!用ExtFloodFill的时候,怎么才能得到被Fill的区域.
- 怎么得到通过代理连接的用户的实际IP或网卡地址??
- 求教:用vc做双机热备份数据相关资料
- 急!VS2005 打开VC6.0 工程编译时最后一种转换错误和警告!
- CString的'+' 运算报错
--------------完美的签名线-----------------
游戏开发第一站 http://dev.web863.com
char *rtn = SendParamter("001","A","123");