kora-soap-clientlisted
Install: claude install-skill kora-projects/kora-skills
# Kora SOAP Client
> **Kora sub-skill — obey the [kora-v1 meta rules](../../SKILL.md) on every task:** **R0** ensure `.kora-agent/` docs+examples are cloned · **R1** read this sub-skill before writing code · **R2** Kora APIs only — no Spring/Micronaut/Quarkus, no invented annotations or config keys · **R3** journal any incorrect Kora usage. Add comments/Javadoc only if asked.
**Compile-time generated SOAP clients** for external SOAP web services. Zero runtime reflection — all code generated at compile time from JAX-WS annotations (`@WebService`).
**Key features:**
- WSDL-first workflow via `wsdl2java` Gradle plugin
- Full telemetry (logging, metrics, tracing)
- Reactive methods (`*Reactive` → `Mono<T>`)
- `javax.jws` and `jakarta.jws` support
---
## Quick Start
### 1. Dependencies
```groovy
plugins {
id "com.github.bjornvester.wsdl2java" version "2.0.2"
}
dependencies {
koraBom platform("ru.tinkoff.kora:kora-parent:1.2.16")
annotationProcessor "ru.tinkoff.kora:annotation-processors"
annotationProcessor "ru.tinkoff.kora:soap-client-annotation-processor"
implementation "ru.tinkoff.kora:soap-client"
implementation "ru.tinkoff.kora:http-client-jdk" // Required
}
```
### 2. WSDL Setup
Place WSDL in `src/main/resources/wsdl/`:
```groovy
wsdl2java {
cxfVersion = "4.0.2"
wsdlDir = layout.projectDirectory.dir("src/main/resources/wsdl")
useJakarta = true
markGenerated = true
packageName = "com.example.generated.soap"
generated