Мне нужно вызвать веб-сервис с одним параметром - строкой в формате XML.
Я строю это с помощью XSLT-преобразования. Все идет нормально.
Проблема с этим XSD-фрагментом:
<xs:complexType name="Document">
<xs:sequence>
<xs:element name="title" type="xs:string" minOccurs="1"/>
<xs:element name="content" type="xs:base64Binary" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
который переводит (например) в этот XML:
<attachment>
<title>test title</title>
<content>
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Inllc
yI/Pg0KPG1zZ3ByYXRpY2E+DQogICAgPHByYXRpY2E+DQogICAgICAgIDxwcm9jZXNzbz
4NCiAgICAgICAgICAgIDxjb2RQcm9jZXNzbz4xPC9jb2RQcm9jZXNzbz4NCiAgICAgICA
gICAgIDxjb2RJc3RhbnphUHJvY2Vzc28MzwvY29kSXN0YW56YVByb2Nlc3NvPg0KICAgI
CAgICAgICAgPGNvZFN0YXRvPjYwPC9jb2RTdGF0bz4NCiAgICAgICAgPC9wcm9jZXNzbz
4NCiAgICA8L3ByYXRpY2E+DQo8L21zZ3ByYXRpY2E+
</content>
</attachment>
Да, вы правильно поняли: мне нужно вставить содержимое файла в документ XML в двоичном формате base 64.
Я думал о том, чтобы вставить заполнитель с XSLT, а затем обработать XML-документ, чтобы заменить его фактическим содержимым файла, но мне интересно, есть ли какие-либо лучшие практики для этих случаев, может быть, какой-то причудливый трюк с XSTL выходит далеко за рамки моих знаний или некоторые инструменты Java, которые могут пригодиться.
Как бы вы это сделали?
ПРИМЕЧАНИЕ : я не могу использовать SOAP с вложением , и я хорошо знаю, что вышеупомянутый подход подвержен сбоям в случае огромных вложений, но на данный момент наш коллега не сдвинется с места.