Here should be some fancy logo
Jackson SOAP implementation over jackson-dataformat-xml
Maven:
<!-- Legacy (JAXB) artifact -->
<dependency>
<groupId>ru.sokomishalov.jackson</groupId>
<artifactId>jackson-datatype-soap-jaxb</artifactId>
<version>x.y.z</version>
</dependency>
<!-- New (Jakarta) artifact -->
<dependency>
<groupId>ru.sokomishalov.jackson</groupId>
<artifactId>jackson-datatype-soap-jakarta</artifactId>
<version>x.y.z</version>
</dependency>
Gradle kotlin dsl:
// Legacy (JAXB) artifact
implementation("ru.sokomishalov.jackson:jackson-datatype-soap-jaxb:x.y.z")
// New (Jakarta) artifact
implementation("ru.sokomishalov.jackson:jackson-datatype-soap-jakarta:x.y.z")
Used this SOAP message for deserialization in example below.
fun main() {
val mapper = SoapMapper()
val content = this.javaClass.getResource("/example/get_person_output_ws_addr.xml").readText()
val deserialized: SoapEnvelope<SoapAddressingHeaders, GetPersonOutput> = mapper.readValue(content)
val serialized = mapper.writeValueAsString(deserialized)
}