* the same type and name is added to the bean. */
XmlType xmlType = (XmlType)faultBean.getAnnotation(XmlType.class);
if (xmlType == null)
throw new WebServiceException("@XmlType missing from fault bean: " + faultBeanName);
AccessorFactory accessorFactory = getAccessorFactory(faultBean);
String[] propertyNames = xmlType.propOrder();
int propertyCount = propertyNames.length;
propertyTypes = new Class[propertyCount];
faultBeanProperties = new WrappedParameter[propertyCount];
serviceExceptionGetters = new Method[propertyCount];
for (int i = 0; i < propertyCount; i++)
{
String propertyName = propertyNames[i];
// extract property metadata from the fault bean
try
{
PropertyDescriptor propertyDescriptor = new PropertyDescriptor(propertyName, faultBean);
Class propertyType = propertyDescriptor.getPropertyType();
WrappedParameter faultBeanProperty = new WrappedParameter(null, propertyType.getName(), propertyName, i);
faultBeanProperty.setAccessor(accessorFactory.create(faultBeanProperty));
faultBeanProperties[i] = faultBeanProperty;
propertyTypes[i] = propertyType;
}
catch (IntrospectionException ie)