does axis 2 automatically create (and save) wsdl file?
Asked Answered
W

2

8

I have a web service up and running with eclipse/tomcat/axis2. I want to get it linked to a bpel process, so I need the wsdl file. I can display the wsdl by starting the server and going to

http://localhost:8080/axis2/services/MyService?wsdl

But if I search the directory structure for the project, I can't find the wsdl file. I can of course copy and paste the wsdl from the browser and save it as a text file, then point bpel to that wsdl. But it seems like axis 2 would generate (and save) a wsdl file for me, right?

Wheatear answered 14/4, 2013 at 0:48 Comment(1)
I don't use axis, I use JBossWS (not saying it is better, just pointing it out), and it has a similar behavior: if you go to http://serviceUrl/MyService?wsdl you can get the wsdl file. The thing is: JBoss actually creates an ugly named file like MyService7365956195937503885.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
C
9

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.

enter image description here

To find out more options to use them with this tool, use the following:

public static void main(String[] args) throws Exception {
    Java2WSDL.printUsage();
}
Cringe answered 14/4, 2013 at 5:22 Comment(0)
E
1

It doesn't keep a wsdl in the file system. You need to save it as .wsdl file and point your BPEL to it. Or else you can follow java2wsdl wizard as mentioned in http://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.html to generate the wsdl from the code.

Ehrenburg answered 14/4, 2013 at 4:56 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.