Flex中的DataStore

时间:2011-02-27 16:08:57

标签: flash flex

我的课程有问题...请告诉我什么是正确的

这是我的编程的错误代码

mx.data::Conflict {
  cause = mx.data.messages::DataMessage {
    body = [["lessonid"],
    {
      lessonid = 17
      lessonplanid = 1
      status = "active"
      studentid = 4
    },
    valueObjects::Lessonplan {
      lessonid = 18
      lessonplanid = 1
      status = "active"
      studentid = 4
    }]
    clientId = null
    correlationId = ""
    destination = "lessonplanRPCDataManager"
    headers = {
      newReferencedIds = null
      prevReferencedIds = null
    }
    identity = {
      lessonplanid = 1
    }
    messageId = "28DEF63D-9002-787E-188A-67DFD27407F8"
    operation = 3
    timestamp = 0
    timeToLive = 0
  }
  causedByLocalCommit = false
  clientObject = valueObjects::Lessonplan {
    lessonid = 18
    lessonplanid = 1
    status = "active"
    studentid = 4
  }
  destination = "lessonplanRPCDataManager"
  errorID = 0
  message = "Local item has changes to properties that conflict with remote change."
  name = "Error"
  originalObject = {
    lessonid = 17
    lessonplanid = 1
    status = "active"
    studentid = 4
  }
  propertyNames = ["lessonid"]
  resolved = false
  serverObject = lessonplanid=1
  serverObjectDeleted = false
  serverObjectReferencedIds = {
  }
}
    at mx.data::DataStore/http://www.adobe.com/2006/flex/mx/internal::processConflict()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\DataStore.as:3428]
    at mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/internal::updateCache()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\ConcreteDataService.as:5468]
    at mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/internal::updateCacheWithId()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\ConcreteDataService.as:5316]
    at mx.data::DataList/http://www.adobe.com/2006/flex/mx/internal::processSequence()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\DataList.as:2582]
    at mx.data::DataList/http://www.adobe.com/2006/flex/mx/internal::processSequenceResult()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\DataList.as:2880]
    at mx.data::DataListRequestResponder/result()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\DataListRequestResponder.as:132]
    at mx.data::RPCDataServiceAdapter/sendResultEvent()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\RPCDataServiceAdapter.as:1508]
    at mx.data::RPCDataServiceAdapter/executeQueryResult()[C:\depot\DataServices\branches\lcds_modeler101\frameworks\projects\data\src\mx\data\RPCDataServiceAdapter.as:1444]
    at mx.collections::ItemResponder/result()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\collections\ItemResponder.as:129]
    at mx.rpc::AsyncToken/http://www.adobe.com/2006/flex/mx/internal::applyResult()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AsyncToken.as:239]
    at mx.rpc.events::ResultEvent/http://www.adobe.com/2006/flex/mx/internal::callTokenResponders()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\events\ResultEvent.as:207]
    at mx.rpc::AbstractOperation/http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AbstractOperation.as:244]
    at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::resultHandler()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:318]
    at mx.rpc::Responder/result()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\Responder.as:56]
    at mx.rpc::AsyncRequest/acknowledge()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:84]
    at NetConnectionMessageResponder/resultHandler()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\messaging\channels\NetConnectionChannel.as:547]
    at mx.messaging::MessageResponder/result()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\messaging\MessageResponder.as:235]

1 个答案:

答案 0 :(得分:1)

Flex documentation说,类型冲突的错误是

  

检测到冲突时调度   两者之间的待定变更之间   客户和提交的更改   另一个客户,或更改时   由此客户提交结果检测   远程的冲突错误   目的地。

您必须自己解决问题(不是由Flex引起的,而是由您想要提交的数据)。

  

本地商品已更改为属性   与远程变革发生冲突。

听起来像你有某种验证失败,因为

clientObject = valueObjects::Lessonplan {
    lessonid = 18
    lessonplanid = 1
    status = "active"
    studentid = 4   }

originalObject = {
    lessonid = 17
    lessonplanid = 1
    status = "active"
    studentid = 4
  }

不兼容。我想不允许改变theionionid。