\It could be a possible bug. Can you send me the code to reproduce this.
Meantime, the workaround for you is to fall back to the old
implementation. Here is how you can do that.
set system property or use a -D in the VM command line :
System.setProperty("saaj.mime.optimization", "false");
regards,
kumar
dloy wrote:
> I hope this is the right forum for this issue.
>
> I am getting the Missing Start Boundary exception from both java 1.6
> and for the latest saaj release (run in both 1.5 and 1.6).
>
> java.lang.Exception: Missing Start Boundary, or boundary does not
> start on a new line
> at
> com.sun.xml.internal.messaging.saaj.packaging.mime.internet.BMMimeMultipart.getNextPart(BMMimeMultipart.java:238)
>
> at
> com.sun.xml.internal.messaging.saaj.soap.MessageImpl.init(MessageImpl.java:429)
>
>
> The exception does not occur in java 1.5 using a 4 year old version of
> the saaj jars. With both java 1.6 and the latest saaj the attachment
> on the client side is dropped and the the server code fails because
> the message separators don't exist. Using the old saaj on the client
> and the new saaj on the server works (on java 1.5).
>
> Below are dumps of the http headers, soap message, and exception. Note
> that the 1.5/old saaj version transmits the attachment as
> multipart/related with separators. 1.6 transmits with a
> multipart/related header but does not transmit the SOAP message as
> multi-part.
>
> I hope someone has an idea what may have changed between early saaj
> and the java 1.6 implementation that would prevent the transmission of
> an attachment - and how to get this working on java 1.6.
>
> I'm willing to send code snippets but they are fairly standard. The
> code is the same for both the successful and failed versions.
>
> Any help would be terrific. This has become a deal breaker for
> migrating to java 1.6.
>
> Thanks
> David Loy
> *********************************************************
>
> Java 1.5 with old saaj:
>
> Http headers:
> ***content-type=multipart/related; type="text/xml";
> boundary=1440568.1223392493425.JavaMail.dloy.CDL-dloy-1
> ***content-length=12168
> ***soapaction=""
> ***cache-control=no-cache
> ***pragma=no-cache
> ***user-agent=Java/1.5.0_04
> ***host=localhost:8084
> ***accept=text/html
> ***accept=image/gif
> ***accept=image/jpeg
> ***accept=*; q=.2
> ***accept=*/*; q=.2
> ***connection=keep-alive
>
> ---------------------
> SOAP Message:
>
> --1440568.1223392493425.JavaMail.dloy.CDL-dloy-1
> Content-Type: text/xml
>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header>
>
> <Content-ID
> xmlns="http://schemas.cdlib.org/ingest-api">AddVersion</Content-ID></SOAP-ENV:Header>
>
> <SOAP-ENV:Body><cdl:AddVersion
> xmlns:cdl="http://schemas.cdlib.org"><requestType>AddVersion</requestType>
>
> ...
> </SOAP-ENV:Body></SOAP-ENV:Envelope>
> --1440568.1223392493425.JavaMail.dloy.CDL-dloy-1
> Content-Type: text/xml
> Content-Id: metadata
> Content-Location: /dpr/
>
> <?xml version="1.0" encoding="UTF-8"?>
> <mets:mets LABEL="Disdéri Stereoscopic Camera,
> ....
> </mets:div>
> </mets:structMap>
> </mets:mets>
> --1440568.1223392493425.JavaMail.dloy.CDL-dloy-1--
>
> *********************************************************
>
> Java 1.6 or latest saaj jars on 1.5 and 1.6
>
> Http headers:
> ***accept=text/xml
> ***accept=text/html
> ***accept=image/gif
> ***accept=image/jpeg
> ***accept=*; q=.2
> ***accept=*/*; q=.2
> ***content-type=multipart/related; type="text/xml";
> boundary="----=_Part_0_12572266.1223416939416"
> ***content-length=1107
> ***cache-control=no-cache
> ***pragma=no-cache
> ***user-agent=Java/1.6.0
> ***host=localhost:8084
> ***connection=keep-alive
> ---------------------
> SOAP Message (note: not multipart):
>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header>
>
> <Content-ID
> xmlns="http://schemas.cdlib.org/ingest-api">AddVersion</Content-ID></SOAP-ENV:Header>
>
> <SOAP-ENV:Body><cdl:AddVersion
> xmlns:cdl="http://schemas.cdlib.org"><requestType>AddVersion</requestType>
>
> ...
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> ---------------------
> EXCEPTION:
> Tue Oct 07 15:02:19 PDT 2008 ** (00) [IngestService] IngestService:
> Encountered error during handling of the request:
> com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Unable to
> internalize messageTrace:
> com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Unable to
> internalize message
> at
> com.sun.xml.internal.messaging.saaj.soap.MessageImpl.init(MessageImpl.java:475)
>
> at
> com.sun.xml.internal.messaging.saaj.soap.MessageImpl.<init>(MessageImpl.java:278)
>
> at
> com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl.<init>(Message1_1Impl.java:68)
>
> at
> com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl.createMessage(SOAPMessageFactory1_1Impl.java:62)
>
> at org.cdlib.framework.service.SOAPService.doPost(SOAPService.java:129)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.Exception: Missing Start Boundary, or boundary
> does not start on a new line
> at
> com.sun.xml.internal.messaging.saaj.packaging.mime.internet.BMMimeMultipart.getNextPart(BMMimeMultipart.java:238)
>
> at
> com.sun.xml.internal.messaging.saaj.soap.MessageImpl.init(MessageImpl.java:429)
>
> ... 18 more
>
> CAUSE:
>
> java.lang.Exception: Missing Start Boundary, or boundary does not
> start on a new line
> at
> com.sun.xml.internal.messaging.saaj.packaging.mime.internet.BMMimeMultipart.getNextPart(BMMimeMultipart.java:238)
>
> at
> com.sun.xml.internal.messaging.saaj.soap.MessageImpl.init(MessageImpl.java:429)
>
> at
> com.sun.xml.internal.messaging.saaj.soap.MessageImpl.<init>(MessageImpl.java:278)
>
> at
> com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl.<init>(Message1_1Impl.java:68)
>
> at
> com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl.createMessage(SOAPMessageFactory1_1Impl.java:62)
>
> at org.cdlib.framework.service.SOAPService.doPost(SOAPService.java:129)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_saaj.dev.java.net
> For additional commands, e-mail: users-help_at_saaj.dev.java.net
>