使用WSDL文件中的Apache Axis2生成单独的Java文件而不是单个Stub

时间:2012-06-21 10:54:27

标签: java web-services wsdl axis2 wsdl2java

目前,我们使用以下命令从给定的WSDL文件生成单个Stub:

wsdl2java -uri "filename.wsdl"

这会生成一个包含所有函数调用等的Java Stub。问题是这次生成的Java Stub的大小超过20mb,这使得编译,调试和重用变得困难。

有人可以建议一种方法来生成隔离的Java文件而不是单个Stub。

否则,有人可以建议其他方法通过Java Web Services处理大型WSDL文件。

2 个答案:

答案 0 :(得分:1)

我认为唯一可管理的方法是将wsdl生成的类作为一个单独的模块。因此,它应该编译一次,放入maven存储库,然后用作.jar

此外,您可以尝试使用标准的jaxws,或者更强大和更现代的CXF,也许它会更好地生成代码。

答案 1 :(得分:1)

生成存根时, wsdl2java 通常会生成数据绑定类作为存根类的内部类。因此,所有数据绑定类都包含在存根类文件中,添加到文件的大小。

wsdl2java参数-u使它生成数据绑定类作为常规类,每个类都在自己的文件中。这会减少存根类文件的大小,尽管你最终仍会得到相同数量的代码。