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);
+ }
};