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"

  • 相关阅读:
    设计并实现一个漂亮的结婚小站
    Android新特性--ConstraintLayout完全解析
    Android之MainActivity类
    Android app启动activity并调用onCreate()方法时都默默地干了什么?
    Android Studio开发-高效插件强烈推荐
    Android SDK Manager详解
    Android Studio中如何设置颜色拾色器工具
    独立的android开发者开发app如何盈利?
    Android Studio开发常用快捷键
    最强 Android Studio 使用小技巧和快捷键总结
  • 原文地址:https://www.cnblogs.com/weifeng123/p/14812866.html
Copyright © 2011-2022 走看看