gdaniels 02/02/08 06:45:02 Modified: java/src/org/apache/axis/handlers EchoHandler.java Log: Framework for static WSDL generation from the EchoHandler. Revision Changes Path 1.27 +43 -0 xml-axis/java/src/org/apache/axis/handlers/EchoHandler.java Index: EchoHandler.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/handlers/EchoHandler.java,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- EchoHandler.java 10 Jan 2002 20:00:59 -0000 1.26 +++ EchoHandler.java 8 Feb 2002 14:45:02 -0000 1.27 @@ -60,7 +60,9 @@ import org.apache.axis.MessageContext; import org.apache.axis.message.SOAPEnvelope; import org.apache.axis.utils.JavaUtils; +import org.apache.axis.utils.XMLUtils; import org.apache.log4j.Category; +import org.w3c.dom.Document; /** * @@ -84,4 +86,45 @@ category.debug(JavaUtils.getMessage("exit00", "EchoHandler::invoke") ); } + public String wsdlStart = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + + "<definitions xmlns:s=\"http://www.w3.org/2001/XMLSchema\" xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s0=\"http://tempuri.org/EchoService\" targetNamespace=\"http://tempuri.org/EchoService\" xmlns=\"http://schemas.xmlsoap.org/wsdl/\">" + + "<message name=\"request\">" + + "<part name=\"content\" type=\"xsd:anyType\" />" + + "</message>" + + "<message name=\"response\">" + + "<part name=\"content\" element=\"xsd:anyType\" />" + + "</message>" + + "<portType name=\"EchoSoap\">" + + "<operation name=\"doIt\">" + + "<input message=\"s0:request\" /> " + + "<output message=\"s0:response\" /> " + + "</operation>" + + "</portType>" + + "<binding name=\"EchoSoap\" type=\"s0:EchoSoap\">" + + "<soap:binding transport=\"http://schemas.xmlsoap.org/soap/http\" style=\"document\" />" + + "<operation name=\"doIt\">" + + "<soap:operation soapAction=\"http://tempuri.org/Echo\" style=\"document\" />" + + "<input>" + + "<soap:body use=\"literal\" />" + + "</input>" + + "<output>" + + "<soap:body use=\"literal\" />" + + "</output>" + + "</operation>" + + "</binding>" + + "<service name=\"Echo\">" + + "<port name=\"EchoSoap\" binding=\"s0:EchoSoap\">" + + "<soap:address location=\"http://"; + + String wsdlEnd = "\" />" + + "</port>" + + "</service>" + + "</definitions>"; + + public void generateWSDL(MessageContext msgContext) throws AxisFault { + String url = msgContext.getStrProp("hostname"); // !!! Get this for real + String wsdlString = wsdlStart + url + wsdlEnd; + Document doc = XMLUtils.newDocument(wsdlString); + msgContext.setProperty("WSDL", doc); + } };