libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit 8de07671a7c8ce4f26bc31661351efc7dd68fd8c
parent c384fd4a41146ca6e5a0a3f4c3eb06b96d9f0dbe
Author: ms <ms@taler.net>
Date:   Sat, 13 Nov 2021 12:52:04 +0100

fix negative balance report

Diffstat:
Msandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt | 22++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt b/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt @@ -348,10 +348,10 @@ fun buildCamtString( } element("Amt") { attribute("Ccy", "EUR") - balancePrcd.abs().toPlainString() + text(balancePrcd.abs().toPlainString()) } element("CdtDbtInd") { - getCreditDebitInd(balancePrcd) + text(getCreditDebitInd(balancePrcd)) } element("Dt/Dt") { // date of this balance @@ -367,10 +367,10 @@ fun buildCamtString( } element("Amt") { attribute("Ccy", "EUR") - balanceClbd.abs().toPlainString() + text(balanceClbd.abs().toPlainString()) } element("CdtDbtInd") { - getCreditDebitInd(balanceClbd) + text(getCreditDebitInd(balanceClbd)) } element("Dt/Dt") { text(dashedDate) @@ -743,9 +743,10 @@ private fun handleEbicsC52(requestContext: RequestContext): ByteArray { report.size == 1, "C52 response does not contain one Camt.052 document" ) - if (!XMLUtil.validateFromString(report[0])) throw EbicsProcessingError( - "One statement was found invalid." - ) + if (!XMLUtil.validateFromString(report[0])) { + logger.error("This document was generated invalid:\n${report[0]}") + throw EbicsProcessingError("One outgoing report was found invalid.") + } return report.map { it.toByteArray() }.zip() } @@ -777,9 +778,10 @@ private fun handleEbicsC53(requestContext: RequestContext): ByteArray { dateRange ) camtStatements.forEach { - if (!XMLUtil.validateFromString(it)) throw EbicsProcessingError( - "One statement was found invalid." - ) + if (!XMLUtil.validateFromString(it)) { + logger.error("This document was generated invalid:\n$it") + throw EbicsProcessingError("One outgoing statement was found invalid.") + } } return camtStatements.map { it.toByteArray() }.zip() }