I created a sample web service, as in Axis2 quickstart guide, http://ws.apache.org/axis2/1_5_1/quickstartguide.html Its a very simple service, i deployed in Tomcat, and when i requested its WSDL, its shown in the web browser. What i need to know is, even though i didnt explicitly generate the WSDL file, how it showed up in the browser when a request is made? Is the WSDL generate automatically in a client's request?
If it will be auto generated, where it would be located in the server (path) thereafter ?
Usually, the WSDL for a web service developed using the code-first approach is generated when the web service is developed.
It may also be generated lazily, that is, when requested.
You can check for yourself if the WSDL is present in the appropriate subdirectory of the "webapps" directory in your Tomcat installation.
When Axis2 finds a service what it does is first it check whether there are any WSDL files in META-INF directory. If there is give the priority to the WSDL files and using those Axis2 web service will be created. If no WSDL files are found then it goes through services.xml file to find the service implementation class. Using that class, it generates a WSDL file using a process called Java2WSDL. This will only taken place if the service class was implemented using Java. Bottom line, when some one ask for ?wsdl for that particular service it will show the generated WSDL.
William Butler Yeats: All life is a preparation for something that probably will never happen. Unless you make it happen.