We recently began exposing some of our WCF services to clients. Previously all of our services were consumed internally by our own applications which of course were all .NET based.
Upon one of our clients attempting to consume the WSDL for one of our services they received XML serialization errors. Further investigation reveals that the default form of the WSDL may contain XSD includes. This form of the WSDL does not play well with clients other than .NET.
So, the end result was flattening the WSDL by implementing a custom behavior (see here: WCF Extras