You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Stuart Charlton (JIRA)" <ji...@apache.org> on 2007/02/27 05:19:05 UTC
[jira] Commented: (AXIS2-2236) Missing CRLF Before First MIME
Boundary in Chunked SwA Messages
[ https://issues.apache.org/jira/browse/AXIS2-2236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476063 ]
Stuart Charlton commented on AXIS2-2236:
----------------------------------------
A close reading of RFC 2046 shows that the first MIME boundary in a multipart body does not require a preceeding CRLF. It's considered optional (i.e. shouldn't be rejected, but shouldn't be required either).
Here's an excerpt of the BNF from Section 5.1.1:
dash-boundary := "--" boundary
; boundary taken from the value of boundary paremeter of the Content-Type field
multipart-body := [preamble CRLF]
dash-boundary transport-padding CRLF
body-part *encapsulation
close-delimiter transport-padding
[CRLF epilogue]
encapsulation := delimiter transport-padding
CRLF body-part
delimiter := CRLF dash-boundary
> Missing CRLF Before First MIME Boundary in Chunked SwA Messages
> ---------------------------------------------------------------
>
> Key: AXIS2-2236
> URL: https://issues.apache.org/jira/browse/AXIS2-2236
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: 1.1.1, 1.1, nightly
> Environment: WinXP, Java 1.5.0_07-B03
> Reporter: Paul O'Connor
>
> There is a missing CRLF before the first MIME boundary in SwA messages when chunking is enabled. Chunking requires one CRLF after the chunk size, but the MIME boundary also requires a preceding CRLF: http://www.freesoft.org/CIE/RFC/1521/16.htm
> "Note that the encapsulation boundary must occur at the beginning of a line, i.e., following a CRLF"
> The HTTPTracer output for a chunked Axis2 client invocation:
> ==============
> Listen Port: 8888
> Target Host: rtigdev.axa-equitable.com
> Target Port: 5005
> ==== Request ====
> POST /iPipelineService HTTP/1.1
> SOAPAction: ""
> User-Agent: Axis2
> Host: rtigdev.axa-equitable.com:8888
> Transfer-Encoding: chunked
> Content-Type: multipart/related; boundary=MIMEBoundaryurn_uuid_F93DD7B5E1A1F48B2E11721590520621; type="text/xml"; start="<0....@apache.org>"; charset=UTF-8
> 22a6
> --MIMEBoundaryurn_uuid_F93DD7B5E1A1F48B2E11721590520621
> content-type: text/xml; charset=UTF-8
> content-transfer-encoding: 8bit
> content-id: <0....@apache.org>
> A successful chunked client invocation using cURL includes 2 CRLFs:
> ==============
> Listen Port: 8888
> Target Host: rtigdev.axa-equitable.com
> Target Port: 5005
> ==== Request ====
> POST /iPipelineService HTTP/1.1
> User-Agent: curl/7.16.0 (i586-pc-mingw32msvc) libcurl/7.16.0 OpenSSL/0.9.7e zlib/1.2.2
> Host: rtigdev.axa-equitable.com:8888
> Accept: */*
> Content-Type: multipart/related; type="text/xml"; boundary="MIMEBoundaryurn_uuid_C4BC93C65C31CE0E7D11721557687501"; start="<0....@apache.org>"
> Transfer-Encoding: chunked
> Expect: 100-continue
> 3ff4
> --MIMEBoundaryurn_uuid_C4BC93C65C31CE0E7D11721557687501
> content-type: text/xml; charset=UTF-8
> content-transfer-encoding: 8bit
> content-id: <0....@apache.org>
>
--
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