Even if you add attributes DataContractand DataMembera class created using Reflection.Emit at run time, the contract can not be included in the metadata service and be detected by the client just by adding these attributes as service metadata step is performed by checking the contract parameters and return values, and creating a service description before the service has the ability to execute.
One simple option is to use a weak typed parameter in your service, like XElement or Message directly
IE:
void SomeOperation(XElement parameter);
void SomeOtherOperation(Message message);
IWsdlExportExtension . , , , ( ).