您的位置:首页 > 编程语言

Dynamics CRM 2011 编程系列(22):用插件调用Web Service

2012-05-30 11:45 387 查看
在实施项目的过程中进程会碰到系统对接的问题,也就是系统接口。Web Service正是解决这类问题而诞生的,SOA的最终目标就是灵活的整合企业中的各类系统,降低系统与系统的集成成本。

基于系统的集成要求,通过插件调用Web Service也是件和正常的事情。接下来我们看个简单的例子吧:



图1 部署Web Service



图2 在插件中引用Web Service





图3



图4



图5



图6



图7



图8



图10

插件代码

using System;
using System.Collections.Generic;
using System.Text;

using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Messages;

namespace Plugin21
{
    public class CallWS:IPlugin
    {
        public void Execute(IServiceProvider serviceProvider)
        {
            IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
            Entity curEntity = context.InputParameters["Target"] as Entity;
           
            int num1=(int)curEntity["new_num1"];
            int num2=(int)curEntity["new_num2"];
            int result = 0;
            OptionSetValue optType = (OptionSetValue)curEntity["new_opt_type"];

            Service.Service calculator = new Service.Service();
            switch (optType.Value)
            { 
                case 100000000:
                    result = calculator.AND(num1, num2);
                    break;
                case 100000001:
                    result = calculator.Subtractions(num1, num2);
                    break;
                case 100000002:
                    result = calculator.Multiplie(num1, num2);
                    break;
                case 100000003:
                    result = calculator.Division(num1, num2);
                    break;
            }

            if (curEntity.Attributes.Contains("new_result"))
            {
                curEntity["new_result"] = result;
            }
            else
            {
                curEntity.Attributes.Add("new_result", result);
            }

        }
    }
}



注意事项

本博文引用的Web Service不支持.NET 4.0架构。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: