轴2是否自动创建(并保存)wsdl文件?

我有一个使用eclipse / tomcat / axis2运行的Web服务。 我想让它链接到一个bpel进程,所以我需要wsdl文件。 我可以通过启动服务器显示wsdl并转到

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

但是,如果我搜索项目的目录结构,我找不到wsdl文件。 我当然可以从浏览器中复制并粘贴wsdl并将其保存为文本文件,然后将bpel指向该wsdl。 但似乎轴2会为我生成(并保存)一个wsdl文件,对吧?

默认情况下,当您添加?wsdl ,Axis2不会检索以前生成的WSDL文档。 它每次都会生成。 但是,如果将WSDL文档文件和相应的XML Schema文件放在服务存档文件中的META-INF文件夹中,则可以使用以下命令恢复它:

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

services.xml的服务名称和WSDL文档中定义的服务名称应该相同。

另一方面,如果要保存生成的WSDL文档,只需使用类org.apache.ws.java2wsdl.Java2WSDL在项目的某个类上运行类似以下代码段的Java应用程序

 public static void main(String[] args) throws Exception { Java2WSDL.main("-cn com.abc.MyService".split("\\s+")); } 

一旦执行,生成的WSDL文档文件和相应的XML Schema文件就可以在项目的文件夹中找到它。

在此处输入图像描述

要查找使用此工具使用它们的更多选项,请使用以下命令:

 public static void main(String[] args) throws Exception { Java2WSDL.printUsage(); } 

它不会在文件系统中保留wsdl。 您需要将其另存为.wsdl文件并将BPEL指向它。 或者你可以按照http://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.html中提到的java2wsdl向导来从代码中生成wsdl。