# Komplexe Generierung von Java-Klassen aus WSDL



## LimDul (18. Mrz 2022)

Ich hab folgendes Problem:

Eine XSD commons.xsd im Maven Modul de.limdul.commons (src/main/resources/xsd)
Eine XSD other.xsd im Maven Modul de.limdul.other (src/main/resources/xsd)
Eine WSDL service.wsdl im Maven Modul de.limdul.other (src/main/resources/wsdl)

Die other.xsd importiert die commons.xsd und die service.wsdl importiert die other.xsd.

Das ist ein riesiger Krampf. Wenn ich die WSDL wegwerfe und nur aus der other.xsd die Java Klassen generieren will, dann funktioniert folgendes

in de.limdul.commons eine catalog.cat mit folgenden Eintrag anlegen:

```
REWRITE_SYSTEM "http://foo.bar/" "maven:de.limdul:commons::!/"
```
und in der other.xsd mit schemaLocation http://foo.bar/ referenzieren. Maven Plugin:


```
<plugin>
				<groupId>org.jvnet.jaxb2.maven2</groupId>
				<artifactId>maven-jaxb2-plugin</artifactId>
				<executions>
					<execution>
						<id>soap</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<extension>true</extension>
							<schemaDirectory>src/main/resources/xsd</schemaDirectory>
							<schemaIncludes>
								<include>**/*.xsd</include>
							</schemaIncludes>
							<bindingDirectory>src/main/resources/xsd</bindingDirectory>
							<generateDirectory>${project.build.directory}/generated-sources/extapi</generateDirectory>
							<generatePackage>de.limdul.package</generatePackage>
							<episodeFile />
							<catalogs>
								<catalog>
									<dependencyResource>
										<groupId>de.limdul</groupId>
										<artifactId>commons</artifactId>
										<resource>catalog.cat</resource>
									</dependencyResource>
								</catalog>
							</catalogs>
							<schemas>
								<schema>
									<url>http://foo.bar/xsd/commons.xsd</url>
								</schema>
							</schemas>
						</configuration>
					</execution>
				</executions>
			</plugin>
```


Problem, sobald ich anstelle der other.xsd die die WSDL als Eingabe nehme, fliegt er auf die Nase und kann die commons.xsd nicht mehr finden.

Ich bin für alle Ideen offen, ich bastel da mittlerweile seit ein paar Stunden dran


----------



## LimDul (18. Mrz 2022)

Ach die Sache mit dem catalog stammt von hier: https://github.com/highsource/maven...mmit/e5d7434b66d6edb09c4eec2f158c67d35ea6ae6e


----------

