我正在尝试实现一个纯WCF场景,我想在不依赖SDK帮助程序类的情况下调用Dynamics CRM WCF服务.基本上,我想使用.net框架中的本机WCF支持对Dynamics CRM 2011实施联合身份验证.
我这样做的原因是我想稍后将这个场景移植到BizTalk上.
我已成功使用SvcUtil生成代理类,但部分策略和安全性断言与配置架构不兼容.SvcUtil建议从代码构建绑定,这正是我想要做的.
结果代码在这里:
private static void CallWcf()
{
OrganizationServiceClient client = null;
try
{
// Login Live.com Issuer Binding
var wsHttpBinding = new WSHttpBinding();
wsHttpBinding.Security = new WSHttpSecurity();
wsHttpBinding.Security.Mode = SecurityMode.Transport;
// Endpoint Binding Elements
var securityElement = new TransportSecurityBindingElement();
securityElement.DefaultAlgorithmSuite = SecurityAlgorithmSuite.TripleDes;
securityElement.IncludeTimestamp = true;
securityElement.KeyEntropyMode = SecurityKeyEntropyMode.CombinedEntropy;
securityElement.MessageSecurityVersion = MessageSecurityVersion.WSSecurity11WSTrust13WSSecureConversation13WSSecurityPolicy12BasicSecurityProfile10;
securityElement.SecurityHeaderLayout = SecurityHeaderLayout.Strict;
var securityTokenParameters = new IssuedSecurityTokenParameters();
securityTokenParameters.InclusionMode = SecurityTokenInclusionMode.AlwaysToRecipient;
securityTokenParameters.ReferenceStyle = SecurityTokenReferenceStyle.Internal;
securityTokenParameters.RequireDerivedKeys = false;
securityTokenParameters.TokenType = …Run Code Online (Sandbox Code Playgroud) 这实际上是这个问题的另一部分.
我在vs 2010中远程调试CRM 2011插件.
我是我的一个源文件,我可以在整个代码中设置断点,除了在一些地方.
当我尝试设置断点时,我收到此错误"无法设置以下断点:"和"公共语言运行时无法设置断点".
protected override void ExecutePlugin()
{
SetStateResponse response = new SetStateResponse(); // Breakpoint works
// Message switch
switch (_crmMessage) // Breakpoint error
{
case CrmPluginMessageEnum.Create:
Entity pimage = null; // Breakpoint error
if (_context.PostEntityImages.ContainsKey("postcreate")) // Breakpoint works
pimage = _context.PostEntityImages["postcreate"]; // Breakpoint error
break; // Breakpoint error
}
} // Breakpoint error
Run Code Online (Sandbox Code Playgroud)
更新 此外,在模块窗口中,它将dll显示为已优化:无用户代码:是符号状态:符号已加载
我正在进行数据迁移到Microsoft Dynamics CRM 2011,需要对源进行对帐以确保所有内容都成功加载.
为此,我直接在SQL Server中查询SQL,但我似乎无法找到OptionSet数据的存储位置.有谁知道它存储在哪个表中?
我参与开发沙盒式Microsoft Dynamics CRM 2011 Online插件并拥有一组测试,我可以从本地计算机上的xUnit前端驱动,因为我右键单击Package并选择Deploy选项(并求助于当不起作用时使用插件加载器示例).
我希望能够在我的CI装备上自动运行我的测试,我需要它在每次运行时上传一个新的二进制文件.
我们已经看过http://pluginregcrm2011.codeplex.com/,但它有阻止它在网上工作的错误,简而言之,它不再被维护,我不想热衷于拥有应该是什么平台/生态系统应该拥有的工具.
是否有人以非交互方式使用该工具或其他插件上传器?我错过了什么吗?
continuous-integration acceptance-testing dynamics-crm dynamics-crm-2011 dynamics-crm-online
运行Dynamics CRM 2011部署3.需要定期更新数百万个客户记录(增量更新).使用标准更新(逐个)需要几周时间.此外,我们不想直接触摸数据库,因为它可能在将来破坏数据.
我们可以使用Dynamics CRM 2011 webservice/REST API中的批量更新方法吗?(WhatWhereHow)
这是我注意到的非常奇怪的事情.
我正在编写CRM 2011 Silverlight扩展,而且,在我的本地开发实例上一切正常.该应用程序使用OData进行通信,并使用System.Threading.Tasks.Task很多来在后台执行所有操作(FromAsync是一种祝福).
但是,我决定在CRM 2011 Online中测试我的应用程序,并且令我惊讶地发现它将不再起作用; 结束检索任务时,我会收到安全异常.
使用Fiddler,我发现CRM正试图将我重定向到Live登录页面,考虑到我已经登录,这个页面没有多大意义.
经过多次尝试后,我发现错误是因为我从与UI线程不同的线程访问该服务.
这是一个简单的例子:
//this will work
private void button1_Click(object sender, RoutedEventArgs e)
{
var query = ctx.AccountSet;
query.BeginExecute((result) =>
{
textBox1.Text = query.EndExecute(result).First().Name;
}, null);
}
//this will fail
private void button2_Click(object sender, RoutedEventArgs e)
{
System.Threading.Tasks.Task.Factory.StartNew(RestAsync);
}
void RestAsync()
{
var query = ctx.AccountSet;
var async = query.BeginExecute(null, null);
var task = System.Threading.Tasks.Task.Factory.FromAsync<Account>(async, (result) =>
{
return query.EndExecute(result).First(); // <- Exception thrown here
});
textBox1.Dispatcher.BeginInvoke(() =>
{ …Run Code Online (Sandbox Code Playgroud) c# multithreading task-parallel-library silverlight-5.0 dynamics-crm-2011
我已经下载了CRM Dynamics SDK并将其保存在本地目录中.在我的代码中,我正在使用EntityCollection(与Xrm名称空间相关的其他类),这意味着我需要添加using Microsoft.Xrm.Sdk;.
问题是在编译期间我得到错误说:
命名空间"Microsoft"中不存在类型或命名空间名称"Xrm"(您是否缺少程序集引用?)
所以,我仔细检查参考已经作出,非常准确,我看microsoft.xrm.sdk的确就是我的列表中.只是为了确定,我已经删除它并通过指向具有相同名称的DLL再次添加它.但无济于事......令人讨厌的事情是,我的同事使用相同的代码并在机器上编译(唯一的区别是他在Win 7上,我在Win 8上).
我们如何解决这个问题?
我必须通过Web服务访问crm 2011中的潜在客户(创建新的潜在客户并获取列表).我已经在c#/ asp.net中创建了一个应用程序(它可以工作),但现在我必须在php中完成它并且我被卡住了.
我尝试:https://code.google.com/p/php-dynamics-crm-2011/,但它不起作用,因为它只支持联合身份验证并挖掘它的活动目录.
我尝试与nusoap连接,但这非常令人困惑.
我使用wsdl2php生成发现服务和组织服务类:http://www.urdalen.no/wsdl2php/ 但我不知道如何处理这些类.
有人举例说明如何使用这些类?
我使用以下代码更新实体.
Service.Update(_policy);
Run Code Online (Sandbox Code Playgroud)
其中policy是使用CrmSvcUtil.exe生成的类
public partial class new_policy : Microsoft.Xrm.Sdk.Entity, System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged
Run Code Online (Sandbox Code Playgroud)
我使用LINQ检索策略,然后更新一个属性(EntityReference),然后尝试更新
当此代码运行时,我收到以下错误消息:
EntityState必须设置为null,Created(用于创建消息)或Changed(用于更新消息)
还有其他实体以我可以更新的相同方式生成.
我试过了
_policy.EntityState = EntityState.Changed
Run Code Online (Sandbox Code Playgroud)
但后来我收到一条消息说
该实体是只读的,并且不能修改"EntityState"属性.请使用上下文来更新实体.
有谁知道是什么原因造成的?
我花了好几个小时试图解决这个问题.对于给我问题的列我在sql server中使用标量函数来获取名称.功能正确,工作正常.然后我使用存储过程与ssis一起使用.给出错误的列声明它在错误输出上没有相应的输出列.一切似乎都很好.我按照之前的建议完成了以下操作:
这些是以前论坛的建议.
我是一名实习生,希望自己得到这个,而不必问我的经理.我花了无数个小时试图解决问题.
有什么建议?
以下是我的OLE DB源代码中的查询
SELECT *
FROM RExtenstionBase R
LEFT OUTER JOIN AExtensionBase A
ON R.ASN = A.SN
AND R.ARN = A.R
Run Code Online (Sandbox Code Playgroud)
此查询为我提供了Dynamics CRM所需的字段.
以下是我在OLE DB命令中的存储过程调用:
EXEC InsertRepairs ?,?,?,?,?,?,?,?,?,?
Run Code Online (Sandbox Code Playgroud)
以下是我的存储过程脚本:
USE [MSCRM_RC]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[InsertRepairs]
-- Add the parameters for the stored procedure here
@ROID nvarchar(100),
@AType nvarchar(100),
@ARN nvarchar(100),
@DateReceived datetime,
@RForRR nvarchar(100),
@C nvarchar(100),
@SN nvarchar(100),
@ASN nvarchar(100),
@Performed nvarchar(100),
@COR …Run Code Online (Sandbox Code Playgroud) c# ×4
dynamics-crm ×3
sql-server ×2
.net ×1
bulkinsert ×1
clr ×1
php ×1
soap ×1
ssis ×1
wcf ×1
wcf-client ×1
wcf-security ×1
web-services ×1
wsdl ×1
xrm ×1