2012-11-17 11 views
6

Diese Fragen können albern sein, aber ich habe keine Möglichkeit gefunden, eine WSDL 2.0 von einem JAX-WS RI-Web-Service generiert zu bekommen.Wie generiert man WSDL 2.0 mit JAX-WS

Ich habe die neueste jax-ws-Version verwendet und wenn ich eine sehr einfache WS (wie das Beispiel unten) erstellen, wird die generierte WSDL Version 1.1 sein.

@WebService 
    public interface RandomNumberGenerator { 

     Integer getRandomNumber(); 

    } 

    @WebService(endpointInterface="RandomNumberGenerator") 
    public class RandomNumberGeneratorImpl { 

     public Integer getRandomNumber() { 
      return (int) (Math.random() * 1000); 
     }  
    } 

Kann jemand JAX-WS explizit sagen, um eine WSDL 2.0 zu erzeugen? Wenn man bedenkt, dass die W3C-Empfehlung 2.0 seit 2007 ist, bin ich ziemlich zuversichtlich, dass JAX-WS eine Möglichkeit bietet, diese zu generieren.

Danke.

Antwort

9

Ich bin ziemlich zuversichtlich, JAX-WS bietet eine Möglichkeit, es zu generieren.

Ich fürchte, es tut es nicht. Zitat aus the JAX-WS 2.0 specification, Seite 2, Abschnitt Ziele:

WSDL 2.0: Das W3C wird erwartet, um die Fortschritte WSDL 2.0 [11] Empfehlung während der Laufzeit dieses JSR. JAX-WS 2.0 fügt Unterstützung für WSDL 2.0 hinzu, während weiterhin WSDL 1.1 unterstützt werden muss. Hinweis: Die Expertengruppe für den JSR hat sich für dieses Release gegen dieses Ziel entschieden. Wir werden betrachten, um Unterstützung in einer zukünftigen Revision der JAX-WS Spezifikation hinzuzufügen.

Dies bedeutet, dass es in JAX-WS 2.0 keine WSDL 2.0-Unterstützung gibt, weshalb die Referenzimplementierung dies nicht bietet. Afaik, im Moment ist in diesem Bereich nicht viel Fortschritt.

Wenn Sie WSDL 2.0 entlang JAX-WS möchten, müssen Sie einen anderen Stapel verwenden, z. B. Axis2.

+1

Hat sich das geändert? Ist es jetzt möglich? Wie ist es im Fall von Glassfish 4? – bastiat

+2

Es wurde kein Update für JAX-WS durchgeführt (noch ist eines für Java 9, afaik, geplant), das hat sich nicht geändert. Mir sind auch keine WSDL-bezogenen Updates in Glassfish 4 bekannt. Um ehrlich zu sein, wäre ich sehr überrascht, wenn WSDL 2.0 jemals unterstützt würde. – joergl