Estándar de Iconos Mapping
Si ha diseñado su flujo para utilizar las reglas de mensajes del estándar ISO de Icon, puede anular el ipf.csm.icon-standard-mapping propiedad y establezca el valor en true. El valor predeterminado de esta propiedad se establece en false.
Cuando el Estándar de Icono Mapping está encendido, en un csm- En un proyecto de implementación de servicio, un desarrollador puede crear un actualizador de Salida/Entrada para cada ISO canónica.message type, que actualizará el mensaje canónico antes de que se mapee al formato de esquema y se valide. Estos actualizadores deben definirse como spring beans.
Ejemplo de OutboundCanonicalMessageUpdater para FITo FICustomer Credit Transfer V08:
package com.iconsolutions.instantpayments.rt1.adapter.updater;
import com.iconsolutions.instantpayments.csm. OutboundCanonicalMessageUpdater;
import com.iconsolutions.iso20022.message.components.payment.group_header93. GroupHeader93;
import com.iconsolutions.iso20022.message.definitions.payments_clearing_and_settlement.pacs008. FIToFICustomerCreditTransferV08;
public class OutboundCCTUpdater implements OutboundCanonicalMessageUpdater<FIToFICustomerCreditTransferV08> {
@Override
public FIToFICustomerCreditTransferV08 update(FIToFICustomerCreditTransferV08 message) {
return message.toBuilder()
.grpHdr(message.getGrpHdr().toBuilder()
.intrBkSttlmDt(message.getCdtTrfTxInf().get(0).getIntrBkSttlmDt())
.build()
)
.build();
}
@Override
public Class<FIToFICustomerCreditTransferV08> supportedType() {
return FIToFICustomerCreditTransferV08.class;
}
}
Ejemplo de InboundCanonicalMessageUpdater para FITo FICustomer Credit Transfer V08:
package com.iconsolutions.instantpayments.rt1.adapter.updater;
import com.iconsolutions.instantpayments.csm. InboundCanonicalMessageUpdater;
import com.iconsolutions.instantpayments.csm. UpdatedContentWithSupportingContext;
import com.iconsolutions.iso20022.message.components.payment.group_header93. GroupHeader93;
import com.iconsolutions.iso20022.message.definitions.payments_clearing_and_settlement.pacs008. FIToFICustomerCreditTransferV08;
public class InboundCCTUpdater implements InboundCanonicalMessageUpdater<FIToFICustomerCreditTransferV08> {
@Override
public UpdatedContentWithSupportingContext<FIToFICustomerCreditTransferV08> update(FIToFICustomerCreditTransferV08 message) {
FIToFICustomerCreditTransferV08 message = message.toBuilder()
.cdtTrfTxInf(message.getCdtTrfTxInf().stream()
.map(creditTransferTransaction39 -> creditTransferTransaction39.toBuilder()
.intrBkSttlmDt(message.getGrpHdr().getIntrBkSttlmDt())
.build()
).toList()
)
.build();
return new UpdatedContentWithSupportingContext<>(message);
}
@Override
public Class<FIToFICustomerCreditTransferV08> supportedType() {
return FIToFICustomerCreditTransferV08.class;
}
}