Java: CXF возиться с заголовками вложений - PullRequest
0 голосов
/ 19 декабря 2018

У меня возникла проблема, и я не могу понять, что ее вызывает.

Я пытаюсь получить сообщение SOAP (MIME-тип, состоящий из нескольких частей, как MTOM) из контекста сообщения SOAP через CXF

SOAPMessage msg = ((SOAPMessageContext) context).getMessage();

, который в конечном итоге будет

message = (SOAPMessage)this.getWrappedMessage().getContent(SOAPMessage.class);

, где context содержит HTTP.REQUEST с полезной нагрузкой запроса, которая выглядит (частично)

------=_Part_53-----=_Part_1a3900a8-9e60-4677-a026-b068bd8856a3
Content-Type: text/xml
Content-ID: <c4464644-233b-4a9f-bff9-bc94d776d8dd-974@urn:ihe:iti:xds-b:2007>
Content-Transfer-Encoding: binary

<?xml version="1.0" encoding="UTF-8"?>
....

, нопосле обработки через CXF SOAP сообщение msg для этой части выглядит запутанным:

------=_Part_0_1086957388.1545231301321
Content-Type: null
Content-ID: <c4464644-233b-4a9f-bff9-bc94d776d8dd-974@urn:ihe:iti:xds-b:2007>
Content-Transfer-Encoding: binary
ontent-Type: text/xml

неправильно пишет Content-Type как ontent-type, а затем, основываясь на нераспознанном Content-Type, устанавливает его как null.

Есть мысли по этому поводу?

PS.

Похоже, что запутался, когда заголовки HashMap созданы для org.apache.cxf.message.Message.ATTACHMENTS

...