ASP.NET与SOAP协议使用记录
近期初次接手一个公司的管理系统开发任务,因为公司需要有Android,IOS客户端,又要求有PC端的网页客户端....对服务请求的要求自然也就落在了统一接口访问上了....
使用ASP.NET的WEB服务(ASMX)对外提供统一访问接口...所有客户端以post/get数据的方式和WEB服务交换数据,并且不用关心数据的处理,也不直接访问数据库,至于WEB服务,则以JSON数据格式返回服务应答信息....以下记录为学习/开发过程记录,见识肤浅,仅仅为了自己而记录,也给初入门的朋友们一个入手指导,不足之处,望能见谅,理论知识自行查找:
首先可以新建一个项目(Visual C#-->ASP.NET Web应用程序).或者新建一个网站(Visual C#-->ASP.NET 空网站):[下面以新建一个项目为例:项目名称soapTry]
在项目下添加一个Web服务(ASMX),命名为WebServiceTest
打开WebServiceTest.asmx文件:删除掉HelloWorld方法(不删除也可以),新建一个反转字符串的方法ReverseString(string message)和一个登陆验证演示的方法login(string i_tel,string i_psd):
源码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
namespace soapTry
{
/// <summary>
/// WebServiceTest的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class WebServiceTest: System.Web.Services.WebService
{
[WebMethod]
public string ReverseString(string message) //新建这个方法
{
char[] arr = message.ToCharArray();
Array.Reverse(arr);
message = new string(arr);
return message;
}
[WebMethod]
public string login(string i_tel,string i_psd)
{
string tel = i_tel.Trim().ToString();
string psd = i_psd.Trim().ToString();
if (tel.Equals("admin") & psd.Equals("asd"))
{
return "Success";
}
else
{
return "False";
}
}
}
}
接下来.我们先来看看Web服务的预览:
------------------------------------------------------------------------在浏览器中看到:---------------------------------------------------------------------------
----------------------------------------------------------------------------图片分隔线-----------------------------------------------------------------------------------
我们写的那两个方法,就是这里的两个接口:我们以点击login为例(login里设置了判断当admin/asd输入时返回success):
----------------------------------------------------------------------------图片分隔线-----------------------------------------------------------------------------------
----------------------------------------------------------------------------图片分隔线-----------------------------------------------------------------------------------
输入如上所示数据后,点击调用:
----------------------------------------------------------------------------图片分隔线-----------------------------------------------------------------------------------
----------------------------------------------------------------------------图片分隔线-----------------------------------------------------------------------------------
这样就完成了和Web服务的数据交换....
接下来就是怎么在客户端使用这些接口了:
-------------------------------------------------------在客户端(网页上也就是.aspx页面)访问服务的方式:-----------------------------------------------------------
添加新项-->Web窗体,新建一个Test.aspx页...向Test.aspx添加一个label:
在Test.aspx.cs文件里,添加如下代码:
在浏览器中查看Test.aspx:
这只是本机的服务访问方式....我们要在互联网环境下访问接口,比如说,我们想要访问天气的接口:
先看看天气预报接口的信息:访问网址:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx
要使用别人的接口,首先我们在自己的项目中引用这个服务:
接着:
选择高级选项....其它选项不要动,再选择"添加Web引用":
进入:
我们来看资源管理器里多了什么:
如果是在一开始新建的是网站,那么添加web服务引用后,这个文件夹的布局格式应该是这样的:
当然了,这种方式下,看起来更加明朗.....我们要使用的类便是划横线的WeatherWs....画圈的部分只是个命名空间....
在test.aspx.cs中.我们更改代码为:
预览:
WeatherWs下的接口方法很多.....不止这一个列出支持的中国省份这一个,...这里只是演示...以上...如此;
ASP.NET与SOAP协议使用记录的更多相关文章
- 在ASP.NET Web Application中通过SOAP协议调用Bing搜索服务
本文介绍了如何在ASP.NET Web Application中将Bing搜索作为Web Service来使用,并通过HTTP的SOAP协议在ASP.NET Web Application中调用Bin ...
- soap协议有get方式
今天去面试,被问到了这个问题.一时没想起来.考官的说法是没有 get,使用post 发请求.restful 有get put delete等谓词. 特地查了一下.记在下边. <system.we ...
- SOAP协议初级指南 (一)
SOAP(Simple Object Access Protocal) 技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问.SOAP是把成熟的基于HTTP的WEB技 ...
- ASP.NET Core 1.0 开发记录
官方资料: https://github.com/dotnet/core https://docs.microsoft.com/en-us/aspnet/core https://docs.micro ...
- ASP.NET Web API 异常日志记录
如果在 ASP.NET MVC 应用程序中记录异常信息,我们只需要在 Global.asax 的 Application_Error 中添加代码就可以了,比如: public class MvcApp ...
- C#如何使用Soap协议调用WebService?
WebService是什么?它的作用? WebService是一个平台独立.低耦合的.自包含的.基于可编程的可使用xml描述.调用的web应用程序,用于开发分布式的交互式的应用程序. Soap是什么? ...
- 09_httpclient测试SOAP协议
[工程截图]注意:无需使用Wsimport生成客户端代码 [HttpClient.java] import java.io.ByteArrayOutputStream; import java.io. ...
- 08_使用TCP/IP Monitor监视SOAP协议
[SOAP定义] SOAP 简单对象访问协议,基于http传输xml数据,soap协议体是xml格式.SOAP 是一种网络通信协议SOAP 即Simple Object Access Pr ...
- Cxf soap协议改成1.2
在和.net做联调的时候,报错: A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoint. 看来是soap协议不匹配 ...
随机推荐
- DBA 培训相应内容笔记
014-12-23 slow hang lock 三种常见性能问题 hang;整个数据库不响应,无法创建新连接. hanganalyze输出. dump文件是否有问题信息, 文件是否有其他信息 工具: ...
- WPF中TreeView数据结构解析
XAML.CS代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...
- 自己学习过程中关于以后有可能用到的技术的备份,微信广告滑屏组件 iSlider
转载: iSlider 是个非常平滑的滑块,支持移动端 WebApp,HTML5App 和混合型的 App. iSlider是移动端的滑动组件的最佳解决方案.他和普通的web 端的滑动插件有很大不同, ...
- Burp Suite Walkthrough
Burp Suite is one of the best tools available for web application testing. Its wide variety of featu ...
- .net中String是引用类型还是值类型 以及 C#深层拷贝浅层拷贝
http://www.cnblogs.com/yank/archive/2011/10/24/2204145.html http://www.cnblogs.com/zwq194/archive/20 ...
- jsp 页面通过jq处理默认 选中的项 数据是通过遍历显示
jsp页面循环显示里面是<a></a>或者<input> id 以什么开头的id,然后当你点击那个的时候就在那个上面添加样式 <div> <di ...
- PHP页面静态化入门
<?php /** *PHP页面静态化分为以下步骤: *1.打开输出控制缓存 *2.返回输出缓存区的内容 *3.将一个字符串写入文件 *4.冲刷出缓存区的内容 */ //1.打开输出控制缓存 o ...
- 支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url.
支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url. 现支付宝的通知有两类. A服务器通知,对应的参数为notify_url,支付宝通知使用POST方式 B页面跳转通 ...
- 一些static_cast const_cast
static_cast:干杂活的,那三个都有各自的专有用途,那三个不做的都由这个转型符来做,只要它能做的,用C语法的强制类型转换运算符也一定能够完成:但话又说回来了,C强制类型转换能做的,它可不一定都 ...
- 很少有人知道的c++中的try块函数
c++有一些在现实世界中很少看到的结构.这些结构有着自己的用法,但是要特别小心保守的予以运用.就像是网站 The Old New Thing首页标题上面的说的那样: “代码通常被读的次数原因超过了被写 ...