Hi,
I am using AXIS for IRS Webservice efile project. One of the
requirements of IRS soap message is when a message with attachment sent
it should have CRLF character between MIME boundaries. Axis sends SOAP
message as
Content-Type: multipart/related; type="text/xml";
start="<9D645C8EBB837CE54ABD027A3659535D>";
boundary="----=_Part_0_1977511.1123163571138"
------=_Part_0_1977511.1123163571138
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: binary
Content-Id: <9D645C8EBB837CE54ABD027A3659535D>
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="...."....>
........
<source href="cid:3936AE19FBED55AE4620B81C73BDD76E"
xmlns="/>
........
</soapenv:Envelope>
------=_Part_0_1977511.1123163571138
Content-Type: text/plain
Content-Transfer-Encoding: binary
Content-Id: <3936AE19FBED55AE4620B81C73BDD76E>
Binary Data.....
------=_Part_0_1977511.1123163571138-
What I need is new line (CRLF) after </soapenv:Envelope> end element
like
Content-Type: multipart/related; type="text/xml";
start="<9D645C8EBB837CE54ABD027A3659535D>";
boundary="----=_Part_0_1977511.1123163571138"
------=_Part_0_1977511.1123163571138
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: binary
Content-Id: <9D645C8EBB837CE54ABD027A3659535D>
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="...."....>
........
<source href="cid:3936AE19FBED55AE4620B81C73BDD76E"
xmlns="/>
........
</soapenv:Envelope>
------=_Part_0_1977511.1123163571138
Content-Type: text/plain
Content-Transfer-Encoding: binary
Content-Id: <3936AE19FBED55AE4620B81C73BDD76E>
Binary Data.....
------=_Part_0_1977511.1123163571138-
How I can do this? Currently I am setting SOAP Part of SOAP message from
XML (DOM)
MessageFactory mf = MessageFactory.newInstance();
SOAPConnection conn =
SOAPConnectionFactory.newInstance().createConnection();
...
...
DOMSource msgsrc;
...
...
SOAPMessage smsg = mf.createMessage();
// Add Attachments
AddAttachement(smsg);
SOAPPart sp = smsg.getSOAPPart();
sp.setContent(msgsrc);
SOAPMessage response = conn.call(smsg, endpoint);
Any help is appreciated.
Thanks
Ragu