无效的命名属性(Invalid Named Property)

2019-10-30 01:58发布

我们呼吁在Microsoft Exchange设置扩展属性,它在我们的例子是一个唯一的GUID

microsoft.exchange.webservices.data.core.exception.service.remote.ServiceResponseException: An internal server error occurred. The operation failed., Invalid named property

它被直到现在,当我们的一些用户所面临的上述问题,伟大的工作....

 val uId = getUniqueId();    

val emailExtendedPropDef = new ExtendedPropertyDefinition(uId,"uniqueId", MapiPropertyType.String)
    try {
      email.setExtendedProperty(emailExtendedPropDef, uId.toString)
      email.sendAndSaveCopy()
    } catch {
      case e: Exception =>
        error(s"Exception in setting extended property for user $from", e)
        throw e
    }

试图找到问题的根源,我们也在思考它可能(如何证明它是否确实节流不知道)涉及到微软Exchange限制了扩展属性的任何帮助,为我们指出了正确的方向会有很大的救命

我们的用例是能够检索电子邮件时客户希望的回覆我们希望检索特定的邮件可以被包含在用户答复....我们目前正在使用的UID实现这一....

我们一直使用的代码按这里的文档

https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/dd633654(v%3Dexchg.80)

并且还文档在这里

https://github.com/OfficeDev/ews-java-api/wiki/Getting-Started-Guide#extended-properties

更新:根据意见,我们都明白,我们要像对待extendedProperty为列定义和更新同一列...但我们无法弄清楚如何做到这一点的...任何代码样本为我们指出了正确的方向会有很大的帮助

最新:我们已经删除了一些extendedPropertyDefinition的,但仍然面临着同样的无效属性可能有人请点我们在朝着正确的方向

Answer 1:

它是安全地说,getUniqueId返回每次调用不同的GUID? 如果是这样,那么这就是问题所在。 认为GUID的延长的道具为命名空间。 Exchange存储限制的自定义扩展道具的数量,像每个邮箱32K。 所以你很可能触及该限制。 但除此之外,用于创建扩展属性的主要原因是,这样你可以参考它以后。 但是,如果你每次都基本上废弃的命名空间,你离开孤立的物品道具。 不理解您的特定情况下,我只能说的GUID应该被认为是真正的命名空间。 选择适合您的应用程序/公司/场景,硬编码。 他们创建所有你想要的命名空间内,在指定的道具。 例如,“MyProp /字符串”中的Guid命名空间1是不同的属性比的Guid命名空间2“MyProp /字符串”。



文章来源: Invalid Named Property