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会做的伎俩,但它没有奏效。