none
请问使用non-.net 的客户端如何连接CRM2011并操作数据 RRS feed

  • 问题

  • 小弟是新手,看SDK中在高级开发中说非.NET客户端是需要使用REST或者WSDL的方式去访问CRM的服务。但是我在SDK所给的示例代码中看到的使用REST或者SOAP的方式都是限定在JS中使用的。有个WSDL的示例程序 没有看明白。 不知到具体的REST或者WSDL 在非.NET客户端中应该是如何去使用的。

    现在主要是在java中调用。有用过的朋友帮忙给简单说下。或者有简单的示例代码的也行。感激不尽!

    2011年6月27日 9:42

答案

全部回复

  • java 也可以调用WCF 需要和调用webservice差不多
    2011年6月28日 3:25
  • 再往上搜了很多java调用wcf的,是说需要用Axis2来调用。这个我也不懂,现在我想先用.net调用。以前也没用过WCF,然后现在我是这样做的。先添加web References,路径是那个OrgnaizationURI,然后起个名字叫CRMOrganizationService。

    然后再页面上直接写:

    CRMOrganizationService.OrganizationService proxy = new CRMOrganizationService.OrganizationService();
          CRMOrganizationService.ColumnSet columset = new CRMOrganizationService.ColumnSet();
          columset.Columns = new string[] { "Name" };
          CRMOrganizationService.Entity model = proxy.Retrieve("Account", "d6f03307-369d-e011-bfe9-bc305bb3125f", columset);
    

    不知道是不是应该这样调用,但是我运行后,运行到最后一句的时候,总是会很长时间然后提示超时,“The operation has timed out”。能帮我看下是不是还需要设置什么东西才可以?

    2011年6月28日 7:55
  • 你好那是因为你没有进行任何身份验证的原因,可以去看看sdk,这里我给我的代码看看希望你能有启发

      OrganizationServiceProxy orgProxy = null;
            ClientCredentials clientCreds = new ClientCredentials();
            clientCreds.UserName.UserName = this.UserName;
            clientCreds.UserName.Password = this.Password;
            string OrganizationServiceUri = string.Format("{0}/XRMServices/2011/Organization.svc", ServerUrl);
            orgProxy = new OrganizationServiceProxy(new Uri(OrganizationServiceUri), null, clientCreds, null);
    
    

     

    2011年6月29日 7:16
  • 之前就是按照你这样的方法做的。只是要用非net的客户端连接,所以考虑用soap或者其他方式通过传递xml的形式去向crm做请求操作。然后现在我是按照sdk中的soapfrojscript的示例程序想将里面使用javascript请求的方式换成net客户端或者非net客户端去请求,

    但是我发现示例程序使用jscript中并没有指定orngnaization的username,password和domain。我不知道jscript为什么这样请求能在crm上执行而不需要验证身份。但是以同样的方式在后台中请求crm却会提示“ (401) Unauthorized.”

    看之前的4.0版本时,是这样的xml:

    <soap:Header>
      <CrmAuthenticationToken xmlns="http://schemas.microsoft.com/crm/2007/WebServices">
       <AuthenticationType xmlns="http://schemas.microsoft.com/crm/2007/CoreTypes">
        0
       </AuthenticationType>
       <OrganizationName xmlns="http://schemas.microsoft.com/crm/2007/CoreTypes">
        AdventureWorksCycle
       </OrganizationName>
       <CallerId xmlns="http://schemas.microsoft.com/crm/2007/CoreTypes">
        00000000-0000-0000-0000-000000000000
       </CallerId>
      </CrmAuthenticationToken>
     </soap:Header>
    
    

     

    但是我不知道2011中的xml应该怎样去写,
    2011年6月30日 3:29
  • 参考一下这篇文章。

    http://msdn.microsoft.com/en-us/library/gg327838.aspx

     

     


    Darren Liu (MSFT) | 刘嘉鸿 | Blog: http://liudarren.spaces.live.com
    • 已标记为答案 nj.sun 2011年9月6日 9:11
    2011年7月1日 15:37
    版主
  • 2011下你也可以提供webservice 给 非.net平台调用,不过下个版本 可能就不支持webservice了


    微软CRM
    • 已标记为答案 nj.sun 2011年9月6日 9:11
    2011年7月4日 5:14
    版主
  • CRM 2011下个版本? 还要更新CRM吗


    过好今天!
    2011年7月5日 7:45
  • 嗯,现在就是在想写一个.net端的wcf服务,然后供java调用,不过就是感觉中间多了着一个自己的wcf会比较麻烦。

    版主给的那个链接我看了,想弄的那个中间的odata 的wcf服务 去调用CRM的服务方法。

    只不过这个服务还不太会写,要返回odata的形式,然后还要接受请求的数据作中间的处理后调用crm的服务。

     

    不知道这样的想法合理不?

    2011年7月8日 2:38
  • 之前就是按照你这样的方法做的。只是要用非net的客户端连接,所以考虑用soap或者其他方式通过传递xml的形式去向crm做请求操作。然后现在我是按照sdk中的soapfrojscript的示例程序想将里面使用javascript请求的方式换成net客户端或者非net客户端去请求,

    但是我发现示例程序使用jscript中并没有指定orngnaization的username,password和domain。我不知道jscript为什么这样请求能在crm上执行而不需要验证身份。但是以同样的方式在后台中请求crm却会提示“ (401) Unauthorized.”

    看之前的4.0版本时,是这样的xml:

    <soap:Header>
    
      <CrmAuthenticationToken xmlns="http://schemas.microsoft.com/crm/2007/WebServices">
    
       <AuthenticationType xmlns="http://schemas.microsoft.com/crm/2007/CoreTypes">
    
        0
    
       </AuthenticationType>
    
       <OrganizationName xmlns="http://schemas.microsoft.com/crm/2007/CoreTypes">
    
        AdventureWorksCycle
    
       </OrganizationName>
    
       <CallerId xmlns="http://schemas.microsoft.com/crm/2007/CoreTypes">
    
        00000000-0000-0000-0000-000000000000
    
       </CallerId>
    
      </CrmAuthenticationToken>
    
     </soap:Header>
    
    
    
    

     

    但是我不知道2011中的xml应该怎样去写,

    hi,我现在也在想验证身份,也就是我用html调用js,然后根据html中输入的用户名跟密码来验证js中调用的webservice身份验证。。不知道你现在有没有找到方法。。

    如果有的发能告诉下,或者是email:zzjmail@163.com

    2011年9月16日 3:24