Web Service 使用

SOAP、WSDL、UDDI
SOAP(Simple Object Access Protocal),是在分散或在分布式环境中交换信息的简单协议。
WSDL 对WebService 的解释说明文档
UDDI (通用发现、说明和集成)是Web服务的黄页
趣味理解:
Web Service 好比是一个服务供应商;
SOAP 就像是两个公司之间签的合同,约束双方按照一定的规范和标准做事;
WSDL就像说明书,告诉别人你有什么,能给别人提供什么服务;
UDDI好比你的公司需要在黄页或工商注册,方便别人查询

TestWebService1.asmx文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

namespace WebService
{
    /// <summary>
    /// TestWebService1 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://www.anniya.com/api")]//
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
    [System.Web.Script.Services.ScriptService]
    public class TestWebService1 : System.Web.Services.WebService
    {
        [WebMethod]
        [SoapHeader("myHeader")]
        public string HelloWorld(string name)
        {
            if (!myHeader.IsValid())
            {
                return "对不起,您没有权限访问";
            }
            return name + ",Hello World";
        }

        public MySoapHeader myHeader = new MySoapHeader();
        [WebMethod]
        public List<Student> GetStudent()
        {

            return new List<Student>()
            {
                new Student() {Id = 1, Name = "张三1"},
                new Student() {Id = 2, Name = "张三2"},
                new Student() {Id = 3, Name = "张三3"}
            };
        }

       [WebMethod(Description="根据学生列表进行处理")]
        public List<Student> GetStudentResultByStudentList(List<Student> student)
        {
            foreach (var stu in student)
            {
                stu.Name += ",已经处理过了";
            }
            return student;
        }

    }

    public class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    public class MySoapHeader : SoapHeader
    {
        public string UserName { get; set; }
        public string   Password { get; set; }

        public bool IsValid()
        {
            if (UserName == "admin" && Password == "123")
            {
                return true;
            }
            else
            {
                return false;
            }
        }

    }

}

调用代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using  WebApplicationTestWebService.ServiceReference1;

namespace WebApplicationTestWebService
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            using (TestWebService1SoapClient client = new TestWebService1SoapClient())
            {
                MySoapHeader myHeader = new MySoapHeader();
                myHeader.UserName = "admin";
                myHeader.Password = "123";//用户名和密码要和调用的Web Service 一致
                Response.Write(client.HelloWorld(myHeader, "yxl") + "</br>");
                Response.Write("<hr/>");
                Student[] students = client.GetStudent();
                foreach (var student in students)
                {
                    Response.Write(student.Name+"</br>");
                }
                Response.Write("<hr/>");

                foreach (var student in client.GetStudentResultByStudentList(students))
                {
                    Response.Write(student.Name + "</br>");
                }
            }

        }
    }
}

如果使用ajax调用并且跨域的话,可以在本地应用程序中调用webservice,然后在用js调用本地应用程序,这样就不会跨域了

Web Service 使用

时间: 2024-11-05 23:21:24

Web Service 使用的相关文章

在GlassFish应用服务器上创建并运行你的第一个Restful Web Service【翻译】

前言 本人一直开发Android应用,目前Android就业形势恶劣,甚至会一路下滑,因此决定学习服务器开发.采用的语言是java,IDE是Intellij,在下载Intellij的同时看到官网很多优秀的guide文章,于是按照guide成功完成了一个RESTful的demo.官方文档非常简洁,给我带来了很大的帮助,于是翻译之,希望对其他不愿意看原文的人有所帮助.由于水平有限,读者发现错误请指正,谢谢. 原文地址: https://www.jetbrains.com/help/idea/2016

Axis实现 web service接口开发 + 客户端调用

看到网上挺多人找webservice axis开发案例,但是网上较多的都是有点乱,初学者不太容易看得懂,所以最近看到自己终于有了点空闲时间,就上传了一份比较简单的webservice axis的完整案例. 只适用于初学者. 一.新建一个web项目 导入lib包. 2.配置 web.xml <!-- axis 配置 -->   <servlet>         <display-name>Apache-Axis Servlet</display-name>

Axis2实现 web service接口开发 + 客户端调用

一. 新建一个web项目, 1.打开axis2.war包,将conf,lib,modules三个文件夹复制到项目的WEB-INF文件夹下,再在WEB-INF目录下新建一个services文件夹,然后在services文件下新建一个文件夹(任意取名): 再新建META-INF文件夹,最后再新增services.xml,接口信息就写在这里面. 具体路径:WEB-INF/services/myservice/META-INF/services.xml 2.配置 web.xml .加载axis2 和 a

VB.NET,C#.NET调用Web Service,利用visual studio 的实现方法

在VB.NET调用Web Service提供的服务 技术qq交流群:JavaDream:251572072 下面是一篇文章比较详细,其实具体操作很简单,把Web Service服务地址,利用工具(VS2010),通过添加引用的形式,添加到项目中来就可以应用了. 大家如果这个地方不会操场的话,可以问问我QQ:1606841559 当Web Service已经处于对外提供服务状态,VB.NET就可以通过HTTP"调用"来使用这些服务了.当然前提是要了解Web Service对外提供服务所对

asp.net ajax客户端框架如何调用Web Service

1:Web Service类添加 [System.Web.Script.Services.ScriptService]特性2:需要异步调用的方法需要添加[WebMethod]特性 3,页面必须添加ScriptManager控件(有且唯一)4: ScriptManager添加对相应的Web Service的ServiceReference5:在客户端使用如下格式调用: [NameSpace].[ClassName].[MethodName](parm1,parm2,...,callbackFunc

zzWCF实现RESTFul Web Service

http://www.cnblogs.com/KeithWang/archive/2012/02/14/2351826.html http://blog.csdn.net/qq_26054303/article/details/48655985 http://www.cnblogs.com/LNCLSH/p/3781572.html 共同学习了前面一些概念,终于开始正题了哈.RESTful的Web Service调用直观,返回的内容容易解析.这里先会描述一个简单的场景--Web Service提

Web Service和WCF的到底有什么区别

[1]Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互.WSDL来实现服务接口相关的描述.此外Web services 可以注册到UDDI中心.供其客户查找使用.  

Web Service简介

1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册. XML:(Extensible Markup Language)扩展型可标记语言.面向短期的临时数据处理.面向万维网络,是Soap的基础. Soap:(Simple Object A

Web Service学习之六:CXF解决无法处理的数据类型

CXF不能够处理像Map复杂的数据类型,需要单独转换处理. 总体思路:创建一个转换器和一个对应的可以处理的数据结构类型,将不能处理的类型转换成可以处理的类型: 步骤: 一.创建一个可以处理的类型 举例:要转换Map<String,User> package ws; import java.util.List; public class StringUser { public static class Entry { private String key; private User value;

Web Service 和WCF

Web Service 的工作原理 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册.WebService可用基于XML的SOAP来表示数据和调用请求,并且通过HTTP协议来传输这些XML格式的数据. webservice最大优点就是实现异构平台间的互通,这也是使用WebS