我正在使用带有 SOAP 的外部 API。
我想在构建器任务中,使用 axis2 (因为我用 Java 编写)从 WSDL 远程位置自动创建 Web 服务客户端的 jar,并将其添加到 war 中进行编译。
这样我就可以知道如果 WSDL 发生更改,我是否需要更改代码。
我怎样才能在构建器中做到这一点?
这是我当前的代码:
desc 'Building API project'
define 'API' do
compile.with projects('common'),AMAZON,ACTIVATION,ANTLR,AOPALLIANCE,ASM,ASPECTJ,AXIS,BRAINTREE,C3P0,BEANUTILS,COLLECTIONS,COMMONS_CODEC,DISCOVERY,HTTPCLIENT,COMMONS_IO,LANG,LOGGING,VALIDATOR,DAO,DAOHIBERNATE,DOM4J,EHCAHCE,GUAVA,
package(:war).with :libs=>project('common')
end
最佳答案
您需要创建一个任务,自动从 wsdl 生成客户端类,然后将这些生成的类包含在您的项目中。
您可以直接构建一个 jar 并将其作为依赖项添加到您的列表中,或者直接将类链接到您的编译步骤。
这里是 WSDL2Java 命令行实用程序的文档,您可以使用它:http://axis.apache.org/axis2/java/core/docs/userguide-creatingclients.html#adb
即使这可能对您的具体问题没有帮助,但请查看 buildr-examples 存储库:https://github.com/phoet/buildr-examples
关于java - buildr - 从 WSDL 位置编译 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11848131/