2012-06-13 47 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();

克里斯