Ich möchte einen SOAP-Dienst mit mehreren exponierten Porttypen erstellen, wobei jeder Porttyp eine eigene Schnittstelle hat. Ich versuche, dies mit JAX-WS 2.0 zu tun.
Beispiel:
interface A:
ObjectA get(String name);
interface B:
ObjectB get(String name);
Service:
port A
get
port B
get
Das Problem, das ich habe, ist, dass ein @WebService mit einer einzigen Klasse/Schnittstelle definiert ist, so dass die einzige Möglichkeit, die ich in der Lage bin, dies einzurichten, zwei separate Dienste ist. Jeder Dienst wird durch eine separate Klasse mit einer @WebService-Annotation implementiert.
Ich möchte beide Ports über denselben Dienst bereitstellen, um deutlich zu machen, dass beide Teil derselben API sind. Ist dies möglich?
Was ich wirklich will, ist eine Art von verschachtelter Namespace-Unterstützung in der WSDL, damit ich dieselben Methoden in verschiedenen Namespaces haben kann. Ich werde get/set/delete-Methoden für verschiedene Arten von Daten nebeneinander haben, aber ich möchte sie nicht alle in der gleichen großen Schnittstelle mit getA/getB und so weiter, da ich in der Lage sein möchte, neue Datentypen später hinzuzufügen, ohne alle Clients zu zwingen, aus dem neuen Satz von WSDLs zu regenerieren. Alle Tipps zum Erreichen dieses Ziels sind willkommen, auch wenn es bedeutet, eine andere Art der Generierung der WSDL aus Java-Code zu verwenden.