zoukankan      html  css  js  c++  java
  • c#(POST)动态对接SAP WebService接口

    1、通过软件工具SoapUI获取请求体和响应体

    第二步c#调用

     1  public XmlDocument QueryPostWebService(String URL, String MethodName, string inputPars, string userName, string passWord, string domain)
     2         {
     3             HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL);
     4             request.Method = "POST";
     5             request.ContentType = "text/xml; charset=utf-8";
     6             request.Headers.Add("Accept-Language", "zh;");//设置SAP登录语言为中文
     7             SetWebRequest(request, userName, passWord, domain);
     8             byte[] data = Encoding.UTF8.GetBytes(inputPars);
     9             WriteRequestData(request, data);
    10             return ReadXmlResponse(request.GetResponse());
    11         }
    12 
    13         private void SetWebRequest(HttpWebRequest request, string userName, string passWord, string domain = "saps4demo.sz-sunway.com")
    14         {
    15             NetworkCredential cred = new NetworkCredential(userName, passWord);
    16             request.Credentials = cred;
    17             request.Timeout = 120000;
    18         }
    19 
    20         private void WriteRequestData(HttpWebRequest request, byte[] data)
    21         {
    22             request.ContentLength = data.Length;
    23             Stream writer = request.GetRequestStream();
    24             writer.Write(data, 0, data.Length);
    25             writer.Close();
    26         }
    27 
    28         private XmlDocument ReadXmlResponse(WebResponse response)
    29         {
    30             StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
    31             String retXml = sr.ReadToEnd();
    32             sr.Close();
    33             XmlDocument doc = new XmlDocument();
    34             doc.LoadXml(retXml);
    35             return doc;
    36         }

    注意:

    SOAP V 1.1 --->参数使用:“soapenv:” 命名空间“http://schemas.xmlsoap.org/soap/envelope/”  request.ContentType="text/xml; charset=utf-8"

    SOAP V 1.2 --->参数使用:“soap:” 命名空间“http://www.w3.org/2003/05/soap-envelope”     request.ContentType="application/soap+xml; charset=utf-8"

  • 相关阅读:
    线程和信号
    线程取消状态和取消类型
    线程本地缓存
    线程安全函数的概念
    线程/同步对象的属性对象
    查看安全策略
    ss性能
    三次握手四次断开
    线程同步--屏障
    vs2008 编译时候 自动关闭 问题解决方法
  • 原文地址:https://www.cnblogs.com/weifeng123/p/14812866.html
Copyright © 2011-2022 走看看