注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gmd20的个人空间

// 编程和生活

 
 
 

日志

 
 

visual studio 2013 C# webservice 使用enum枚举类型和返回多个参数示例  

2014-07-03 09:40:18|  分类: 程序设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
新建web工程, 空项目,add -》 new items  -》 web service (asmx)  建立对应的service

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

namespace MessageService
{
    /// <summary>
    /// Summary description for MessagePull
    /// </summary>
    [WebService(Namespace = "http://widebright.cn/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
    // [System.Web.Script.Services.ScriptService]
    public class MessagePullService : System.Web.Services.WebService
    {

        public enum Result
        {
            Correct = 0,
            Error = 1,
        };

        public class Response          // 注意名字,不能用 MessagePullResponse导致最后生成的SOAP 的xml同名非法,生成的xml没有这一级的名字
        {
            public Result Result { get; set; }      // 不用 { get; set; }  也可以工作
            public bool Send { get; set; }
            public string Text { get; set; }
            public string ID { get; set; }
        };

        [WebMethod]
        public Response MessagePull(
                  string Text,
                  string ID)
        {
            Response result = new Response();
            result.Result = Result.Correct;
            result.Send= false;
            result.Text = "hello world";
            result.ID = "123";
            return result;
        }
    }
}


启动web项目之后,在流浪器里面访问对应asmx文件
http://localhost:22318/MessagePullService.asmx?op=MessagePull


生成的SOAP 1.1 的模板如下
以下是 SOAP 1.2 请求和响应示例。所显示的占位符需替换为实际值。

------------------
POST /MessagePullService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://wwidebright.cn/MessagePull"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <MessagePull xmlns="http:///wwidebright.c/">
      <Text>string</Text>
      <ID>string</ID>
    </MessagePull>
  </soap:Body>
</soap:Envelope>


--------------------
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <MessagePullResponse xmlns="http:///wwidebright.c/">
      <MessagePullResult>
        <Result>Correct or Error</Result>
        <Send>boolean</Send>
        <Text>string</Text>
        <ID>string</ID>
      </MessagePullResult>
    </MessagePullResponse>
  </soap:Body>
</soap:Envelope>


  评论这张
 
阅读(594)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017