Skip to content

Commit

Permalink
Merge pull request #24 from digitalservicebund/feat-generate-webservi…
Browse files Browse the repository at this point in the history
…ce-objects

Feat generate webservice objects
  • Loading branch information
ekl176 authored Nov 28, 2024
2 parents 213681a + c0a8504 commit b212a43
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 5 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,6 @@ lefthook-local.yml
application-local.yaml
signing_key.json
decryption_key.json

### egvp ###
EGVP-WebService.xml
22 changes: 22 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,28 @@ brew install lefthook node talisman

This will replace placeholders in the application template and install a couple of Git hooks.

## Generate sources for EGVP SOAP service

enable wsimport task in build.gradle.kts by setting

```
register("wsimport") {
enabled = true
...
```

Place the webservice wsdl into the resources folder

```
/src/main/resources/EGVP-WebService.xml
```

and run

```
./gradlew clean build
```

## Tests

The project has distinct unit and integration test sets.
Expand Down
36 changes: 32 additions & 4 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ java {
}

configurations { compileOnly { extendsFrom(annotationProcessor.get()) } }
val jaxws by configurations.creating

repositories { mavenCentral() }

Expand All @@ -39,13 +40,14 @@ dependencies {
implementation(libs.spring.boot.starter.web)
implementation(libs.spring.cloud.starter.kubernetes.client.config)
implementation(libs.fitko.fitconnect.sdk)

jaxws(libs.jaxws.tools)
implementation(libs.jakarta.xml.ws)
implementation(libs.jakarta.xml.bind)
jaxws(libs.jakarta.activation)
jaxws(libs.sun.xml.ws.jaxws)
compileOnly(libs.lombok)

developmentOnly(libs.spring.boot.devtools)

annotationProcessor(libs.lombok)

testImplementation(libs.spring.boot.starter.test)
testImplementation(libs.reactor.test)
testImplementation(libs.spring.security.test)
Expand All @@ -68,6 +70,32 @@ tasks {
dependsOn(test)
finalizedBy(jacocoTestReport)
}
register("wsimport") {
enabled = false
val destDir by extra("$buildDir/generated/main/java")
doLast {
ant.withGroovyBuilder {
mkdir(destDir)
"taskdef"(
"name" to "wsimport",
"classname" to "com.sun.tools.ws.ant.WsImport",
"classpath" to configurations["jaxws"].asPath,
)
"wsimport"(
"keep" to true,
"sourcedestdir" to destDir,
"wsdl" to "$projectDir/src/main/resources/EGVP-WebService.xml",
"verbose" to true,
) {
"xjcarg"("value" to "-XautoNameResolution")
}
}
}
}
compileJava {
dependsOn("wsimport")
source("$buildDir/generated/main/java")
}

check {
dependsOn("integrationTest")
Expand Down
6 changes: 5 additions & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-star
spring-cloud-starter-kubernetes-client-config = "org.springframework.cloud:spring-cloud-starter-kubernetes-client-config:3.1.3"
spring-security-test = { module = "org.springframework.security:spring-security-test" }
fitko-fitconnect-sdk = "dev.fitko.fitconnect.sdk:client:2.3.5"

jaxws-tools = "com.sun.xml.ws:jaxws-tools:3.0.0"
jakarta-xml-ws = "jakarta.xml.ws:jakarta.xml.ws-api:3.0.0"
jakarta-xml-bind = "jakarta.xml.bind:jakarta.xml.bind-api:4.0.0"
jakarta-activation = "jakarta.activation:jakarta.activation-api:2.0.0"
sun-xml-ws-jaxws = "com.sun.xml.ws:jaxws-rt:3.0.0"
[plugins]
dependency-license-report = "com.github.jk1.dependency-license-report:2.9"
sonarqube = "org.sonarqube:6.0.0.5145"
Expand Down

0 comments on commit b212a43

Please sign in to comment.