Проблема кодирования идентификатора вложения Spring SOAP Mtom

#spring #soap #binary #attachment #mtom

Вопрос:

Я создал SOAP-клиент на своем сервере Spring Boot (2.5.5). Конверт собран, связь работает, но у меня есть ошибка, в которой говорится, что я не прикрепил двоичные (файловые) данные.

В моем файле журнала есть сообщение soap, в котором есть двоичное вложение.

Единственная странная вещь заключается в том, что в тегах Include у href attibute есть символ @ вместо символа@, как это:

 ...
<ns2:DocuData xmlns:ns2="namespace 1">
   <ns2:fileContent>
    <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" 
                 href="cid:946ff3f8-e725-4cca-8108-676403be336f@domain.hu"/>
   </ns2:fileContent>
</ns2:DocuData>
...
 

В разделе составные данные идентификатор содержимого:

 ...
------=_Part_1_22457057.1633284795352
Content-Type: application/octet-stream
Content-ID: <946ff3f8-e725-4cca-8108-676403be336f@domain.hu>
Content-Transfer-Encoding: binary

...
content
...
------=_Part_1_22457057.1633284795352--
 

Является ли это причиной проблемы? Как я могу это решить?

Спасибо за любую помощь!

Ответ №1:

Это была моя вина! Я считывал данные из потока, когда регистрировал запрос в перехватчике. Я отключил ведение журнала, и сообщение было успешно отправлено.