我正在尝试连接到受防火墙保护的Microsoft Dynamics CRM的本地实例,并且已通过Azure AD应用程序代理从外部公开,并启用了预身份验证。
因此,考虑到App Proxy的工作方式(通过将其作为承载令牌传递到HTTP标头中来获取后续请求中使用的访问令牌)我在尝试创建服务配置时遇到Dynamics XRM SDK的问题。
var serviceConfiguration = ServiceConfigurationFactory.CreateConfiguration<IOrganizationService>(
new System.Uri(*app proxy url*),
true,
GetType().Assembly
);
SDK需要在没有任何身份验证的情况下提供的组织服务WSDL,但是在使用App Proxy时,这只能通过传递承载令牌头来提供,因此上面的代码会抛出异常。我无法找到解决方法,没有潜在的反射,甚至需要付出很大的努力,并引入了很多错误的范围。