https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/merge?view=dynamics-ce-odata-9
"@odata.type": "Microsoft.Dynamics.CRM.account"
"@odata.type@odata.type": "String",
"@odata.type": "Microsoft.Dynamics.CRM.account"
An error occurred while validating input parameters: Microsoft.OData.ODataException: Does not support untyped value in non-open type.
at System.Web.OData.Formatter.Deserialization.DeserializationHelpers.ApplyProperty(ODataProperty property, IEdmStructuredTypeReference resourceType, Object resource, ODataDeserializerProvider deserializerProvider, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.Deserialization.ODataResourceDeserializer.ApplyStructuralProperties(Object resource, ODataResourceWrapper resourceWrapper, IEdmStructuredTypeReference structuredType, ODataDeserializerContext readContext)
at Microsoft.Crm.Extensibility.OData.CrmODataEntityDeserializer.ApplyStructuralProperties(Object resource, ODataResourceWrapper resourceWrapper, IEdmStructuredTypeReference structuredType, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.Deserialization.ODataResourceDeserializer.ReadResource(ODataResourceWrapper resourceWrapper, IEdmStructuredTypeReference structuredType, ODataDeserializerContext readContext)
at Microsoft.Crm.Extensibility.OData.CrmODataActionPayloadDeserializer.ReadEntry(ODataDeserializerContext readContext, ODataParameterReader reader, IEdmOperationParameter parameter)
at Microsoft.Crm.Extensibility.OData.CrmODataActionPayloadDeserializer.Read(ODataMessageReader messageReader, Type type, ODataDeserializerContext readContext)
at System.Web.OData.Formatter.ODataMediaTypeFormatter.ReadFromStream(Type type, Stream readStream, HttpContent content, IFormatterLogger formatterLogger) [HTTP/1.1 400 Bad Request]
作为参考,以下请求正文使用postman(普通的旧http客户端)工作:
{
"Target": {
"accountid": "b68c98c3-f339-e811-eeee-000d3a137a33",
"@odata.type": "Microsoft.Dynamics.CRM.account"
},
"Subordinate": {
"accountid": "f89a8c95-2353-e811-wwww-000d3a137896",
"@odata.type": "Microsoft.Dynamics.CRM.account"
},
"UpdateContent": {
"websiteurl": "testdata.com",
"@odata.type": "Microsoft.Dynamics.CRM.account"
},
"PerformParentingChecks": "false"
}
提前感谢你抽出时间来帮助我。
当试图使用“类型”系统时,使用Olingo客户机库可能会很费力。请在groovy中查看下面的代码片段,看看是否有帮助:
static AbstractODataInvokeRequest buildMergeRequest(ODataClient client, URI mergeUri,
String targetLeadIdStr, String subLeadIdStr) {
Map<String, ClientValue> params = [:]
params.put("Target", buildEntityIdComplex(client, "leadid", targetLeadIdStr))
params.put("Subordinate", buildEntityIdComplex(client, "leadid", subLeadIdStr))
params.put("UpdateContent", buildEntityIdComplex(client, "leadid", "00000000-0000-0000-0000-000000000000"))
params.put("PerformParentingChecks", client.getObjectFactory().newPrimitiveValueBuilder().buildBoolean(false))
AbstractODataInvokeRequest funcReq =
client.getInvokeRequestFactory().getActionInvokeRequest(mergeUri, ODataError.class, params)
.addCustomHeader("Authorization", "Bearer ${accessToken}")
funcReq.setFormat(ContentType.JSON_NO_METADATA)
return funcReq;
}
static ClientComplexValue buildEntityIdComplex(ODataClient client, String entityIdName, String entityIdValStr) {
ClientComplexValue targetLeadId = client.getObjectFactory().
newComplexValue("Microsoft.Dynamics.CRM.lead")
targetLeadId.add(client.getObjectFactory().newPrimitiveProperty(entityIdName,
client.getObjectFactory().newPrimitiveValueBuilder().buildGuid(buildKey(entityIdValStr))))
targetLeadId.add(client.getObjectFactory().newPrimitiveProperty("@odata.type",
client.getObjectFactory().newPrimitiveValueBuilder().buildString("#Microsoft.Dynamics.CRM.lead")))
return targetLeadId
}
注意到:
使用NamedNativeQuery时是否可以设置namedEntityGraph? 我获取用户实体如下: 实体图: 然而,我得到以下警告: 设置了javax.persistence.fetchgraph提示,但该值不是EntityGgraph! 那么,是否可以使用命名的本机查询设置实体图? 我当前正在过滤器中为当前REST请求设置用户。我希望能够根据匹配资源方法上的注释动态地为用户获取entit
本文向大家介绍spring如何动态指定具体实现类,包括了spring如何动态指定具体实现类的使用技巧和注意事项,需要的朋友参考一下 在写接口实现时,有时会有多个实现类。这篇文章介绍在调用时通过传入字符串来指定具体的实现类。 一.接口与实现类: 在实现类中重写了toString() 方法,可以自定义字符串,当调用时传入指定的字符串就能获取到相应的bean。 二.register书写: 三.测试类:
我有一个实体类,jpa正在抛出一个验证异常,说明指定了主键。我不明白为什么。 请参阅下面的详细信息:*内部异常:javax.Persistence.persistenceException:Exception[EclipseLink-28018](Eclipse Persistence.Exceptions.EntityManagerSetupException异常描述:Predeployment
我将我的应用程序从spring boot 2.2.5升级到2.3.3,并且我正在使用spring data JPA starter和5.4.20.Final板载。我的实体在编译时得到了增强。 现在,当我使用注释与属性覆盖来自的方法时,我收到了这个警告: 即使这个警告-图是正确获取-我只能看到一个SQL查询日志和应用程序的行为之前的更新。 这是我的存储库代码: 这是我的实体: 如何解决此警告?我可以
我有一个Java7/Spring3.2.17应用程序,它必须连接到两个不同的数据库,因此我有两个不同的persistence.xml文件,每个文件都声明自己的持久性单元。 在我的DAO类中,我只是让Spring注入实体管理器: Spring抱怨我有两个EM工厂,所以它不知道该用哪一个: NouniqueBeanDefinitionException:未定义[javax.persistence.En
我知道类似的问题,但它们是在Hibernate的范围内被问到和回答的。我也有同样的问题,但我正在使用Eclipselink,想知道对于Hibernate,是否有更好的或替代的解决方案。 简单地回顾一下这个问题: 我有两个相互继承的类: 现在我想把一个孩子变成父母,或者反过来。 我希望现在p的数据库行是。 另一种方法是这样的: 在这种情况下,我希望与一起保存,并丢失的值。 然而,上面所描述的并不奏效