• D365 FO第三方集成(四)---客户端调用


    客户端调用json-based服务非常简单,就是标准的http调用。
    http调用首先要解决URL的组成,D365 FO json-based调用的url组成如下:
    https://usnconeboxax1aos.cloud.onebox.dynamics.cn/api/services/{服务组名}/{服务名}/{方法名}
    调用的代码很简单,如下所示:

     1 var request = HttpWebRequest.Create(ServiceGroupPreDeclarationPath);
     2             request.Headers[OAuthHelper.OAuthHeader] = OAuthHelper.GetAuthenticationHeader(true);
     3             request.Method = "POST";
     4 
     5             var inputString = txtRequestString.Text;
     6             var requestContract = new
     7             {
     8                 input = inputString
     9             };
    10             var requestContractString = JsonConvert.SerializeObject(requestContract);
    11 
    12             using (var stream = request.GetRequestStream())
    13             {
    14                 using (var writer = new StreamWriter(stream))
    15                 {
    16                     writer.Write(requestContractString);
    17                 }
    18             }
    19             using (var response = (HttpWebResponse)request.GetResponse())
    20             {
    21                 using (Stream responseStream = response.GetResponseStream())
    22                 {
    23                     using (StreamReader streamReader = new StreamReader(responseStream))
    24                     {
    25                         string responseString = streamReader.ReadToEnd();
    26                         JToken jsonObject = JToken.Parse(responseString);
    27                         string returnedString = jsonObject.Value<string>();
    28                         MessageBox.Show(returnedString);
    29                     }
    30                 }
    31             }

    调用的代码非常简单,看代码就很明白了,唯一要说的是下面这几行代码

    1 var requestContract = new
    2             {
    3                 input = inputString
    4             };

    这里是实例化了一个匿名类,注意这里的input,一定要与调用服务方法的入参的参数名保持一致,否则会报错,因为框架就是根据这个来识别调用参数的。
    到这里D365 FO第三方集成的过程就完成了,整体来说D365 FO第三方集成调用还是简单直接的。
    后续大量使用的时候遇到问题具体的问题再记录。

  • 相关阅读:
    toString的本质 以及String.valueOf()
    css3选择符
    HTML5标签
    css3-动画
    2D功能函数
    css过度
    css渐变
    BFC-块级格式化上下文
    表单补充
    表格补充:
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/13121811.html
Copyright © 2020-2023  润新知