自动生成Xfire的.aegis.xml文件
先来一段xfire的配置文件:
很普通的一个配置文件。
"getDutyPlanByCondition”这个方法总共有16个参数,默认情况下,客户端自动生成的代码中,参数形如:arg0,arg1...arg15,极不容易将每个参数及顺序填写正确,故配置以上文件,将wsdl中的参数赋予有意义的单词。
<parameter index="0" mappedName="dutyPlanId" />
<parameter index="1" mappedName="organizationId" />
......
编写如此的配置实在令人有点不耐烦,想点办法,自动生成?
OK,观察一下有什么规律:
1.<method name="getDutyPlanByCondition"> 方法名,反射呗。
2.<return-type componentType="com.boco.itms.ws.value.duty.DutyPlanValue" />返回值,反射呗。
3.xml文件名,反射呗。
通过反射,这些信息我们都能取到,再组织一下结构,循环一下,生成配置文件,小菜一碟!
但还有个东西别忘了,参数名(不是参数类型)。ChainedParamReader paramReader = new ChainedParamReader(clazz);Method[] methods = clazz.getMethods();for(int i=0 ; i<methods.length ; i++){ String[] params = paramReader.getParameterNames(methods[i]);}
OK,已经取到{id , name}了,该干嘛干嘛了