Я разрабатываю приложение Corda, используя Kotlin. Я на веб-сервере весенней загрузки. Мое требование состоит в том, чтобы получить (почтальон или любой API извне) XML в requestBody и создать IOU (передать) этот xml в том виде, как он есть в Flow, но я не могу этого сделать. когда я определяю это как строку и передаю этот xml, я могу это сделать. но за XML я борюсь. Может кто-нибудь помочь, пожалуйста. Ниже мой код. Я делаю что-то не так здесь. Проблема в том, что я не получаю ошибку, но она просто не работает.
@PostMapping(value = ["createTransaction"],consumes = [MediaType.APPLICATION_XML_VALUE],produces = [ MediaType.TEXT_PLAIN_VALUE])
private fun TransactionOne(@RequestBody ()employee:Document, @RequestParam(value = "payload") payload: String, @RequestParam(value = "partyName") partyName: String): ResponseEntity<String> {
val partyX500Name = CordaX500Name.parse(partyName)
val otherParty = proxy.wellKnownPartyFromX500Name(partyX500Name) ?: return ResponseEntity.badRequest().body("Party named $partyName cannot be found.\n")
return try {
val signedTx = proxy.startTrackedFlow(::IOUFlow, employee, otherParty).returnValue.getOrThrow()
ResponseEntity.status(HttpStatus.CREATED).body("Transaction id {$signedTx} committed to ledger.\n")
} catch (ex: Throwable) {
logger.error(ex.message, ex)
ResponseEntity.badRequest().body(ex.message!!)
}
}