Nicht gebundene WSDL
Wenn Sie eine Clientanwendung mit den empfohlenen Methoden entwickeln, können Sie ein WSDL-Dokument verwenden, das nur die Definition eines Porttyps und keine spezifischen Bindungen oder Portadressen enthält. Ein solches WSDL-Dokument ist als nicht gebundenes WSDL-Dokument bekannt.
Die Einzelheiten zur spezifischen Implementierung des Web-Service, die Bindungen und die Portadressen müssen während der Implementierung mit einer gebundenen WSDL oder mit einem umgeleiteten Bindungs-Namespace und einer Endpunktadresse beim Implementieren der Clientanwendung oder später bei der Verwaltung angegeben werden.
Die aktuelle WSDL-Spezifikation erfordert, dass ein Element "binding" und ein Element "port" von einem Element "service" auf einen Porttyp verweisen, damit diese Elemente in einem nicht gebundenen Dokument vorhanden sind. Sie erhalten jedoch keine Erweiterbarkeitselemente, um eine spezifische Implementierung des Service zu definieren.
<definitions targetNamespace="http://www.ibm.com/websphere/sib/webservices/Service"
xmlns:tns = "http://www.ibm.com/websphere/sib/webservices/Service">
<message name="GetQuoteInput">
<part name="symbol type="xsd:string"/>
</message>
<message name="GetQuoteOutput">
<part name="value" type="xsd:float"/>
</message>
<portType name="StockQuote">
<operation name="getQuote">
<input message="tns:GetQuoteInput"/>
<output message="tns:GetQuoteOutput"/>
</operation>
</portType>
<binding name="StockQuoteBinding" type="StockQuote"/>
<operation name="getQuote"/>
</binding>
<service name="StockQuote">
<port name="StockQuotePort" binding="StockQuoteBinding" />
</service>
</definitions>"
Während der Implementierung ersetzt eine gebundene WSDL in der Regel die WSDL, die für die Entwicklung verwendet wird. Nach dem Ersetzen der WSDLs können die Portbindungen und Adressen neu definiert werden. Die nicht gebundene WSDL kann weiterverwendet werden, wenn Sie einen anderen Bindungs-Namespace und eine andere Endpunktadresse für den leeren Port angeben.
Wenn Sie die Konfiguration eines Service für eingehende Daten ändern, können Sie die nicht gebundene WSDL für Busziele, die für Web-Service-Zugriffe aktiviert sind, in eine komprimierte Datei exportieren. Das exportierte, nicht gebundene WSDL-Dokument kann anschließend für die Entwicklung von Requester-Anwendungen für Web-Services verwendet werden, die Web-Service-Nachrichten über die Messaging-Ziele senden.
Sie können für das Generieren einer nicht gebundenen WSDL auch das Tool java2wsdl verwenden. Das Tool java2wsdl unterstützt jetzt auch den Wert "none" für die Option -bindingTypes. Wenn Sie diesen Wert angeben, erzeugt das Tool eine nicht gebundene Version des WSDL-Dokuments zur Darstellung des Java-Objekts.