Para começ XML porque nós precisamos uma classe no lado de cliente? Podem usar o stringbuilder e o LInqtoXML para criar um xml.
Você deve somente definir o esquema que você está esperando como o parâmetro. É upto o cliente como cria o xml e a emissão a você como o parâmetro.
Em todo o caso você deve definir o esquema se você espera como o xml ou você têm uma classe e deixa o cliente usar esta classe para passar. Não pensar nenhuma outra opção disponível.