VC6 访问WebService的错误
源代码如下
string _wsURL = "http://127.0.0.1/WebServiceCom/Service1.asmx";
string _wsNameSapce = "http://127.0.0.1/WebServiceCom/";
string _wsMethodName = "Hello";
try
{
HRESULT hr = CoInitialize(NULL);//初始化com环境
if(FAILED(hr))
{
//出错了
}
ISoapSerializerPtr Serializer;
ISoapReaderPtr Reader;
ISoapConnectorPtr Connector;
//连接到WebService
hr = Connector.CreateInstance(__uuidof(HttpConnector30));
if(FAILED(hr))
{
//创建com对象出错,一般是因为没有安装com
}
Connector->Property["EndPointURL"] = _wsURL.c_str();
Connector->Connect();
Connector->Property["SoapAction"] = ( _wsNameSapce + _wsMethodName).c_str(); //
//开始创建webservice的请求Soap包
Connector->BeginMessage();
hr = Serializer.CreateInstance(__uuidof(SoapSerializer30));
if(FAILED(hr))
{
//创建com对象出错,一般是因为没有安装com
}
Serializer->Init(_variant_t((IUnknown*)Connector->InputStream));
Serializer->StartEnvelope("SOAP", "http://schemas.xmlsoap.org/soap/envelope/", "");
Serializer->SoapAttribute("xsi", "", "http://www.w3.org/2001/XMLSchema-instance", "xmlns");
Serializer->SoapAttribute("xsd", "", "http://www.w3.org/2001/XMLSchema", "xmlns");
Serializer->StartBody(L"NONE");
Serializer->StartElement(_wsMethodName.c_str(), _wsNameSapce.c_str(), "NONE", "");
Serializer->StartElement(L"strName", "", "NONE", "");
Serializer->SoapAttribute("xsi:type", "", "xsd:string", "");
Serializer->WriteString(strName.c_str());
Serializer->EndElement();
/*
Serializer->StartElement(L"strName2", "", "NONE", "");
Serializer->SoapAttribute("xsi:type", "", "xsd:string", "");
Serializer->WriteString(strName2.c_str());
Serializer->EndElement();
*/
Serializer->EndElement();
Serializer->EndBody();
Serializer->EndEnvelope();
//就这句会报错!
Connector->EndMessage();
//解析返回的soap包
hr = Reader.CreateInstance(__uuidof(SoapReader30));
if(FAILED(hr))
{
//创建com对象出错,一般是因为没有安装com
}
Reader->Load(_variant_t((IUnknown*)Connector->OutputStream), "");
string strResult((const char*)Reader->RpcResult->text);
return strResult;
}
catch(...)
{
sss = GetLastError();
//got a exception
}
CoUninitialize();
return "error";
---------------------------------------
webService开在本机,工作正常,但是调用webService的接口Hello时,在Connector->EndMessage();出现异常。
请问是什么原因,怎么解决?
相关推荐
基于JAVA+SpringBoot+Vue+MySQL的新能源充电系统源码+数据库+论文(高分毕设项目).zip
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql5.7以上 部署环境:maven 数据库工具:navicat
基于java+springboot+vue+mysql的新能源充电系统 源码+数据库+论文(高分毕设项目).zip
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql5.7以上 部署环境:maven 数据库工具:navicat
java开发基于SpringBoot+Vue的车辆充电桩管理系统源码+数据库.zip
基于SpringBoot+Vue的车辆充电桩管理系统源码+数据库.zip 高分通过项目,已获导师指导。 本项目是一套基于Springboot的车辆充电桩管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。也可作为课程设计、期末大作业 包含:项目源码、数据库脚本、开发说明文档、LW、答辩PPT、演示视频等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 根据车辆充电桩管理系统的功能需求,进行系统设计。 前台功能:用户进入系统可以实现首页、充电桩、充电常识、个人中心、后台管理等功能进行操作; 后台由管理员和维修员,主要功能包括首页、个人中心、维修员管理、用户管理、电桩类别管理、充电桩管理、充电桩报修管理、维修回复管理、系统管理等功能; 项目可正常启动,以下为开发所需环境: 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9
基于java+springboot+vue+mysql的车辆充电桩 源码+数据库+论文(高分毕设项目).zip
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql5.7以上 部署环境:maven 数据库工具:navicat
新能源充电系统 源码+数据库+论文(JAVA+SpringBoot+Vue.JS+MySQL).zip
新能源充电系统 源码+数据库+论文(JAVA+SpringBoot+Vue.JS+MySQL) 启动教程:https://www.bilibili.com/video/BV11ktveuE2d


