BigDecimal is, by default, unlimited scale. This could cause unexpectedly long string representations of floating point numbers to be transfered. There is virtually no impact when moving from simple types to complex type When only a small amount of xml needs to be processed in a large document, use XML attachements. Error codes perform better than SOAP Faults. If your going to be throughing alot of SOAP faults, consider using error codes instead.