Ich habe ein paar JAX-WS-Dienste, die ich zu konsumieren versuche, aber die vom Dienst zurückgegebene XML (die ich nicht ändern kann) hat eine ungültige DTD (erzeugt die XMLStreamReaderException, da keine Leerstellen dazwischen liegen publicId
und systemId
). Wie lasse ich die Clients schlecht formatierte DTDs ignorieren?
Ist der ungültige DTD
Teil eines WSDL
? Wenn ja, könnten Sie JAXWS catalog
verwenden, um XML
lokal zu lesen und dann den Service aufzurufen.
Sie müssen WSDL
herunterladen, reparieren und lokal speichern. Wenn Sie dann eine Service
-Instanz erstellen, lesen Sie WSDL
von Ihrem lokalen Speicher. Aktualisieren Sie die endpoint
-Eigenschaft, und rufen Sie den Dienst auf.