Let's start with a wadl-client-plugin
configuration that works properly on Java 8 (provided that I added a jaxp.properties
file inside the JDK as documented here):
<plugin>
<groupId>org.jvnet.ws.wadl</groupId>
<artifactId>wadl-client-plugin</artifactId>
<version>1.1.6</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<targets>
<target>http://127.0.0.1:8080/sigb/rest/application.wadl</target>
</targets>
<packageName>sigb.ws</packageName>
<autopackaging>true</autopackaging>
<customizations>
<customization>${basedir}/src/main/resources/bindings.xjb</customization>
</customizations>
<customClassNames>
<property>
<name>http://127.0.0.1:8080/sigb/rest/</name>
<value>SigbWsClient</value>
</property>
</customClassNames>
<generationStyle>jaxrs20</generationStyle>
</configuration>
</plugin>
As may be guessed from above, my WADL is generated by Jersey, which is the supporting framework I used to develop my REST application.
When switching to Java 9 or 10, of course I have to add dependencies for JAXB, which isn't available anymore by default. I added the following to the above configuration:
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.0.1</version>
</dependency>
</dependencies>
Now JAXB fails because of the namespace Jersey (rightfully) includes in the WADL it generates. The error is described as follows (I translated the messages from French, so they may not exactly match their original English version):
[ERROR] Failed to execute goal org.jvnet.ws.wadl:wadl-client-plugin:1.1.6:generate (default) on project sigbws-bul-ws-client: Failed to generate sources from http://127.0.0.1:8080/sigb/rest/application.wadl.
Internal error: unexpected element (URI : "http://wadl.dev.java.net/2009/02", local : "application"). Expected elements are <{}application>,<{}doc>,<{}grammars>,<{}include>,<{}link>,<{}method>,<{}option>,<{}param>,<{}representation>,<{}request>,<{}resource>,<{}resource_type>,<{}resources>,<{}response> -> [Help 1]
If anyone has a clue about this bug, any help will be greatly appreciated.
Thanks in advance...