We develop a Java application that still requires Java 8 to run and we are planning to support Java 11. To do that, we have to find replacements for the classes related to xml and webservices that were removed (see JEP 320). We downloaded all the jars we needed, but when we try to connect to a webservice, we get this error:
MASM0004: No <tubelines> section found in the default [ jaxws-tubes-default.xml ] configuration file
Comparing the jaxws-tubes-default.xml files from Java 8 and from the jars we collected, we see they have nearly the same content, except for slight differences on package names.
As far as we could sort out, it happens because the file unmarshaller reads the xml contents into the wrong attributes of the com.sun.xml.ws.runtime.config.MetroConfig
class. The Tubelines
object read from the xml is not set on the tubelines
attribute. Instead, it's set on the any
attribute.
Debugging deeper into the code, we could see that on Java 8 the tubelines
attribute is associated with the namespace "http://java.sun.com/xml/ns/metro/config", but on Java 11 it's not.
We could not dig any deeper, nor could we find any information about this on the web.
Does anyone have any idea that could help us make the file be parsed as expected?
EDIT: It's been suggested that my question is a duplicate of this one, but it's not. The linked question explains the changes brought by Java 11. My question is about a problem I found when following those steps. The problem we have is not covered on that question.