Got it figured out. For anyone having the same issue, here is what made the difference.
My service interface was set to take a UserImpl
object
string CreateLocalUser(DataContracts.UserImpl localUser, string password);
And I passed it a UserImpl
instance. However, what I needed to do is change it to a User
instead. Since UserImpl
inherits from User
, there isn't any issue for C#, but WCF notices the difference and adds the i:type attribute. So here is what I changed it too.
[ServiceContract(Namespace = NameSpace.Root)]
public interface IDirectoryManagementService
{
[OperationContract(Name = "createLocalUser")]
string CreateLocalUser(DataContracts.User localUser, string password);
Notice how localUser parameter is now a User
type.