使用vc访问基于soap的webservice有多种方法,其中有一种是使用atlsoap,关于这个可以搜索sproxy.exe文章,不在这介绍(主要是我的写作能力太差)。我写这个日记主要是项记录访问webservice时的认证问题,webservice有多个接口,需要登录后才能访问,最简单的办法是cookie机制。
1、webservice代码片段,代码没啥意义,主要是记录如何实现

namespace SmileBus
{
/// <summary>
/// BusService 的摘要说明
/// </summary>
[WebService(Namespace = "http://www.helloworld.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class BusService : System.Web.Services.WebService
{
[WebMethod(EnableSession = true)]//这个地方需要手动添加支持session
public string HelloWorld(string UserID)
{ if (HttpContext.Current.Session["login"] != null)
{
return HttpContext.Current.Session["login"].ToString() + "ok";
}
else
return "no login";
}
[WebMethod(EnableSession = true)]
public string Login(string strU,string strP)
{
if (strU == "admin" && strP == "admin")
{
HttpContext.Current.Session["login"] = "ok";
return "ok";
}
else
return "登录失败,用户名或密码错误!";
}
}
}

2、使用sproxy.exe生成代理 
sproxy.exe /wsdl http://127.0.0.1/demo.asmx?wsdl
3、C++中使用

 //让程序支持cookie的重点就是这个地方使用CSoapWininetClient,不能用CSoapSocketClientT,CSoapSocketClientT不支持携带cookie
BusService::CBusServiceT<CSoapWininetClient> * m_srv = new BusService::CBusServiceT<CSoapWininetClient>;
CComBSTR str;
m_srv->Login(L"admin", L"admin",&str );
m_srv->HelloWorld(&str);

使用sproxy.exe访问基于soap的webservice的更多相关文章

  1. python发布及调用基于SOAP的webservice

    现如今面向服务(SOA)的架构设计已经成为主流,把公用的服务打包成一个个webservice供各方调用是一种非常常用的做法,而应用最广泛的则是基于SOAP协议和wsdl的webservice.本文讲解 ...

  2. PHP基于SOAP实现webservice

    简单对象访问协议(SOAP)是一种轻量的.简单的.基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息. SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( H ...

  3. 【转】基于CXF Java 搭建Web Service (Restful Web Service与基于SOAP的Web Service混合方案)

    转载:http://www.cnblogs.com/windwithlife/archive/2013/03/03/2942157.html 一,选择一个合适的,Web开发环境: 我选择的是Eclip ...

  4. 第二篇:利用shell脚本执行webservice请求——基于soap

    1. 项目背景 以往我们在开发基于webservice的项目中,我们总习惯于直接使用webservice的一些框架,如Axis,axis2和Xfire等.框架的好处是将webservice所涉及到的s ...

  5. 使用CXF实现基于Soap协议的WebService

    本文介绍使用CXF实现基于Soap协议的WebService(CXF的版本是3.0.0) 一. 前言 Java有三种WebService规范:Jax-WS,Jax-RS,Jaxm 1. Jax-WS( ...

  6. 基于.NET的WebService的实现和WCF的实现

    1.新建一个MVC web项目. 2.点击项目,[右键]→[添加]→[新建项] 3.点击[Web]→[Web服务] 4.恭喜,Web Service已经新建成功,里面的方法就可以参考着根据自己的需要进 ...

  7. 基于Jws的WebService项目

    基于Jws的WebService项目   1.服务器端建立 1.1.创建接口 [java] view plaincopy @WebService  public interface IWebServi ...

  8. 基于SOAP的xml网络交互心得

    感谢小二同学将遇到的问题分享给我们,再此给以掌声.如果看不懂下面文章的建议查找一下HTTP协议的文艺,对HTTP协议要有个概念. XML网络交互心得 目录 一.     xml解析 1.根路径下 2. ...

  9. 【转】构建基于CXF的WebService服务

    构建基于CXF的WebService服务 Apache CXF = Celtix+ XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.C ...

随机推荐

  1. 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介

    笔记 ============================================= SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1.微服务架构SpringClou ...

  2. 五十八:Flask.Cookie之flask设置和删除cookie

    1.设置cookie:在flask.Response对象上,使用set_cookie('cookie名', 'cookie值')设置cookie set_cookie源码 key:cookie名val ...

  3. Web jsp开发学习——dbcp jsp连接MySQL出现中文乱码解决

    开发过程中,通过dbcp.properties连接MySQL数据库,向数据库中插入中文字符时,出现乱码情况. 通过查阅资料,发现出现乱码的原因:MySQL数据库使用的是UTF-8编码,而dbcp.pr ...

  4. linux网络管理命令"ip"用法

    Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.  ip help命令: 显示ip相关命令的帮助: # i ...

  5. springboot子模块 @Autowired无法找到其他模块的接口和类的解决方法

    在main的启动类上添加 @SpringBootApplication(scanBasePackages = {"com.shangsheng"})或者@ComponentScan ...

  6. win2008系统:iis配置备份和还原简单操作

    (2013-09-26 16:33:22) 转载▼   分类: 开发类 当我们电脑系统有大量的站点和虚拟目录的时候,电脑因为种种原因需要重做系统,那么重装系统后这些站点我们是否只能一个一个的添加,如果 ...

  7. Jmeter使用CSV Data参数化,中文参数传递过程出现乱码问题

    解决方式:文件编码改为GB2312.GBK.GB18030(utf-8同样会乱码)

  8. PHP-T

    TP5目录结构 ├─application 应用目录 ├─extend 扩展类库目录(可定义) ├─public 网站对外访问目录 ├─runtime 运行时目录(可定义) ├─vendor 第三方类 ...

  9. 网站性能优化(website performance optimization)

    提高代码运行速度,或许我们从来没有优化这些页面来提高速度 想要开发优秀的网站,你必须了解你的用户,知道他们想要达到什么目的,同时还要明白浏览器的工作原理,从而能够打造快速良好的体验,我最近在PageS ...

  10. WTForms常用的验证器

    from wtforms import Form,StringField,IntegerField from wtforms import validators from wtforms.valida ...