0
我有一個wsdl,我想用Axis2(WSDL2Java)創建一個java存根客戶端。Axis生成存根缺失操作
由於生成在運行時由於系統本身的結構而提出的,我通過使用反射調用中的WSDL2Java:
Class<?> clzzOptionParser = classloader.loadClass("org.apache.axis2.util.CommandLineOptionParser");
Class<?> clzzEngine = classloader.loadClass("org.apache.axis2.wsdl.codegen.CodeGenerationEngine");
String[] args = new String[]{"-uri", wsdl.getAbsolutePath(),
"-o", myJavaCompilerComponent.getOutputPath().getAbsolutePath(),
"-p", packageName,
"-ap"
};
Object optionParser = clzzOptionParser.getDeclaredConstructor(new Class<?>[]{String[].class}).newInstance(new Object[]{args});
Object engine = clzzEngine.getDeclaredConstructor(new Class<?>[]{clzzOptionParser}).newInstance(optionParser);
clzzEngine.getMethod("generate").invoke(engine);
我用「-ap」 - 參數告訴發電機包括所有porttypes。儘管生成的存根包含所有類型的內部類(包括請求和響應類),但僅生成第一種類型的方法(用於調用服務)。
如何啓用AXIS創建所有內容?我認爲-ap會做的伎倆,但它沒有奏效。