axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Frank Bitzer (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-4076) Content-Type not parsed correctly in MTOM SOAP 1.2 messages
Date Tue, 18 Nov 2008 19:59:44 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-4076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12648730#action_12648730
] 

Frank Bitzer commented on AXIS2-4076:
-------------------------------------

Well, after a lot of testing and debugging I finally figured out the problem: 
the geronimo mail implementation used by Axis2 is faulty and not able to parse the Content-Type
correctly. 
The problem can be overcome by using Sun's javax.mail implementation along with javax.activation.

> Content-Type not parsed correctly in MTOM SOAP 1.2 messages
> -----------------------------------------------------------
>
>                 Key: AXIS2-4076
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4076
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.4.1
>         Environment: soapUI 2.0.2, Axis2 1.4.1
>            Reporter: Frank Bitzer
>            Priority: Blocker
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> I'm using soapUI to send MTOM-optimized messages to an SOAP 1.2 endpoint. The message
looks like this:
> POST /webservice/services/ECTooRemotingService.ECTooRemotingServiceHttpSoap12Endpoint
HTTP/1.1
> Content-Type: multipart/related; type="application/xop+xml"; start="<rootpart@soapui.org>";
start-info="application/soap+xml; action=\"urn:upload\""; boundary="----=_Part_10_5804917.1223557742343"
> MIME-Version: 1.0
> User-Agent: Jakarta Commons-HttpClient/3.1
> Host: 127.0.0.1:8080
> Content-Length: 838
> ------=_Part_10_5804917.1223557742343
> Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml; action=\"upload\""
> Content-Transfer-Encoding: 8bit
> Content-ID: <rootpart@soapui.org>
>    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:web="http://webservice.ecToo.jw.de">
  
>       <soap:Header/>   
>       <soap:Body>      
>          <web:upload>         
>             <!--Optional:-->         
>                <web:data>
>                   <inc:Include href="cid:283151386895" xmlns:inc="http://www.w3.org/2004/08/xop/include"/>
>                </web:data>      
>             </web:upload>   
>          </soap:Body>
>       </soap:Envelope>------=_Part_10_5804917.1223557742343Content-Type: application/octet-streamContent-Transfer-Encoding:
binaryContent-ID: 
>       <283151386895>(FILE CONTENT HERE)------=_Part_10_5804917.1223557742343--
> However, Axis2 throws an exception with the following stacktrace:
> org.apache.axis2.AxisFault: Invalid Content Type Field in the Mime Message
> 	at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
> 	at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:283)
> 	at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> 	at org.mortbay.jetty.Server.handle(Server.java:324)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
> Caused by: org.apache.axiom.om.OMException: Invalid Content Type Field in the Mime Message
> 	at org.apache.axiom.attachments.Attachments.&lt;init>(Attachments.java:175)
> 	at org.apache.axis2.builder.BuilderUtil.createAttachments(BuilderUtil.java:586)
> 	at org.apache.axis2.builder.BuilderUtil.createAttachmentsMap(BuilderUtil.java:532)
> 	at org.apache.axis2.builder.MIMEBuilder.processDocument(MIMEBuilder.java:38)
> 	at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:164)
> 	at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:112)
> 	at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:270)
> 	... 20 more
> Caused by: javax.mail.internet.ParseException: Missing ';'
> 	at javax.mail.internet.ParameterList.&lt;init>(ParameterList.java:136)
> 	at javax.mail.internet.ContentType.&lt;init>(ContentType.java:72)
> 	at org.apache.axiom.attachments.Attachments.&lt;init>(Attachments.java:173)
> 	... 26 more
> I think the problem is either the line
> Content-Type: multipart/related; type="application/xop+xml"; start="<rootpart@soapui.org>";
start-info="application/soap+xml; action=\"urn:upload\""; boundary="----=_Part_10_5804917.1223557742343"
> or the line
> Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml; action=\"upload\""
> in the header. It looks like Axis2 is not able to parse the escaped " in action=\"upload\""
 correctly. But according to the XOP specification it is allowed, so soapUI does nothing wrong
here.
> There is a related problem report on this topic for Axis2-C: https://issues.apache.org/jira/browse/AXIS2C-1124
> Also note that when using SOAP 1.1 everything works fine, since the header looks slightly
different and there is no action specified in the start-info:
> POST /webservice/services/ECTooRemotingService.ECTooRemotingServiceHttpSoap11Endpoint
HTTP/1.1
> SOAPAction: "urn:upload"
> Content-Type: multipart/related; type="application/xop+xml"; start="<rootpart@soapui.org>";
start-info="text/xml"; boundary="----=_Part_7_18580800.1223557231953"
> MIME-Version: 1.0
> User-Agent: Jakarta Commons-HttpClient/3.1
> Host: 127.0.0.1:8080
> Content-Length: 813
> ...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message