Hi

This change introduced an escaping for the 'action':

https://github.com/apache/cxf/commit/9bbf1acd7291416f9afcd312e7dc302e9031fa25#diff-230a76e41a0370126d1e6e2ea28728eeR170

but also in the 2nd Content-Type it is

type="application/soap+xml;

Note no closing double quote.

Effectively, the type is

type="application/soap+xml; action=\"urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b\""

where 'action' is a property of the application/soap+xml media type.

I'm not sure how SOAP w Att compliant it is, just trying to reason why this change was made...

Thanks, Sergey



On 12/01/17 15:31, Dmitri Zamyslov wrote:
Dear Contributors,

during preparation for the migration from Wildfly 8 to 10 we have detected a 
change of CXF behaviour for handling of SOAP with Attachment - 
multipart/related, which caused problems during integration tests. Wildfly 8 
uses CXF version 2.7.13, Wildly 10 - 3.1.6. The causing difference code is 
located in org.apache.cxf.attachment.AttachmentSerializer and leads to 
different content-type headers:

in Wildfly 8 by sending of SOAP with Attachments:

main content-type header:
Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:fba1c798-9dc4-4f87-b6a5-dc7534553c80"; 
start="< [email protected] >"; start-info="application/soap+xml"; 
action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b"

content-type header of SOAP part
Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml"; 
action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b"

in Wildfly 10:

main content-type header:
Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:e88e47bb-1abe-4362-b1a4-57a8d9e027dc"; 
start="< [email protected] >"; start-info="application/soap+xml; 
action=\"urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b\""

content-type header of SOAP part:
Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml; 
action=\"urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b\""

There are no other significant differences in HTTP POST messages.

As you can see difference is in the escaped action in content-type header, which now is a 
part of start-info parameter. Because of this difference we getting failure from our 
integration partner: "A header representing a Message Addressing Property is not 
valid and the message can not be processed".

Dear contributors, can you please let me know if this change was done by 
failure or it is a right way of handling. If it is a right way please let me 
know which standards describe this behaviour. Thank you very much in advance.

Regards.



--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Reply via email to