Web-Services können mit ?wsdl abgefragt werden.
Ein Web-Service-Client kann eine HTTP GET-Anforderung mit einer ?wsdl-Abfragezeichenfolge an einen WebSphere Message Broker-Web-Service senden und erhält eine WSDL-Darstellung zurück, die zur Konfiguration des Empfangsknotens, der den Endpunkt des Service bildet, verwendet wurde. Dies ist nur möglich für Empfangsknoten, die HTTP- bzw. JMS-Transport verwenden. Das Protokoll der HTTP GET-Anforderung muss mit dem Flussprotokoll übereinstimmen; wenn der Fluss also SSL verwendet, muss die HTTP GET-Anforderung mit https:// beginnen.
Der Client sendet zunächst eine einfache ?wsdl-Abfrage und ruft die vollständige WSDL-Definition ab, indem er eine Kette referenzierter Importe und Einschlüsse verfolgt. Wenn z. B. der Web-Service-Endpunkt http://localhost:7800/test1 ist, lautet die erste Client-Abfrage folgendermaßen:
GET http://localhost:7800/test1?wsdl
Diese Anfrage gibt die Service-WSDL-Definition der obersten Stufe zurück, die Importe für weitere Abschnitte der WSDL-Definition enthalten kann. Wenn die zurückgegebene WSDL z. B. die folgende Zeile enthält:
<wsdl:import ... location="http://localhost:7800/test1?wsdl=wsdl0"/>
sendet der Client eine entsprechende Anforderung, um diesen WSDL-Abschnitt abzurufen:
GET http://localhost:7800/test1?wsdl=wsdl0
Ein oder mehrere WSDL-Abschnitte können ebenfalls Importe für XML-Schemadaten enthalten, z. B.:
<xsd:import ... schemaLocation="http://localhost:7800/test1?xsd=xsd0"/>
Der Client sendet wiederum eine entsprechende Anforderung, um diese Daten abzurufen:
GET http://localhost:7800/test1?xsd=xsd0
Die zurückgegebene WSDL-Definition entspricht logisch der implementierbaren WSDL-Datei des Toolkits, wobei die Inline-Schemas extern bereitgestellt werden. Sie ist nicht unbedingt physisch identisch mit der ursprünglich importierten WSDL-Definition. Obwohl ein SOAPInput-Knoten mit einer bestimmten WSDL-Bindung konfiguriert ist, umfasst die zurückgegebene WSDL auch andere Bindungen, die nicht durch diesen Fluss verwendet werden, wenn sie Teil der ursprünglich importierten WSDL-Definition waren.