如何在Dynamic CRM 2013中创建WebService接口供其它系统调用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Dynamic CRM 2013中创建WebService接口供其它系统调用相关的知识,希望对你有一定的参考价值。

参考技术A   新建asp.net web项目
  编写代码
  验证服务
  生成项目,并将相关文件拷贝到CRM的指定路径

  一.新建项目

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

  引用相关的DLL文件

  二.编写代码

  [csharp] view plaincopy
  using Microsoft.Xrm.Sdk;
  using Microsoft.Xrm.Sdk.Client;
  using Microsoft.Xrm.Sdk.Query;
  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Net;
  using System.ServiceModel.Description;
  using System.Web;
  using System.Web.Services;

  namespace MSCRMWebServiceDemo
  
  /// <summary>
  /// MyMSCRMWebService 的摘要说明
  /// </summary>
  [WebService(Namespace = "http://tempuri.org/")]
  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  [System.ComponentModel.ToolboxItem(false)]
  // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
  // [System.Web.Script.Services.ScriptService]
  public class MyMSCRMWebService : System.Web.Services.WebService
  
  
  static private IOrganizationService GetOrganisationService()
  
  ClientCredentials credentials = new ClientCredentials();
  credentials.Windows.ClientCredential = new NetworkCredential("crmadmin", "password01!", "test");
  
  OrganizationServiceProxy proxy = new OrganizationServiceProxy(new Uri("http://192.168.10.17/test/XRMServices/2011/Organization.svc"), null, credentials, null);
  
  return proxy as IOrganizationService;
  
  
  [WebMethod]
  public string HelloWorld()
  
  
  IOrganizationService service = GetOrganisationService();
  //用FETCHXML的方式获取会员数据
  string fetch2 = @"
  <fetch mapping='logical'>
  <entity name='account'>
  <attribute name='name' />
  <attribute name='address1_city' />
  <attribute name='primarycontactid' />
  <attribute name='telephone1' />
  <attribute name='accountid' />
  <order attribute='name' descending='false' />
  <link-entity name='contact' from='contactid' to='primarycontactid' visible='false' link-type='outer' alias='accountprimarycontactidcontactcontactid'>
  <attribute name='emailaddress1' />
  </link-entity>
  </entity>
  </fetch>";
  
  EntityCollection result = service.RetrieveMultiple(new FetchExpression(fetch2));
  String name = "";
  
  foreach (var c in result.Entities)
  
  name += c.Attributes["name"];
  
  
  return name;
  
  
  
  三.点击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,打开地址,出现以下界面则部署成功本回答被提问者和网友采纳

Dynamic CRM 数据密钥 忘记 解决方案

UPDATE EmailServerProfile SET IncomingPassword=null UPDATE EmailServerProfile SET OutgoingPassword=null UPDATE Mailbox SET Password=null UPDATE Queue SET EmailPassword=null UPDATE UserSettings SET EmailPassword=null

 

以上是关于如何在Dynamic CRM 2013中创建WebService接口供其它系统调用的主要内容,如果未能解决你的问题,请参考以下文章

SAP CRM 在Web UI中创建搜索帮助

MyEclipse 6.0 中创建Dynamic web项目没有 Deployment Descriptor

SAP CRM 在Web UI中创建搜索帮助

在Eclipse中创建Dynamic Web Project

Dynamics CRM - 在 Dynamics CRM 开发中创建一个 Entity 对象

使用 Visual Studio 2013 在 C# 中创建 asmx Web 服务