gpt4 book ai didi

Java 与 CRM Dynamics 2011 集成问题

转载 作者:行者123 更新时间:2023-12-02 09:22:33 24 4
gpt4 key购买 nike

第一次发海报!

我正在尝试通过 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();
}

因此,当我尝试使用 service.UpdateEntity(obj) 和 service.DeleteEntity(Obj) 方法从 CRM 更新和删除实体时,问题就出现了。但是,当执行这些操作并传入帐户对象时,我收到此错误:

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 中。然而它以错误的格式进行。它应该是(因为这会加载 AccountSet 和该特定帐户的 RSS 提要):

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

我正在使用的网络服务方法是否已经过时并且不再有任何用处?我是否有什么公然做错的事情我没有意识到?

谢谢,山姆

最佳答案

请检查此生成的类发送的 HTTP header 。如果是更新,则应为:

"X-HTTP-Method: MERGE"

如果删除,则为:

"X-HTTP-Method: DELETE"

关于Java 与 CRM Dynamics 2011 集成问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12837764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com