8

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

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

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

4

2 回答 2

9

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

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

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

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

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();
}
于 2013-04-14T05:22:30.453 回答
1

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

于 2013-04-14T04:56:08.080 回答