技术文章 - CS387857
异常“com.ptc.core.meta.container.common.ConstraintException:无法更改 XXX 的值。”在 Windchill 中使用 PersistableAdapter API 更新基于实例的属性 (IBA)
已修改: 06-Mar-2023
适用于
- Windchill PDMLink 11.1 to 12.1
说明
- 使用PersistableAdapter API 更新基于实例的属性 (IBA)时出现异常“ com.ptc.core.meta.container.common.ConstraintException: The value for XXX cannot be changed.”
- 无法为选择子类型的IBA设置/更新属性值
com.ptc.core.meta.container.common.ConstraintException:无法更改 ext.ud.aftermarket.Test 的值。
在 com.ptc.core.meta.container.common.impl.DefaultConstraintValidator.isAddValid(DefaultConstraintValidator.java:115)
在 com.ptc.core.meta.container.common.impl.BasicAttributeContainer._put(BasicAttributeContainer.java:3105)
在 com.ptc.core.meta.container.common.impl.BasicAttributeContainer._put(BasicAttributeContainer.java:2858)
在 com.ptc.core.meta.container.common.impl.BasicAttributeContainer.put(BasicAttributeContainer.java:972)
在 com.ptc.core.meta.type.common.impl.DefaultTypeInstance.put(DefaultTypeInstance.java:1024)
在 com.ptc.core.lwc.server.PersistableAdapter.set(PersistableAdapter.java:763)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:498)
在 wt.method.MethodResultWriter.writeExternal (MethodResultWriter.java:165)
在 wt.method.MethodResult.writeExternal (MethodResult.java:226)
在 java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1456)
在 java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1430)
在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
在 java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
在 sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:290)
在 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:367)
在 sun.rmi.transport.Transport$1.run(Transport.java:200)
在 sun.rmi.transport.Transport$1.run(Transport.java:197)
在 java.security.AccessController.doPrivileged(本机方法)
在 sun.rmi.transport.Transport.serviceCall(Transport.java:196)
在 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
在 java.security.AccessController.doPrivileged(本机方法)
在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
在 java.lang.Thread.run(Thread.java:748)
在 com.ptc.core.meta.container.common.impl.DefaultConstraintValidator.isAddValid(DefaultConstraintValidator.java:115)
在 com.ptc.core.meta.container.common.impl.BasicAttributeContainer._put(BasicAttributeContainer.java:3105)
在 com.ptc.core.meta.container.common.impl.BasicAttributeContainer._put(BasicAttributeContainer.java:2858)
在 com.ptc.core.meta.container.common.impl.BasicAttributeContainer.put(BasicAttributeContainer.java:972)
在 com.ptc.core.meta.type.common.impl.DefaultTypeInstance.put(DefaultTypeInstance.java:1024)
在 com.ptc.core.lwc.server.PersistableAdapter.set(PersistableAdapter.java:763)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:498)
在 wt.method.MethodResultWriter.writeExternal (MethodResultWriter.java:165)
在 wt.method.MethodResult.writeExternal (MethodResult.java:226)
在 java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1456)
在 java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1430)
在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
在 java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
在 sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:290)
在 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:367)
在 sun.rmi.transport.Transport$1.run(Transport.java:200)
在 sun.rmi.transport.Transport$1.run(Transport.java:197)
在 java.security.AccessController.doPrivileged(本机方法)
在 sun.rmi.transport.Transport.serviceCall(Transport.java:196)
在 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
在 java.security.AccessController.doPrivileged(本机方法)
在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
在 java.lang.Thread.run(Thread.java:748)
这是文章 387857 的 PDF 版本,可能已过期。最新版本 CS387857