【问题标题】:Is Win Server 2012R2 required to call CRM 2011 OnPrem web services?调用 CRM 2011 OnPrem Web 服务是否需要 Win Server 2012R2?
【发布时间】: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>&lt;?xml version="1.0"?&gt;&lt;fetch distinct="false" mapping="logical" output-format="xml-platform" version="1.0"&gt;&lt;entity name="contact"&gt;&lt;attribute name="contactid"/&gt;&lt;filter type="and"&gt; &lt;condition attribute="telephone1" value="<**a valid value here>**" operator="eq"/&gt; &lt;/filter&gt;&lt;/entity&gt;&lt;/fetch&gt;</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


【解决方案1】:

对于 CRM 2011/R18,不需要在 windows server 2012 R2 上运行 CRM。

您的问题应该是在调用 Web 服务时在 CRM 上对用户进行身份验证。应用程序是否与 CRM 托管在同一台服务器上?如果没有,您可以从自定义应用程序服务器访问 CRM 吗?女巫用户请求访问?

请检查以上几点以确定问题出在 CRM 还是您的自定义应用程序中。

【讨论】:

    猜你喜欢
    • 2014-02-11
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    相关资源
    最近更新 更多