Einfache Möglichkeit zum Parsen einer WSDL

Ich versuche, eine WSDL zu analysieren, um die Operationen, den Endpunkt und eine Beispielnutzlast zu erhalten. Die WSDL wird vom Benutzer eingegeben. Ich kann dazu kein Tutorial finden.

Ich kann nur solche finden, die Quellcode generieren, den ich nicht benötige. Ich habe versucht, XBeans zu verwenden, aber anscheinend brauche ich Saxon. Gibt es eine einfache, leichte Möglichkeit, dies ohne sächsische Sprache zu tun?

Z.B.

   <?xml version="1.0"?>
  <definitions name="StockQuote"
  targetNamespace=
    "http://example.com/stockquote.wsdl"
  xmlns:tns="http://example.com/stockquote.wsdl"
  xmlns:xsd1="http://example.com/stockquote.xsd"
  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
  xmlns="http://schemas.xmlsoap.org/wsdl/">
   <types>
   <schema targetNamespace=
     "http://example.com/stockquote.xsd"
     xmlns="http://www.w3.org/2000/10/XMLSchema">
      <element name="TradePriceRequest">
        <complexType>
           <all>
             <element name="tickerSymbol" 
               type="string"/>
           </all>
        </complexType>
      </element>
      <element name="TradePrice">
        <complexType>
          <all>
            <element name="price" type="float"/>
          </all>
        </complexType>
      </element>
   </schema>
   </types>
   <message name="GetLastTradePriceInput">
     <part name="body" element=
       "xsd1:TradePriceRequest"/>
   </message>
   <message name="GetLastTradePriceOutput">
     <part name="body" element="xsd1:TradePrice"/>
   </message>
   <portType name="StockQuotePortType">
     <operation name="GetLastTradePrice">
       <input message="tns:GetLastTradePriceInput"/>
       <output message="tns:GetLastTradePriceOutput"/>
     </operation>
   </portType>
     <binding name="StockQuoteSoapBinding"
       type="tns:StockQuotePortType">
       <soap:binding style="document"
         transport=
           "http://schemas.xmlsoap.org/soap/http"/>
     <operation name="GetLastTradePrice">
       <soap:operation
         soapAction=
           "http://example.com/GetLastTradePrice"/>
         <input>
           <soap:body use="literal"/>
         </input>
         <output>
           <soap:body use="literal"/>
         </output>
       </operation>
     </binding>
     <service name="StockQuoteService">
       <documentation>My first service</documentation>
       <port name="StockQuotePort" 
         binding="tns:StockQuoteBinding">
         <soap:address location=
           "http://example.com/stockquote"/>
       </port>
     </service>
    </definitions>

Soll Operationen erhalten: GetLastTradePrice, GetLastTradePrice

Endpunkt: StockQuotePort

Beispielnutzlast:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:stoc="http://example.com/stockquote.xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <stoc:TradePriceRequest/>
   </soapenv:Body>
</soapenv:Envelope>

So macht es SoapUI. Es geht mir aber hauptsächlich darum, die WSDL analysieren zu können. Ein bisschen mehr Kontext ist, dass die WSDL hochgeladen wird und das Ergebnis dann in einer GWT-Anwendung angezeigt wird (der Datei-Upload muss zum Servlet gehen). Also muss ich die Datei analysieren und ein Objekt erstellen, das der GWT verstehen kann.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage