2016-03-09 94 views
0

Hi和感谢采取这一时间看,CRM Online的2015年验证原始SOAP

我最近一直在问使用CRM Online的2015年调查的整合,我已经遇到了一些问题,尝试进行身份验证使用原始SOAP要求。

虽然我知道还有其他方法进行身份验证,主要是使用CRM SDK,但我的铁杆会促使我使用Raw SOAP找到解决方案。

我碰到一个非常有用的博客来了贾森拉蒂摩尔:http://jlattimer.blogspot.co.uk/2015/02/soap-only-authentication-using-c.html

继此示例中,我成功地试用CRM帐户使用RAW SOAP验证... ...大...完成我错了。

只要我指着CRM的发展环境我有一个SOAP错误此示例:

<?xml version="1.0" encoding="utf-8" ?> 
<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:psf="http://schemas.microsoft.com/Passport/SoapServices/SOAPFault"> 
    <S:Body> 
     <S:Fault> 
      <S:Code> 
       <S:Value>S:Sender</S:Value> 
       <S:Subcode> 
        <S:Value>wst:FailedAuthentication</S:Value> 
       </S:Subcode> 
      </S:Code> 
      <S:Reason> 
       <S:Text xml:lang="en-US">Authentication Failure</S:Text> 
      </S:Reason> 
      <S:Detail> 
       <psf:error> 
        <psf:value>0x80048821</psf:value> 
        <psf:internalerror> 
         <psf:code>0x80047860</psf:code> 
         <psf:text>Direct login to WLID is not allowed for this federated namespace</psf:text> 
        </psf:internalerror> 
       </psf:error> 
      </S:Detail> 
     </S:Fault> 
    </S:Body> 
</S:Envelope> 

我这工作的试用版本和开发环境之间的想法唯一的区别是开发环境安装程序使用ADFS/AD On-Premises。

提琴手日志显示Jason's Sample直接进入login.microsoftonline.com,而CRM SDK(其工作原理)转到dynamicscrmemea.accesscontrol.windows.net。

所以我相信这是问题所在!我已经在堆栈溢出/其他来源的圈子中出现过,我有一种感觉,它将对SOAP请求进行相对较小的更改,但是我已经达到了需要一些新的眼睛/建议的地步。

有没有人有过这种设置的经验?任何人都可以轻轻地将我推向正确的方向吗?

非常感谢

加雷思

回答

0

我们遇到了类似的问题,试图创建一个BizTalk整合。最终,我们通过使用Windows Live/Office 365帐户实际连接,而不是通过针对实际AD进行身份验证的帐户解决了此问题。 CRM根据用户而不是org确定身份验证类型,因此您可以混合搭配...