retorno de chamada para objeto de modelo
-
28-09-2020 - |
Pergunta
Estou tentando descobrir como definir um retorno de chamada para meu objeto de modelo, por meio do Mate Frameworks LocalEventMap.
<EventHandlers type="{WebServiceEvent.RT_GET}" debug="true">
<HTTPServiceInvoker url="/services/rtGet.asp">
<resultHandlers>
<CallBack method="rtGetHandleResult" arguments="{resultObject}"/>
</resultHandlers>
<faultHandlers>
<CallBack method="rtGetHandleFault" arguments="{fault}"/>
</faultHandlers>
</HTTPServiceInvoker>
</EventHandlers>
O evento é originalmente despachado do modelo, por meio das visualizações (como propriedade do despachante do modelo).No entanto, quando o retorno de chamada está pronto para ser acionado, recebo o seguinte erro.
---------------------------------------------------------
- ERROR: Method rtFeesGetHandleResult not found in class OrderEntryView_0_Main
- EVENT TYPE: "WebstoreServiceEvent.RT_FEES_GET" (rtFeesGet)
- TAG: CallBack
- METHOD: rtFeesGetHandleResult
- FILE: OrderEntryEventMap
- 1 ARGUMENT SUPPLIED: [object Object]
---------------------------------------------------------
Recebo essencialmente o mesmo erro se tento fazer method="model.rtGetHandleResult"
Então, seguindo o modelo de apresentação...como faço para que o mapa de eventos leve isso para o modelo executar?
Solução 2
Sim, existe uma maneira melhor.No meu caso, não havia NECESSIDADE real de ter o <resultHandler />
um problema <callback />
.Basta substituir o callback
com methodInvoker
, e adicione um generator
propriedade a ele, apontando para o modelo em questão.
Agora, se você realmente PRECISA de um retorno de chamada para trabalhar dessa maneira, estou bastante convencido de que algum tipo de função de passagem é o seu único caminho a seguir.
Outras dicas
Uma possibilidade seria criar uma função de 'passagem' no objeto de visualização, para entregar o resultObject do modelo para manipulação.