我使用 eclipse/tomcat/axis2 启动并运行了一个 Web 服务。我想让它链接到 bpel 进程,所以我需要 wsdl 文件。我可以通过启动服务器并转到
来显示 wsdlhttp://localhost:8080/axis2/services/MyService?wsdl
但是如果我搜索项目的目录结构,我找不到wsdl文件。我当然可以从浏览器复制并粘贴 wsdl 并将其保存为文本文件,然后将 bpel 指向该 wsdl。但似乎 Axis 2 会为我生成(并保存)一个 wsdl 文件,对吧?
最佳答案
默认情况下,当您添加 ?wsdl
时,Axis2 不会检索以前生成的 WSDL 文档。每次都会生成。
但是,如果您将 WSDL 文档文件和相应的 XML 架构文件放在服务存档文件的 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();
}
关于java - Axis 2 会自动创建(并保存)wsdl 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15994541/