Skip to content

Commit

Permalink
Skal håndtere xml-kvitteringen fra oppdrag som har xmlns som gjør at …
Browse files Browse the repository at this point in the history
…vi ikke klarer å unmarshalle. Usikker på hva som er en mer presis fiks her
  • Loading branch information
charliemidtlyng committed Feb 29, 2024
1 parent 74f6dde commit aaa05b5
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,24 +28,15 @@ class OppdragMottaker(
fun mottaKvitteringFraOppdrag(melding: TextMessage) {
try {
behandleMelding(melding)
secureLogger.info(melding.text)
} catch (e: Exception) {
secureLogger.warn("Feilet lesing av melding=${melding.jmsMessageID} meldingInnhold=${melding}", e)
secureLogger.info("Meldingsinnhold: =${melding.text}")
throw e
}
}

private fun behandleMelding(melding: TextMessage) {
var svarFraOppdrag = melding.text as String
if (!env.activeProfiles.any { it in lokaleProfiler }) {
if (svarFraOppdrag.contains("ns2:oppdrag")) {
svarFraOppdrag = svarFraOppdrag.replace("oppdrag xmlns", "ns2:oppdrag xmlns:ns2")
} else if (svarFraOppdrag.contains("ns6:oppdrag")) {
svarFraOppdrag = svarFraOppdrag.replace("oppdrag xmlns", "ns6:oppdrag xmlns:ns6")
} else if(svarFraOppdrag.contains("<oppdrag xmlns=\"http://www.trygdeetaten.no/skjema/oppdrag\">")) {
svarFraOppdrag = svarFraOppdrag.replace("<oppdrag xmlns=\"http://www.trygdeetaten.no/skjema/oppdrag\">", "<oppdrag>")
}
}
val svarFraOppdrag = håndterSvarFraOppdragSomGyldigXml(melding)

val kvittering = lesKvittering(svarFraOppdrag)
val oppdragId = kvittering.id
Expand Down Expand Up @@ -78,6 +69,22 @@ class OppdragMottaker(
)
}

private fun håndterSvarFraOppdragSomGyldigXml(melding: TextMessage): String {
var svarFraOppdrag = melding.text as String
if (!env.activeProfiles.any { it in lokaleProfiler }) {
if (svarFraOppdrag.contains("ns2:oppdrag")) {
svarFraOppdrag = svarFraOppdrag.replace("oppdrag xmlns", "ns2:oppdrag xmlns:ns2")
} else if (svarFraOppdrag.contains("ns6:oppdrag")) {
svarFraOppdrag = svarFraOppdrag.replace("oppdrag xmlns", "ns6:oppdrag xmlns:ns6")
}
}
if (svarFraOppdrag.contains("<oppdrag xmlns=\"http://www.trygdeetaten.no/skjema/oppdrag\">")) {
svarFraOppdrag =
svarFraOppdrag.replace("<oppdrag xmlns=\"http://www.trygdeetaten.no/skjema/oppdrag\">", "<oppdrag>")
}
return svarFraOppdrag
}

/**
* I dev og e2e settes status alltid til KVITTER_OK
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ class OppdragMQMottakTest {
}

@Test
fun kvittering_feiler_i_preprod() {
fun kvittering_feiler_uten_namespace_med_xmlns_tag() {
val kvittering: String = lesKvittering("kvittering-krasjer.xml")
val statusFraKvittering = oppdragMottaker.lesKvittering(kvittering).status
assertEquals(Status.OK, statusFraKvittering)
assertEquals(Status.UKJENT, statusFraKvittering)
}

@Test
Expand Down

0 comments on commit aaa05b5

Please sign in to comment.