Dynamics CRM 2015/2016 Web API:Unbound Custom Action 和 Bound Custom Action
今天我们再来看看Bound/Unbound Custom Action吧,什么是Custom Action?不知道的小伙伴们就out了,Dynamics CRM 2013就有了这个功能啦。和WhoAmI这类消息一样,我们都能够通过代码去调用它们。仅仅只是呢,今天我要给大家讲讲怎么用Web API的方式去调用它们。
Custom Action也被划分为Bound和Unbound两种类型了,它们的详细含义和之前讲的Function和Action没有差别。唯一的差别就是,这里的Custom Action是我们自己配置的,这里科普下。我们能够在Setting-》Process里面创建Action,它的创建界面例如以下:
Bound Custom Action
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
Unbound Custom Action
他们的调用方式和OOB Action是一样的,没有差别,详细能够參考以下的代码片段:
Bound Custom Action
HttpRequestMessage custBoundActionReq = new HttpRequestMessage(HttpMethod.Post, webApiUrl + "/accounts(723ef58a-75bb-e511-80d9-c4346bc43f3c)/Microsoft.Dynamics.CRM.new_CreatePrimaryContactForAccount");
custBoundActionReq.Headers.Authorization = new AuthenticationHeaderValue("Bearer", auth.AcquireToken().AccessToken); JObject custBoundActionContent = new JObject();
custBoundActionContent.Add("FirstName", "Jeff");
custBoundActionContent.Add("LastName", "Xiong");
//custBoundActionContent.Add("Telephone", "15000303158");
//custBoundActionContent.Add("Email", "jeff.xiong@ghostbear.com"); custBoundActionReq.Content = new StringContent(JsonConvert.SerializeObject(custBoundActionContent), Encoding.UTF8, "application/json"); HttpResponseMessage custBoundActionResp = await client.SendAsync(custBoundActionReq); if (custBoundActionResp.IsSuccessStatusCode)
{
JObject result = JsonConvert.DeserializeObject<JObject>(await custBoundActionResp.Content.ReadAsStringAsync());
Console.WriteLine(result);
}
Unbound Custom Action
HttpRequestMessage custActionReq = new HttpRequestMessage(HttpMethod.Post, webApiUrl + "/new_CreateDemoAccount_UA");///"accounts(723ef58a-75bb-e511-80d9-c4346bc43f3c)/Microsoft.Dynamics.CRM.new_CreateDemoAccount"
custActionReq.Headers.Authorization = new AuthenticationHeaderValue("Bearer", auth.AcquireToken().AccessToken); JObject custActionContent = new JObject();
custActionContent.Add("AccountName", "Jeff's Demo Account");
custActionReq.Content = new StringContent(JsonConvert.SerializeObject(custActionContent), Encoding.UTF8, "application/json"); HttpResponseMessage custActionResp = await client.SendAsync(custActionReq); if (custActionResp.IsSuccessStatusCode)
{
JObject result = JsonConvert.DeserializeObject<JObject>(await custActionResp.Content.ReadAsStringAsync());
Console.WriteLine(result); }
是不是非常轻松呢?小伙伴们要知道。在之前,我们定义这种Custom Action得花九牛二虎之力去呀。倒腾 web service什么的。
如今我们仅仅须要通过UI界面就能够轻松的配置一个不错的Action,是不是非常幸福呢。
Dynamics CRM 2015/2016 Web API:Unbound Custom Action 和 Bound Custom Action的更多相关文章
- Dynamics CRM 2015/2016 Web API:Unbound Function 和 Bound Function
今天我们来看看Dynamics CRM Web API Function 吧, 这是一个新概念,刚接触的时候我也是比較的迷糊.这种命名确实是和之前的那套基于SOAP协议的API全然联系不上.好了,不说 ...
- Dynamics CRM 2015/2016 Web API:Unbound Action 和 Bound Action
上篇文章介绍了Bound/Unbound Function.今天我们来看看Action吧.像我之前说的:Function和Action之前的差别能够简单理解为.Function不改动数据,可是Acti ...
- Dynamics CRM 2015/2016 Web API:聚合查询
各位小伙伴们,今天是博主2016年发的第一篇文章.首先祝大家新年快乐.工资Double,哈哈.今天我们来看一个比較重要的Feature--使用Web API运行FetchXML查询! 对的,各位.你们 ...
- Dynamics CRM 2015/2016 Web API:新的数据查询方式
今天我们来看看Web API的数据查询功能,尽管之前介绍CRUD的文章里面提到过怎么去Read数据,可是并没有详细的去深究那些细节,今天我们就来详细看看吧.事实上呢,Web API的数据查询接口也是基 ...
- 控制台程序(C#)不弹出登录窗口连接到Dynamics CRM Online的Web API
微软动态CRM专家罗勇 ,回复331或者20190505可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 我之前的文章 控制台程序(C#)不弹出认证窗口连接到Dynami ...
- Dynamics CRM 2015/2016新特性之三十二:新增乐观并发处理
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复215或者20160328可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- Dynamics CRM 2015/2016新特性之三十三:有了ExecuteTransactionRequest,再也不用担心部分成功部分失败了
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复216或者20160329可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- 控制台程序(C#)不弹出认证窗口连接到Dynamics CRM Online的Web API
摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复271或者20180602可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...
- Dynamics CRM 2015/2016新特性之三十四:有了插件日志,调试插件so easy!
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复217或者20160330可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
随机推荐
- 各大CMS系统优缺点(2017)
各大CMS系统优缺点(2017) 总结 WordPress之前用过,可能需要再完整的用一个才会比较了解. 从2015年各行业建站规模来看,还有一大批人想自己搭建网站,下面为大家盘点一下比较实用CMS系 ...
- Mysql常见更改密码方法
ERROR (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) ch ...
- 隐藏tomcat nginx版本信息
Tomcat --首先备份tomcat .首先找到这个jar包,$TOMCAT_HOME/lib/catalina.jar .解压catalina.jar之后按照路径\org\apache\catal ...
- Windows 绝赞应用(该网站收集了日常好用的工具和软件)
在我们的电脑使用过程中,或多或少的被流氓软件恶心过.流氓软件之所以这么流氓全是靠他那恐怖的用户数量,基本上形成垄断后,各种流氓行为就一点点体现出来了. 我们也可以选择不用,但对流氓软件来说多你一个不多 ...
- Hadoop-CDH源码编译
* Hadoop-CDH源码编译 这一节我们主要讲解一下根据CDH源码包手动编译的过程,至于为什么要使用CDH,前几节已经说明,那为什么又要自己手动编译,因为CDH的5.3.6对应的Hadoop2.5 ...
- pc端如何引用日期插件
页面的html部分 <li> <span>出生日期</span> <input type="text" placeholder=" ...
- Xshell查看日志的基础使用
2018\11\26 下载安装不多说,官网免费版即可,附上链接:https://www.netsarang.com/products/xsh_overview.html 打开后新建连接,输入主机ip即 ...
- 紫书 例题 10-15 UVa 1638(递推)
从大到小安排杆子 分三种情况 (1)插到最左边,那么左边看到了杆子会多一个 (2)插到最右边,那么右边看到了杆子会多一个 (3)插到中间边,那么不影响左边和右边看到的杆子数 具体看代码 #includ ...
- Myeclipse学习总结(4)——Eclipse常用开发插件
(1) AmaterasUML 介绍:Eclipse的UML插件,支持UML活动图,class图,sequence图,usecase图等:支持与Java class/interf ...
- 【JavaScript】JavaScript中的replaceAll
JavaScript中是没有replaceAll的.仅仅有replace,replace仅仅能替换字符中的第一个字符.并且这个replace里面不支持正則表達式,以达到replaceAll的目的. 只 ...