78 lines
2.6 KiB
Java
78 lines
2.6 KiB
Java
WsdlViewerUtil
|
|
|
|
|
|
|
|
package com.ack.webservices.wsdl;
|
|
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
import javax.wsdl.Binding;
|
|
import javax.wsdl.Definition;
|
|
import javax.wsdl.Operation;
|
|
import javax.wsdl.Port;
|
|
import javax.wsdl.PortType;
|
|
import javax.wsdl.Service;
|
|
import javax.xml.namespace.QName;
|
|
|
|
public class WsdlViewerUtil {
|
|
|
|
public static String viewServices( Definition wsdlDefinition ) {
|
|
Map services = wsdlDefinition.getServices();
|
|
Set serviceKeys = services.keySet();
|
|
StringBuffer buf = new StringBuffer();
|
|
for( Iterator it = serviceKeys.iterator(); it.hasNext(); ) {
|
|
QName serviceKey = (QName) it.next();
|
|
String serviceView = WsdlViewerUtil.viewService( (Service) services.get( serviceKey ) );
|
|
buf.append( serviceView );
|
|
buf.append( "\n" );
|
|
}
|
|
return buf.toString();
|
|
}
|
|
|
|
public static String viewService( Service wsdlService ) {
|
|
StringBuffer buffer = new StringBuffer( "Service: " );
|
|
buffer.append( wsdlService.getQName().getLocalPart() );
|
|
buffer.append( "\n Service Namespace: " );
|
|
buffer.append( wsdlService.getQName().getNamespaceURI() );
|
|
buffer.append( "\n" );
|
|
|
|
Map ports = wsdlService.getPorts();
|
|
Set portKeys = ports.keySet();
|
|
for( Iterator it = portKeys.iterator(); it.hasNext(); ) {
|
|
String portKey = (String) it.next();
|
|
String portView = WsdlViewerUtil.viewPort( (Port) ports.get( portKey ) );
|
|
buffer.append( portView );
|
|
buffer.append( "\n" );
|
|
}
|
|
return buffer.toString();
|
|
}
|
|
|
|
public static String viewPort( Port wsdlPort ) {
|
|
StringBuffer buffer = new StringBuffer( "Port: " );
|
|
buffer.append( wsdlPort.getName() );
|
|
|
|
Binding wsdlBinding = wsdlPort.getBinding();
|
|
buffer.append( "\nBinding: " );
|
|
buffer.append( wsdlBinding.getQName() );
|
|
|
|
PortType portType = wsdlBinding.getPortType();
|
|
buffer.append( "\nPortType: " + portType.getQName() );
|
|
|
|
List operations = portType.getOperations();
|
|
buffer.append( "\nOperations: " + operations.size() + " operations " );
|
|
|
|
for( Iterator it = operations.iterator(); it.hasNext(); ) {
|
|
Operation operation = (Operation) it.next();
|
|
buffer.append( "\n Operation: " + operation.getName() );
|
|
buffer.append( " {style=" + operation.getStyle() + "}" );
|
|
buffer.append( " {input=" + operation.getInput().getMessage().getQName().getLocalPart() + "}" );
|
|
buffer.append( " {output=" + operation.getOutput().getMessage().getQName().getLocalPart() + "}" );
|
|
}
|
|
|
|
return buffer.toString();
|
|
}
|
|
|
|
}
|