У меня возникла проблема, и я не могу понять, что ее вызывает.
Я пытаюсь получить сообщение 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