客户端调用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 = new7             {8                 input = inputString9             };
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第三方集成调用还是简单直接的。
后续大量使用的时候遇到问题具体的问题再记录。

【转】D365 FO第三方集成(四)---客户端调用相关推荐

  1. 【转】D365 FO第三方集成(三)---服务实现

    D365 FO的Custom Service的实现比AX2012简单了很多. AX2012服务方法要用属性SysEntryPointAttribute标记,添加到Services以后,还要发布服务并在 ...

  2. 【转】D365 FO第三方访问https证书问题

    D365FO采用https,第三方通过API调用的时候,客户端不见得信任D365FO的证书,调用时候会报 基础连接已关闭,发送时发生错误,调用堆栈如下: 1 at System.Net.Sockets ...

  3. Spring集成CXF发布WebService并在客户端调用

    Spring集成CXF发布WebService 1.导入jar包 因为官方下载的包里面有其他版本的sprring包,全导入会产生版本冲突,所以去掉spring的部分,然后在项目根目录下新建了一个CXF ...

  4. WebService的四种客户端调用方式(基本)

    转载:http://blog.csdn.net/csdn_gia/article/details/54863549 web服务网址:http://www.webxml.com.cn/zh_cn/web ...

  5. motan源码分析四:客户端调用服务

    在第一章中,我们分析了服务的发布与注册,本章中将简单的分析一下客户端调用服务的代码及流程,本文将以spring加载的方式进行分析. 1.在DemoRpcClient类的main()方法中加载类: 1 ...

  6. ajax调用第三方web服务,js调用soapWebService服务

    js调用soapWebService服务 什么是 SOAP? SOAP 指简易对象访问协议 SOAP 是一种通信协议 SOAP 用于应用程序之间的通信 SOAP 是一种用于发送消息的格式 SOAP 被 ...

  7. Tomcat 配置用户认证服务供C#客户端调用

    我美丽又贤惠的老婆大人做大骨头汤去了,今天是六一儿童节,明天是端午节,在这大好的节日,我们也难得的度假一把,大吃大喝一番,感谢我的老婆有这么好的手艺. 今天心情不错,要知道我们在平时的工作日没这么长时 ...

  8. WebService客户端调用常见5种方式

    之前系统中使用到了webservice进行第三方通信,这里总结一下常见的5种客户端调用方式. 在此之前我们先简单搭建一个webservice服务端项目,发布一个webservice服务.我这里使用sp ...

  9. 调用链系列四:调用链上下文传递

    在之前的调用链系列文章中,我们已经对调用链进行了详细介绍,相信大家已经对调用链技术有了基本的了解. 其实,在调用链的绘制过程中,调用链上下文的传递非常值得关注.各个节点在获取上层上下文后生成新的上下文 ...

最新文章

  1. configure: error: newly created file is older than distributed files!
  2. 嵌入式linux ext4映像制作工具说明 real210_v62
  3. 《游戏视频主播手册》——2.2 哪些人适合做游戏主播
  4. 程序员面试金典 - 面试题 05.03. 翻转数位(位运算)
  5. 年发5篇Science,现入选中国榜“35岁以下科技创新35人”!
  6. linux centos 6.3 下载,CentOS 6.3发布 附ISO下载地址
  7. C语言排序方法-----二元选择排序法
  8. 字体大宝库:40套为网页设计师准备的时尚字体(下篇)
  9. 处理 ps cs3 打开提示 产品已停止 故障
  10. 山西毕业主题研学夏令营
  11. Maya粒子消散特效制作(三)
  12. 【NOI2012】骑行川藏
  13. Cent OS7基础 第五节
  14. NYOJ:71-独木舟上的旅行
  15. 计算机无法识别移动硬盘怎么办,电脑不能识别移动硬盘的原因 移动硬盘不识别怎么办...
  16. 【C基础】#if、if、#ifdef、#if defined之间的区别
  17. 请求服务无响应Dispatcher has no subscribers
  18. 修车案例 | 2005 款奥迪 A6L 车发动机故障灯异常点亮、加速无力
  19. 7、android 高级控件(1)(下拉列表)
  20. No.067<软考>《(高项)备考大全》【冲刺14】《软考高项极简知识点(3)》

热门文章

  1. flex布局实现骰子六面的示例
  2. PV、UV、UIP、VV、CPC、CPM、RPM、CTR啥意思
  3. 3种Flink State Backed| 你该用哪个?
  4. matlab 股票 小波,小波分析 + 支持向量机(SVM)预测股票涨跌幅的实现
  5. 算法笔记习题 2-9小节
  6. 牛牛找工作--网易2019实习生招聘编程题
  7. Python提取信息测试
  8. 首次登陆系统强制修改密码
  9. 计算机考研用python_本科化工考研跨考计算机,学过高数和Python,难度有多大?...
  10. ctfhsow web入门 命令执行大全