【发布时间】:2015-01-02 23:25:37
【问题描述】:
我们有一个 2011/R18 CRM On Prem 在 Windows Server 2008R2 上运行。内部的另一个组正在尝试调用 SOAP 组织端点。他们收到 HTTP 401 错误。在浏览了很多网页之后,我现在想知道是否出于某种我不太理解的原因,我们是否需要在服务器 2012 R2 上运行我们的 CRM 服务器?我这么说是因为this article。这篇文章是针对 CRM 2013 的,但有人能解释一下为什么需要 windows server 2012R2 吗?
相关文章是:
技术依赖
开发和执行外部需要以下技术 使用 Microsoft Dynamics CRM 进行身份验证的客户端应用程序 OData 和 SOAP Web 服务端点:
Claims configuration is required for on-premises deployment. AD FS on Windows Server 2012 R2.
我们的设置是 crm 2011 应用服务器独立于 crm db 服务器。 对于 Web 服务调用,我们有一个具有 crm 系统管理员权限的专用用户
我们的问题是网络服务/身份验证问题。我习惯于在 C# 应用程序中使用用户名/密码进行 Web 服务调用,但我们在使用相同的用户名/密码组合通过 HTTPS 调用进行显式 SOAP 时遇到了巨大的困难。我应该提到我们的设置使用集成安全性,即如果我登录到我们的域,打开浏览器并转到 crm,我不必登录,即它使用我用来登录机器的凭据。
我使用 SOAPUI 5.0.0 作为客户端。下面是 SOAPUI 设置的详细信息。我能够在wcfTestClient.exe 中成功执行请求(尽管我不确定为什么),但无法在 SOAPUI 中获得相同的请求。
请求(注意:使用有效值,我应该从 fetch 中得到 1 个结果)
<s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Header>
<a:Action s:mustUnderstand="1">http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/RetrieveMultiple</a:Action>
<a:MessageID>urn:uuid:1fa4d6ce-6dcc-470e-af92-7be3b79990cf</a:MessageID>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
</s:Header>
<s:Body>
<RetrieveMultiple xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services">
<query xmlns:d4p1="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" i:type="d4p1:FetchExpression">
<d4p1:Query><?xml version="1.0"?><fetch distinct="false" mapping="logical" output-format="xml-platform" version="1.0"><entity name="contact"><attribute name="contactid"/><filter type="and"> <condition attribute="telephone1" value="<**a valid value here>**" operator="eq"/> </filter></entity></fetch></d4p1:Query>
</query>
</RetrieveMultiple>
</s:Body>
</s:Envelope>
回应
HTTP/1.1 401 Unauthorized
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: text/plain
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
WWW-Authenticate: NTLM
WWW-Authenticate: Negotiate
X-Powered-By: ASP.NET
Date: Thu, 08 Jan 2015 03:59:11 GMT
HTTP Error 401 - Unauthorized: Access is denied
【问题讨论】:
-
您能否通过发布您用于传递凭据并通过 CRM 进行身份验证的代码来提供更多详细信息?
-
@CRM 更新了问题并提供了更多信息。让我知道是否需要提供更多?
标签: dynamics-crm-2011 dynamics-crm crm dynamics-crm-2013