Map properties = new HashMap();
ServiceProperties serviceProperties = (ServiceProperties) clazz.getAnnotation(ServiceProperties.class);
if(serviceProperties != null){
ServiceProperty[] props =serviceProperties.properties();
for(int i=0;i<props.length;i++){
ServiceProperty serviceProperty = props[i];
if(!"".equals(serviceProperty.value()) && serviceProperty.list().length>0 ){
throw new XFireRuntimeException("Service property cant have set both value and list values");
}
if( !"".equals(serviceProperty.value()) ){
properties.put(serviceProperty.key(),serviceProperty.value());
}else{
properties.put(serviceProperty.key(), Arrays.asList(serviceProperty.list()));
}
}
}
ServiceProperty serviceProperty = (ServiceProperty) clazz.getAnnotation(ServiceProperty.class);
if(serviceProperty !=null){
if( !"".equals(serviceProperty.value()) ){
properties.put(serviceProperty.key(),serviceProperty.value());
}else{
properties.put(serviceProperty.key(), Arrays.asList(serviceProperty.list()));
}
}
if(clazz.getAnnotation(EnableMTOM.class)!= null){
properties.put(SoapConstants.MTOM_ENABLED,"true");
}