我们在Windows Server 2008R2上运行了2011 / R18 CRM On Prem。内部的另一个组正在尝试调用SOAP组织端点。他们收到HTTP 401错误。经过大量的网页浏览后,我现在想知道,由于某些原因我不太了解,我们是否需要我们的CRM服务器在服务器2012 R2上运行?我这样说是因为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 app服务器与crm db服务器分开。 对于Web服务调用,我们有一个具有crm sysadmin权限的专用用户
我们的问题是网络服务/身份验证问题。我习惯使用username / pwd在C#应用程序中进行Web服务调用,但是使用相同的用户名/ pwd组合进行显式SOAP over HTTPS调用时遇到了极大的困难。我应该提一下我们的设置使用集成安全性,即如果我登录到我们的域,打开浏览器并转到crm,我不必登录,即它使用我用来登录机器的凭据。
我使用SOAPUI 5.0.0作为客户端。以下是SOAPUI设置的详细信息。我能够在wcfTestClient.exe中成功执行请求(虽然我不知道为什么)但是无法在SOAPUI中获得相同的请求。
请求(注意:使用有效值,我应该从获取获得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
答案 0 :(得分:0)
不需要在Windows Server 2012 R2上为CRM 2011 / R18运行CRM。
您的问题应该是在调用Web服务时对CRM上的用户进行身份验证。应用程序是否与CRM托管在同一台服务器上?如果没有,您可以从自定义应用程序服务器访问CRM吗?巫婆用户请求访问?
请检查以上几点,以确定问题是在CRM还是自定义应用程序中。