SOAPMessage parsing error with attachments and proxy
843834Oct 30 2002 — edited Jan 16 2003Hello,
I need urgent help concerning a strange error when Parsing a SOAPMessage with an attachment using squid as a proxy.
Everything works fine when sending with/without proxy regular SOAP Messages. But if I add an attachment to the SOAP Message and send the message via the proxy, I get an javax.mail.internet.ParseException.
I have definetely no idea what's going wrong. The next lines show you the code like I add a SOAP Attachment, and the following exception occurs by the servlet when parsing the SOAPMessage send thru the proxy containg a jpg attachment.
Thanks for your help!
Christian Gruendemann
************
Code: (this works fine)
**************
String path="/tmp/2r1028_1.jpg";
FileInputStream data2 = new FileInputStream(new File(path));
DataHandler dh = new DataHandler(new BinaryDataSource(data2));
AttachmentPart attachment2 = message.createAttachmentPart(dh);
attachment2.setContentType("image/motormeileBilder");
attachment2.setContentId("Blablabla");
message.addAttachmentPart(attachment2);
***************************
The servlet onMessage Method which should handle (just parse, for testing) the SOAPMessage
***************************
public SOAPMessage onMessage(SOAPMessage message) {
try{
MessageFactory msgFactory = MessageFactory.newInstance();
answer = msgFactory.createMessage();
msgFactory = MessageFactory.newInstance();
SOAPBody body = answer.getSOAPPart().getEnvelope().getBody();
}
}
*******************************
The Exception that is thrown by the servlet.
*********************************
javax.mail.internet.ParseException
at javax.mail.internet.ParameterList.<init>(ParameterList.java:61)
at javax.mail.internet.ContentType.<init>(ContentType.java:83)
at com.sun.xml.messaging.saaj.soap.MessageImpl.<init>(MessageImpl.java:89)
at com.sun.xml.messaging.saaj.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:
32)
at javax.xml.messaging.JAXMServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574)
at org.apache.tomcat.core.Handler.invoke(Handler.java:322)
at org.apache.tomcat.core.Handler.service(Handler.java:235)
at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.ja
va:176)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)
at java.lang.Thread.run(Thread.java:479)
2002-10-30 12:00:27 - Ctx(/Receiving) : Exception in R( /Receiving + /Schmu + null) - javax.servlet.
ServletException: JAXM POST failed Unable to internalize message
at javax.xml.messaging.JAXMServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574)
at org.apache.tomcat.core.Handler.invoke(Handler.java:322)
at org.apache.tomcat.core.Handler.service(Handler.java:235)
at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.ja
va:176)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)
at java.lang.Thread.run(Thread.java:479)
javax.mail.internet.ParseException
at javax.mail.internet.ParameterList.<init>(ParameterList.java:61)
at javax.mail.internet.ContentType.<init>(ContentType.java:83)
at com.sun.xml.messaging.saaj.soap.MessageImpl.<init>(MessageImpl.java:89)
at com.sun.xml.messaging.saaj.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:
32)
at javax.xml.messaging.JAXMServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574)
at org.apache.tomcat.core.Handler.invoke(Handler.java:322)
at org.apache.tomcat.core.Handler.service(Handler.java:235)
at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.ja
va:176)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)
at java.lang.Thread.run(Thread.java:479)
2002-10-30 12:00:33 - Ctx(/Receiving) : Exception in R( /Receiving + /Schmu + null) - javax.servlet.
ServletException: JAXM POST failed Unable to internalize message
at javax.xml.messaging.JAXMServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574)
at org.apache.tomcat.core.Handler.invoke(Handler.java:322)
at org.apache.tomcat.core.Handler.service(Handler.java:235)
at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.ja
va:176)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)
at java.lang.Thread.run(Thread.java:479)