1. 先上调用代码

             public static string PostMoths(string url, string Json)
    {
    System.Net.HttpWebRequest request;
    Stream writer;
    System.Net.HttpWebResponse response; try
    {
    string strURL = url;
    System.GC.Collect();
    System.Net.ServicePointManager.Expect100Continue = false;
    request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);
    System.Net.ServicePointManager.DefaultConnectionLimit = ;
    request.ServicePoint.ConnectionLimit = ;
    request.KeepAlive = false;
    request.Timeout = * * ;
    request.Method = "POST";
    request.ProtocolVersion = HttpVersion.Version11;
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
    request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
    string paraUrlCoded = Json;
    byte[] payload;
    payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
    request.ContentLength = payload.Length;
    writer = request.GetRequestStream();
    writer.Write(payload, , payload.Length); response = (System.Net.HttpWebResponse)request.GetResponse();
    System.IO.Stream s;
    s = response.GetResponseStream();
    string strValue = "";
    StreamReader Reader = new StreamReader(s, Encoding.UTF8);
    strValue = Reader.ReadToEnd();
    if (request != null)
    {
    request.Abort();
    request = null;
    }
    if (response != null)
    {
    response.Close();
    response = null;
    }
    if (writer != null)
    {
    writer.Close();
    writer = null;
    }
    return strValue;
    }
    catch (Exception ex)
    {
    var obj = new
    {
    status = ,
    msg = ex.Message
    };
    request = null;
    response = null;
    writer = null;
    return ex.Message;
    }
    finally
    {
    request = null;
    response = null;
    writer = null;
    }
    }
  2. 配置文件信息 WebConfig
     <system.web>
    <!--解决本地调用成功,外网调用失败的问题-->
    <webServices>
    <protocols>
    <add name="HttpSoap"/>
    <add name="HttpPost"/>
    <add name="HttpGet"/>
    <add name="Documentation"/>
    </protocols>
    </webServices>
    <!--上传文件大小限制-->
    <httpRuntime executionTimeout="" maxRequestLength="" useFullyQualifiedRedirectUrl="false" requestValidationMode="2.0"/>
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" validateRequest="false"/>
    </system.web>

    配置文件中红色标注是必填项。

  3. webservice接口代码
         [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 MESService : System.Web.Services.WebService
    {
    [WebMethod(Description = "")]
    public void GetData(string strXML)
    {
    //你的结果处理
    #region 处理数据 #endregion
    Context.Response.Write(Common.JsonHelper.SerializeToJson(new { status = , msg = strXML }));
    Context.Response.End();
    }
    }
  4. 接口参数
     <?xml version="1.0" encoding="UTF-8"?>
    <LineEqui
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <LineCode>W1</LineCode>
    <EquiCode>qwe</EquiCode>
    <PlanStatus>Running</PlanStatus>
    <DataTime>2018-02-02 09:34:16</DataTime>
    <FactoryCode></FactoryCode>
    <ProductCode></ProductCode>
    <PlanCount></PlanCount>
    <Unit>PC</Unit>
    <Batch></Batch>
    <Area>山东</Area>
    <AreaCode>SD</AreaCode>
    <PlanCode></PlanCode>
    </LineEqui>
  5. 调用结果

    

HttpWebRequest,HttpWebResponse C# 代码调用webservice,参数为xml的更多相关文章

  1. c# 纯代码调用 webservice

    public static class RequestHelper { public class RequestResult { public RequestResult(bool requestRe ...

  2. C#调用WebService(服务引用-xml)

    情形:做接口调用三方WebService,WebService地址外网无法访问 方案: Step1:内网环境(可访问三方WebService地址,此处地址以http://127.0.0.1/WebSe ...

  3. Salesforce 使用Js 调用Webservice实例

    1,创建 Custom Button 在页面上 2, 创建CustomJs 代码调用Webservice <!--参数名区分大小写,对于跨层object直接在Object名后直接加参字段名即可- ...

  4. java接口调用——webservice就是一个RPC而已

    很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过 ...

  5. Java调用WebService方法总结(5)--Axis2调用WebService

    Axis2是新一点Axis,基于新的体系结构进行了全新编写,有更强的灵活性并可扩展到新的体系结构.文中demo所使用到的软件版本:Java 1.8.0_191.Axis2 1.7.9. 1.准备 参考 ...

  6. 存储过程系列之存储过程sql数据库调用和程序代码调用

    1.存储过程,无参数的存储过程 创建无参数存储存储过程 Create Procedure DCEMREMR_TEMPLATEAs SELECT TOP 10 [FILENAME],[FILETITLE ...

  7. cxf 生成客户端代码调用服务

    cxf是另一种发布webservice的方式,与jdk提供的相比 jdk提供的是wsimport cxf 提供的是 wsdl2java- d 地址 根据http://www.cnblogs.com/f ...

  8. Java调用WebService方法总结(4)--Axis调用WebService

    Axis是比较常用的WebService框架,该项目在2006实现了最终版,后面就没有更新了.文中demo所使用到的软件版本:Java 1.8.0_191.Axis 1.4. 1.准备 参考Java调 ...

  9. Java调用WebService方法总结(3)--wsimport调用WebService

    wsimport是JDK自带的把WSDL转成Java的工具,可以很方便的生成调用WebService的代码.文中所使用到的软件版本:Java 1.8.0_191. 1.准备 参考Java调用WebSe ...

随机推荐

  1. 利用Cglib实现AOP

    前文讲了, 可以利用Spring, Guice等框架提供的容器实现AOP, 如果想绕过容器, 直接注入Class, 可以利用Cglib为对象加上动态代理,实现代码切入, 但是每次调用比较繁琐, 因此我 ...

  2. php 后端跨域请求

    header("Access-Control-Allow-Origin: http://a.com"); // 允许a.com发起的跨域请求 //如果需要设置允许所有域名发起的跨域 ...

  3. 在Vue.js2.0中组件模板子元素数量问题

    在Vue中当利用组件进行开发时候,组件所使用的模板只可以应用于一个根实例,当你需要添加多个子元素的时候,可以用一个div将它们包裹起来,代码如下: <template id="task ...

  4. RouterPassView——路由器密码查看工具

    大多数现代路由器都可以让您备份一个文件路由器的配置文件,然后在需要的时候从文件中恢复配置.路由器的备份文件通常包含了像您的ISP的用户名重要数据/密码,路由器的登录密码,无线网络的KEY. 如果你忘记 ...

  5. .net core实现redisClient

    引言 最近工作上有需要使用redis,于是便心血来潮打算自己写一个C#客户端.经过几天的努力,目前该客户端已经基本成型,下面简单介绍一下. 通信协议 要想自行实现redisClient,则必须先要了解 ...

  6. Silverlight的认识

    Microsoft Silverlight是一个跨浏览器的.跨平台的插件.Silverlight提供灵活的编程模型,并可以很方便地集成到现有的网络应用程序中.Silverlight可以对运行在Mac或 ...

  7. dhcp 的安装和配置文件

    install: yum  - y  install dhcp modify : vim  /etc/dhcp/dhcpd.conf ddns-update-style none;ignore cli ...

  8. docker学习系列(五):使用docker创建集成服务--lnmp

    在掌握了docker的基本命令之后,我也是想着去用docker做一点实际的配套环境,就拿自己最常用的lnmp环境来做测试.配套环境运行的顺序依次是mysql->php->nginx,至于为 ...

  9. 20165230 2017-2018-2 《Java程序设计》第3周学习总结

    20165230 2017-2018-2 <Java程序设计>第3周学习总结 教材学习内容总结 本周主要学习了类与对象. 包括创建对象与构造方法. 了解了程序是由若干个类所构成:类分为类名 ...

  10. 为什么TCP的ISN是随机的?

    两个维度: 1)攻击维度 如果TCP每次连接都使用固定ISN,黑客可以很方便模拟任何IP与server建立连接. 问题:通过抓包就可以计算出来TCP连接的ISN,那固定于不固定ISN有什么区别呢? 答 ...