2012-06-13 42 views
0

我正尝试从Java连接到MS Dynamics CRM 2011。经过大量搜索后,我在MS论坛中遇到了一个链接,它提供了一段代码片段来从Java调用MS Dynamics CRM 2011 WS。从Java连接MS Dynamics CRM 2011

Consuming CRM REST Service from Java

但是,它并没有提供比一个帐户创建步骤等多的细节。使用这段代码,我可以创建帐户。但是,我还想使用相同的REST Web服务来检索帐户,创建新的案例请求,向帐户添加案例请求等。基于可用的在线.NET示例,我尝试使用service.createAccountQuery()方法检索帐户。然而,尽管所有.NET示例都使用LINQ来设置搜索条件,但我无法指定java中的子路径字符串以通过名称/城市/国家等来检索现有帐户。

感谢任何帮助。

+0

您好,我知道这是从当你问这个question一段时间,但我现在面临的问题与同一样品甚至可以创建代理类。每当我运行此示例生成代理类时,我都会收到错误消息“检测到可恢复的错误(1000),并在2000毫秒内再次尝试。” 我创建了一个演示MS Dynamics CRM Online帐户(http://www.microsoft.com/en-in/dynamics/crm-free-trial-overview.aspx)并尝试从java客户端连接该帐户。 你能帮我解决这个问题吗? –

回答

0

代替的“会计法...”线以下,使用类似:

// Retrieve all accounts that the user has read access to. 
string fetch1 = @"<fetch mapping=""logical""> 
        <entity name=""account""> 
         <all-attributes/> 
        </entity> 
        </fetch>"; 

// Fetch the results. 
ExecuteFetchRequest req = new ExecuteFetchRequest(); 
req.FetchXml = fetch1; 
ExecuteFetchResponse result1 = (ExecuteFetchResponse)service.Execute(req); 

我不熟悉这个代理,但你要调用service.X其中X是执行或RetrieveMultiple(基于代理提供的内容)。

+0

你可以请分享一些实施步骤..或其他提供示例代码 –

0

不知道你是否仍在寻找,但对于其他人寻找。我遇到过同样的问题。

它使用的OData查询URL,以便子路径是EntitySet的(例如,对于帐户这将是AccountSet)

然后就可以设置使用.filter方法并经由。选择方法选择的过滤器。

我也注意到,你似乎无法做到这些的单独行虽然

例如你不能这样做

Query<microsoft.crm.sdk.data.services.Account> q = service.createAccountQuery("AccountSet"); q.filter("substringof('Test',Name)"); q.select("AccountId,Name"); q.execute();

你必须做 Query<microsoft.crm.sdk.data.services.Account> q = service.createAccountQuery("AccountSet").filter("substringof('Test',Name)").select("AccountId,Name"); q.execute();

克里斯