By default, when you add ?wsdl
, Axis2 does not retrieve a previously generated WSDL document. It is generated every time.
But if you put the WSDL document file and the corresponding XML Schema files inside the META-INF
folder in the service archive file, it can be recovered with:
http://localhost:8080/axis2/services/MyService.wsdl
The service name given in the services.xml
and the service name defined in the WSDL
document should be the same.
In another hand, if you want to save a generated WSDL document, simply run something like the following snippet as a Java Application on some class of your project, using the class org.apache.ws.java2wsdl.Java2WSDL
.
public static void main(String[] args) throws Exception {
Java2WSDL.main("-cn com.abc.MyService".split("\\s+"));
}
Once it has been executed, the generated WSDL document file and the corresponding XML Schema files you can find it in the folder of the project.
To find out more options to use them with this tool, use the following:
public static void main(String[] args) throws Exception {
Java2WSDL.printUsage();
}
http://serviceUrl/MyService?wsdl
you can get the wsdl file. The thing is: JBoss actually creates an ugly named file likeMyService7365956195937503885.wsdl
and then output its path on the server log right when the application (war or ear) is deployed (then if you want it, you can follow the path and get it); Maybe axis does something like that as well. – Voyeur