Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Axis2是否自动创建(并保存)wsdl文件?_Java_Web Services_Axis2_Wso2_Bpel - Fatal编程技术网

Java Axis2是否自动创建(并保存)wsdl文件?

Java Axis2是否自动创建(并保存)wsdl文件?,java,web-services,axis2,wso2,bpel,Java,Web Services,Axis2,Wso2,Bpel,我使用eclipse/tomcat/axis2启动并运行了一个web服务。我想让它链接到bpel流程,所以我需要wsdl文件。我可以通过启动服务器并转到 http://localhost:8080/axis2/services/MyService?wsdl 但是如果我搜索项目的目录结构,就找不到wsdl文件。当然,我可以从浏览器复制和粘贴wsdl,并将其保存为文本文件,然后将bpel指向该wsdl。但Axis2似乎会为我生成(并保存)一个wsdl文件,对吗?它不会在文件系统中保留wsdl。您需

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

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

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

它不会在文件系统中保留wsdl。您需要将其另存为.wsdl文件,并将BPEL指向它。或者,您可以按照中提到的java2wsdl向导从代码生成wsdl。

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

http://localhost:8080/axis2/services/MyService.wsdl
services.xml
中给出的服务名称和WSDL中定义的服务名称 文档应该是相同的

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

执行后,您可以在项目的文件夹中找到生成的WSDL文档文件和相应的XML模式文件

要找到更多使用此工具的选项,请使用以下选项:

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

我不使用axis,我使用JBossWS(不是说它更好,只是指出它),它有一个类似的行为:如果您转到
http://serviceUrl/MyService?wsdl
您可以获取wsdl文件。问题是:JBoss实际上创建了一个丑陋的命名文件,如
MyService7365956195937503885.wsdl
,然后在部署应用程序(war或ear)时在服务器日志上输出其路径(如果需要,可以按照路径获取);也许axis也会做类似的事情。
public static void main(String[] args) throws Exception {
    Java2WSDL.printUsage();
}