Почему использование XML будет первым вопросом.
Я бы сказал, взгляните на буфер протокола Google, вы сможете создать файл .proto, такой же, как вы создаете xsd, а затем вы сможете сгенерировать код из этого файла протока на разных языках,способ, которым вы отправляете на веб-сервис, просто извлекает массив байтов из прототипа google и отправляет его.