2012-10-11 150 views
3

第一次在這裏發佈海報!與CRM Dynamics 2011問題的Java集成

我想通過Java使用MS CRM動態Web服務。我按照這個教程here,並設法得到這個工作。目前,我正在嘗試通過Web服務添加,編輯,選擇和刪除CRM中的帳戶。我設法使用下面的代碼添加帳戶和查詢帳戶。

添加帳戶:

MicrosoftCrmSdkDataServicesService service = new MicrosoftCrmSdkDataServicesService(); Account act = new Account(); 
act.setName("test account"); 
try 
{ 
    service.addEntity(act); 
} 
catch (Exception e) 
{ 
    e.printStackTrace(); 
} 

查詢賬戶(收益帳戶名):

MicrosoftCrmSdkDataServicesService service = new MicrosoftCrmSdkDataServicesService(); 
try 
{ 
    Query<Account> act1 = service.createAccountQuery("/AccountSet"); 
    Iterator<Account> accountTest = act1.iterator(); 
    while (((Iterator<Account>) accountTest).hasNext()) 
    { 
     String h = accountTest.next().getName().toString(); 
     if (h.equalsIgnoreCase("test account")) 
     { 
       System.out.print(hello); 
     } 
    } 
} 
catch (Exception e) 
{ 
    e.printStackTrace(); 
} 

所以這個問題時,我試圖更新和使用該服務從CRM刪除實體來。 UpdateEntity(obj)和service.DeleteEntity(Obj)方法。做這些並傳遞一個帳戶對象然而,當我得到這個錯誤:

Bad Request (400) - Can't update this entity http://domain:port/organization/xrmservices/2011/organizationdata.svc/AccountSet(9c1d0adc-08ed-e111-aece-00155d046501) 
    at org.restlet.ext.odata.Service.updateEntity(Service.java:1243) 
    at client.main(client.java:87) 

從這個就說明我把在正確的對象到updateEntity,因爲它是自動生成正確的GUID到查詢URL。但是它的格式不正確。它應該是(因爲這加載RSS提要的用於AccountSet和特定帳戶):

http://domain:port/organization/xrmservices/2011/organizationdata.svc/AccountSet(guid'9c1d0adc-08ed-e111-aece-00155d046501') 

莫非Web服務方法,我使用的是過時的,並沒有任何更多的有什麼用處? 有什麼明目張膽的我做錯了,我不接受?

感謝, 山姆

+0

你有沒有這些問題的解決方案,如果是的話讓我知道了解決方案來解決同樣的問題在我身邊。 –

+1

什麼是這個類MicrosoftCrmSdkDataServicesService,它是你寫的或來自某個jar嗎? –

回答

0

請檢查HTTP標頭這個生成的類發送。在更新的情況下,它應該是:

"X-HTTP-Method: MERGE" 

在刪除的情況下,這將是:

"X-HTTP-Method: DELETE"