Вы, кажется, смешиваете реализацию и протокол.
Спецификация для MTOM здесь . Эта страница содержит примеры сообщений.
Если вы используете среду JAX-WS, вы наверняка используете Annotations
для ее включения. Если вы катите мыльные сообщения вручную, вы пишете любой код Java, который вам нужно написать для его создания. По сути, MTOM означает, что содержимое данных перемещается во вложение, которое является отдельной частью MIME сообщения и на которое ссылается через элемент xop: Include с href в часть MIME.
Схема должна указывать base64Binary в качестве типа элемента, но дополнительные атрибуты дают подсказки относительно интерпретации байтов: xmime: contentType и xmime :pectedContentType. По моему опыту, эталонная реализация JAX-B имеет некоторые ограничения на их использование. Вы не можете, например, заставить его автоматически преобразовывать текст в байты. В типичном наборе, таком как CXF или Glassfish, вы помещаете данные в DataHandler, а набор превращает их в приложение.