import javax.wsdl.Definition;
import javax.wsdl.WSDLException;
import javax.wsdl.xml.WSDLReader;
public class WSDLParser {
public static void main(String[] args) {
try {
WSDLReader reader = javax.wsdl.factory.WSDLFactory.newInstance().newWSDLReader();
Definition definition = reader.readWSDL("path/to/wsdl/file.wsdl");
} catch (WSDLException e) {
e.printStackTrace();
}
}
}
...
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://example.com/namespace/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="MyWebService"
targetNamespace="http://example.com/namespace/">
<service name="MyService">
<port name="MyPort" binding="tns:MyBinding">
<soap:address location="http://example.com/endpoint"/>
</port>
</service>
<portType name="MyPortType">
<operation name="MyOperation">
<input message="tns:MyInputMessage"/>
<output message="tns:MyOutputMessage"/>
</operation>
</portType>
<message name="MyInputMessage">
<part name="parameter" type="xsd:string"/>
</message>
<message name="MyOutputMessage">
<part name="result" type="xsd:string"/>
</message>
<binding name="MyBinding" type="tns:MyPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="MyOperation">
<soap:operation soapAction="http://example.com/MyOperation"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
</definitions>