Create an independent CXF out interceptor which implements handleMessage
(and runs at the same or earlier phase AttachmentOutInterceptor runs at)
and register it with your JAXWS client, or do not even deal with the
interceptors and simply set a request property (search for how it can be
done for JAX-WS)
Sergey
On 30/01/17 12:33, Rodney Kite wrote:
How do I override the handleMessage if I don't extend it? I left out the
constructor.
public EntAttachmentOutInterceptor() {
super();
}
From: Sergey Beryozkin <[email protected]>
To: [email protected]
Sent: Monday, January 30, 2017 5:33 AM
Subject: Re: CXF overriding Content-Transfer-Encoding in MTOM attachement 7bit
and 8bit
Does this interceptor run before the actual AttachmentOutInterceptor
which CXF uses ? (You probably do not need to extend it.)
Sergey
On 30/01/17 04:43, Rodney Kite wrote:
I'm using JBoss/Wildfly 10.1 which includes CXF 3.1.6. I'm building a soap client for an
IRS web site. The IRS states to use a MTOM attachement to send an XML document. My
content type header is Content-Type: multipart/related;
type="application/xop+xml". The client is supposed to have 2
Content-Transfer-Encoding headers one set to 8bit before the soap envelope and the other
set to 7bit in the Content-Transfer-Encoding before the attachment.
The following Interceptor puts 8bit in both CONTENT_TRANSFER_ENCODINGs in the
header. How do I make one before the envelope 8bit and attachments 7bit?
public class EntAttachmentOutInterceptor extends AttachmentOutInterceptor {
@Override
public void handleMessage(Message message){
message.put(Message.CONTENT_TRANSFER_ENCODING, "8bit");
}
}
Here is an example of what they want. I don't know how to get the attachments
Content-Transfer-Encoding to be different value.
---------------------------
ID: 3
Address: https://la.www4.irs.gov/airp/aca/a2a/1095BC_Transmission_AATS
Encoding: UTF-8
Http-Method: POST
Content-Type: multipart/related; type="application/xop+xml";
boundary="uuid:4b92f285-b0d8-49d3-9b9e-b7d8067a124c"; start="<[email protected]>";
start-info="text/xml"
Headers: {Accept=[*/*], Accept-Encoding=[gzip,deflate,gzip;q=1.0, identity; q=0.5,
*;q=0], Connection=[Keep-Alive], Content-Encoding=[gzip], HOST=[www.polardocs.com],
MIME-Version=[1.0], SOAPAction=["BulkRequestTransmitter"]}
Payload: --uuid:4b92f285-b0d8-49d3-9b9e-b7d8067a124c
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: 8bit
Content-ID: <[email protected]>
<soapenv:Envelope>Removed Stuff</soapenv:Envelope>
--uuid:4b92f285-b0d8-49d3-9b9e-b7d8067a124c
Content-Type: text/xml; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-ID:
<f059a2f0-585e-475b-bf00-90adb744bcb3-3@urn:us:gov:treasury:irs:common>
Content-Disposition: attachment;
name="1094C_Request_BBBLP_20170130T040244203Z.xml"
<?xml version="1.0" encoding="UTF-8"?><n1:Form109495CTransmittalUpstream>Removed
Stuff</n1:Form109495CTransmittalUpstream>
--uuid:4b92f285-b0d8-49d3-9b9e-b7d8067a124c--
--------------------------------------
ThanksRodney
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/