`

Dynamic CRM 创建WebService接口供其它系统调用

 
阅读更多

由于MSCRM的异构性和封闭性,许多其它的平台无法直接调用MSCRM提供的API接口,一般的处理方式是用.net编写webservice,通过中间这一层转换来使其它系统调用我们自己编写的webservice.下面演示如何开发可调用MSCRM2013 API的webservice。

主要步骤:

 

  1. 新建asp.net web项目
  2. 编写代码
  3. 验证服务
  4. 生成项目,并将相关文件拷贝到CRM的指定路径

 

 

一.新建项目

 

右键点击资源管理器项目,并添加一个web服务,此处名称为:MSCRMWebServiceDemo

引用相关的DLL文件

二.编写代码

 

  1.  
    using Microsoft.Xrm.Sdk;
  2.  
    using Microsoft.Xrm.Sdk.Client;
  3.  
    using Microsoft.Xrm.Sdk.Query;
  4.  
    using System;
  5.  
    using System.Collections.Generic;
  6.  
    using System.Linq;
  7.  
    using System.Net;
  8.  
    using System.ServiceModel.Description;
  9.  
    using System.Web;
  10.  
    using System.Web.Services;
  11.  
     
  12.  
     
  13.  
    namespace MSCRMWebServiceDemo
  14.  
    {
  15.  
    /// <summary>
  16.  
    /// MyMSCRMWebService 的摘要说明
  17.  
    /// </summary>
  18.  
    [WebService(Namespace = "http://tempuri.org/")]
  19.  
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  20.  
    [System.ComponentModel.ToolboxItem(false)]
  21.  
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
  22.  
    // [System.Web.Script.Services.ScriptService]
  23.  
    public class MyMSCRMWebService : System.Web.Services.WebService
  24.  
    {
  25.  
     
  26.  
    static private IOrganizationService GetOrganisationService()
  27.  
    {
  28.  
    ClientCredentials credentials = new ClientCredentials();
  29.  
    credentials.Windows.ClientCredential = new NetworkCredential("crmadmin", "password01!", "test");
  30.  
     
  31.  
    OrganizationServiceProxy proxy = new OrganizationServiceProxy(new Uri("http://192.168.10.17/test/XRMServices/2011/Organization.svc"), null, credentials, null);
  32.  
     
  33.  
    return proxy as IOrganizationService;
  34.  
    }
  35.  
     
  36.  
    [WebMethod]
  37.  
    public string HelloWorld()
  38.  
    {
  39.  
     
  40.  
    IOrganizationService service = GetOrganisationService();
  41.  
    //用FETCHXML的方式获取会员数据
  42.  
    string fetch2 = @"
  43.  
    <fetch mapping='logical'>
  44.  
    <entity name='account'>
  45.  
    <attribute name='name' />
  46.  
    <attribute name='address1_city' />
  47.  
    <attribute name='primarycontactid' />
  48.  
    <attribute name='telephone1' />
  49.  
    <attribute name='accountid' />
  50.  
    <order attribute='name' descending='false' />
  51.  
    <link-entity name='contact' from='contactid' to='primarycontactid' visible='false' link-type='outer' alias='accountprimarycontactidcontactcontactid'>
  52.  
    <attribute name='emailaddress1' />
  53.  
    </link-entity>
  54.  
    </entity>
  55.  
    </fetch>";
  56.  
     
  57.  
    EntityCollection result = service.RetrieveMultiple(new FetchExpression(fetch2));
  58.  
    String name = "";
  59.  
     
  60.  
    foreach (var c in result.Entities)
  61.  
    {
  62.  
    name += c.Attributes["name"];
  63.  
    }
  64.  
     
  65.  
    return name;
  66.  
    }
  67.  
    }
  68.  
    }

三.点击VS的运行按钮,测试服务



四.部署相关项目至CRM指定路径

拷贝MSCRMWebServiceDemo.dll至CRM的以下路径:

X:\Program Files\Microsoft Dynamics CRM\CRMWeb\bin

拷贝MyMSCRMWebService.asmx至CRM的以下路径:

C:\Program Files\Microsoft Dynamics CRM\CRMWeb\ISV

最后验证一下webservice,打开如下地址,出现以下界面则部署成功

 

分享到:
评论

相关推荐

    .net调用webservice接口例子

    在.NET框架中,调用Web服务接口是常见的数据交互方式,尤其在分布式系统或跨平台通信中。本示例将详细讲解如何使用.NET来调用一个WebService接口,并提供相关的代码实例。 首先,让我们理解Web Service的基本概念。...

    webservice接口调用实例

    Web服务(Web Service)是一种基于互联网的、使用标准XML(Extensible Markup Language)进行通信的软件服务,允许不同系统间的应用程序进行交互。本实例主要关注的是如何调用Web Service接口,我们将探讨相关的关键...

    webservice接口调用

    WebService 接口调用是指通过 WebService 服务器应用程序创建的接口来实现数据交换和业务逻辑的调用。下面详细介绍 WebService 接口调用的方法和步骤。 一、添加 WebService 引用 在 Visual Studio(VS)中创建一...

    java使用XFire调用webService接口

    "Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...

    httpClient调用webservice接口

    ### 使用HttpClient调用WebService接口详解 #### 一、概述 在现代软件开发中,Web服务(尤其是WebService)作为实现系统间交互的一种重要手段被广泛采用。WebService提供了通过HTTP协议进行远程过程调用的能力,...

    java调用webservice接口案例,service调用webservice接口

    java调用webservice接口案例,精简,service调用webservice接口案例;不用生成一堆代码,逻辑清晰

    WSDl生成WebService接口及调用

    在本主题中,我们将深入探讨如何使用WSDL生成WebService接口以及编写Test调用方法进行测试。 1. WSDL基础 WSDL文件是一个XML文档,它描述了服务的位置(endpoint)、使用的消息格式(message)和服务提供的操作...

    python调用WEBSERVICE接口

    1. **Web Service**:一种跨编程语言和操作系统平台的远程调用技术,它通过HTTP协议提供服务,可以被任何其他系统调用。 2. **SOAP(Simple Object Access Protocol)**:一种轻量级协议用于交换结构化的信息,常...

    springboot动态调用webservice接口

    最近项目中遇到需要去掉老系统的webservice服务中的insert方法,找了很久,发现这样最简单,实测有效!!!

    JAVA调用WEBSERVICE接口

    JAVA调用WEBSERVICE接口

    本地调用外部WebService接口

    本地调用外部WebService接口是指在本地系统中调用外部提供的WebService接口,以实现业务逻辑的集成。在这个过程中,需要对方提供接口服务地址、接口服务的详细说明文档(包括接口功能、参数类型、限制条件等)。下面...

    webservice接口调用工具类依赖jar包

    WebService接口调用工具类是Java开发中常见的一种技术,用于与远程服务进行通信,尤其在集成不同系统或服务时非常关键。在这个场景中,"webservice接口调用工具类依赖jar包"指的是为了实现对WebService接口的调用,...

    WebService接口开发与调用

    ### WebService接口开发与调用 #### 一、概述 在现代软件开发中,不同系统间的通信至关重要。WebService作为一种开放标准的服务实现方式,允许不同语言编写的程序进行交互。本文档将详细介绍如何在两个Web项目中...

    C#提高webService接口调用的性能

    客户端调用服务器WebService接口可以更加快速。

    oracle调用webservice接口地址demo

    Oracle数据库作为一款广泛使用的数据库管理系统,支持多种方式与其他系统进行交互,其中通过调用WebService接口是常见的一种实现方式。本文将详细解析一个具体的Oracle调用WebService接口的示例代码,并从中提炼出...

    金蝶调用Webservice接口-SOAP

    总结,金蝶通过SOAP调用第三方Webservice接口的过程主要包括:创建服务、创建Dispatch、构造SOAP消息、调用服务并处理响应以及解析响应数据。这个过程展示了不同系统间集成的基本步骤,对于理解和实现类似的集成工作...

    泛微OA e-cology 8 最新webservice接口文档

    泛微OA e-cology 8 最新webservice接口文档提供了一系列的webservice接口,用于对系统中的文档进行操作,包括创建文档、删除文档、更新文档、查看文档等。这些接口可以通过webservice调用,实现对文档的管理和操作。...

    springboot+webservice搭建webservice服务端及使用java客户端两种方式进行调用webservice接口

    本教程将讲解如何使用Spring Boot集成Apache CXF(一个强大的Java Web Service框架)来构建服务端,并探讨两种Java客户端调用Web Service接口的方法。 首先,我们需要理解Spring Boot与CXF的整合。Spring Boot通过...

    LabView调用WebService接口的各种操作

    LabView调用WebService接口是一种常见的数据交互方式,尤其在工业自动化和嵌入式系统中,它允许LabView程序与远程服务器进行数据交换。本教程将详细介绍如何在LabView中使用WebService,包括POST方法用于上传数据和...

    使用spring远程调用服务端接口实现WebService功能

    这就是Spring框架实现远程调用服务端接口以实现WebService功能的基本流程。由于HttpInvoker基于HTTP,它天生具备良好的网络穿透能力,适合于分布式系统中的跨网络通信。同时,由于使用了Java序列化,它的性能相对较...

Global site tag (gtag.js) - Google Analytics