我有一个使用eclipse / tomcat / axis2运行的Web服务。我想把它链接到一个bpel进程,所以我需要wsdl文件。我可以通过启动服务器并转到
来显示wsdlhttp://localhost:8080/axis2/services/MyService?wsdl
但是如果我搜索项目的目录结构,我找不到wsdl文件。我当然可以从浏览器中复制并粘贴wsdl并将其保存为文本文件,然后将bpel指向该wsdl。但似乎轴2会为我生成(并保存)一个wsdl文件,对吗?
答案 0 :(得分:8)
默认情况下,当您添加?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 Application 。
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();
}
答案 1 :(得分:1)
它不会在文件系统中保留wsdl。您需要将其另存为.wsdl文件并将BPEL指向它。或者你可以按照http://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.html中提到的java2wsdl向导来生成代码中的wsdl。