Я не парень из EBJ, но я могу рассказать вам, как это обычно делается в мире веб-сервисов. Если у вас есть не нарушающее контракт изменение (например, добавление необязательного свойства), вы можете просто обновить договор, и с потребителями все будет в порядке.
Если у вас есть серьезное изменение в контракте, то способ справиться с ним - создать новый сервис с новым пространством имен для его типов. Например, если ваш первый сервис имел пространство имен:
http://myservice.com/2006
Ваш новый может иметь:
http://myservice.com/2009
Разоблачить этот контракт для новых потребителей.
Как вы справляетесь со старым контрактом, зависит от вас. Вы можете направить все запросы на старый сервер и позволить клиентам выбирать, когда обновляться до новых серверов. Если вы можете использовать некоторую логику для обновления запросов до формата, ожидаемого новой службой, то вы можете извлечь логику старой службы и заменить ее вызовами новой. Или вы можете просто отказаться от всего этого вместе и завершить все вызовы старой службы.
PS: с этим гораздо проще справиться, если вы создаете объекты класса сообщений, а не повторно используете сущности домена.