Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 0.14.0

Bug #9538 Soap Client with MIME does not send MIME boundary on HTTPS
Submitted: 2006-12-04 20:34 UTC
From: justin_burger at adp dot com Assigned: yunosh
Status: Closed Package: SOAP (version 0.9.4)
PHP Version: 5.1.0 OS: Linux (Cent OS)
Roadmaps: (Not assigned)    

 [2006-12-04 20:34 UTC] justin_burger at adp dot com (Justin Burger)
Description: ------------ SOAP Version: SOAP-0.9.1 My Config: './configure' '--prefix=/usr/local/Zend/Core' '--with-config-file-path=/etc' '--enable-force-cgi-redirect' '--enable-fastcgi' '--disable-debug' '--enable-inline-optimization' '--enable-memory-limit' '--disable-all' '--enable-ctype' '--enable-dom' '--enable-libxml' '--with-libxml-dir=/usr/local/Zend/Core' '--with-openssl=/usr/local/Zend/Core' '--with-pcre-regex' '--enable-session' '--enable-simplexml' '--enable-spl' '--enable-wddx' '--enable-xml' '--with-zlib=/usr/local/Zend/Core' '--with-pear' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-layout=GNU' Test script: --------------- Sending any MIME attachment does not send the boundary header when sending on SSL. Use a test script sending to an HTTP SOAP Server, and test the same script over HTTPS. require_once("SOAP/Client.php"); require_once("SOAP/Value.php"); $filename = "test.pdf"; $v = new SOAP_Attachment('render','text/plain',$filename); $methodValue = new SOAP_Value('render', 'render', array($v)); $av=array($v); $client = new SOAP_Client('http://localhost:8080/axis/fopRender.jws'); $resp = $client->call('render',$av, array('Attachments'=>'Mime', 'namespace'=>'')); echo "<pre>"; print_r($resp); echo "</pre>"; Expected result: ---------------- The HTTP request send should include a boundary header which defines the start/end of the attachment, But when sending over HTTPS the boundary is not included. Actual result: -------------- HTTP Request is identical, other than the lack of a boundary header that defines the boundary of the attached file.


 [2007-01-19 23:16 UTC] yunosh (Jan Schneider)
There is no such thing like a boundary header. Where is the boundary string missing? And which version do you use? Use say both, 0.9.1 and 0.9.4.
 [2007-01-20 00:22 UTC] justin_burger at adp dot com
The boundary defines the start and end of the attachment. If you use nuSOAP (or any other implementation) you will get header information that looks something like this: POST /dcwebservice/services/digitalcontract HTTP/1.1 User-Agent: PEAR-SOAP 0.8.0RC4-devel Host: localhost Content-Type: multipart/related; type=text/xml; boundary="=_758b014fcc0653bc3052a7248fe7b1c5" Content-Length: 2451 SOAPAction: "digitalcontract" Via: 1.0 DCFireWallToQA Connection: Keep-Alive X-Client-IP: [End of Snip] These headers are almost identical when using SSL (https) the only missing piece of information is the boundary. It is used to define the start and end of the attachment. the pear version (pear it's self is 0.9.1) it looks like the version of the package is: PEAR-SOAP 0.8.0RC4-devel I have also re-downloaded PEAR-SOAP with the most current version and get the same result.
 [2008-02-13 20:23 UTC] rsunness (Rachel Sunness)
Has this bug been resolved in later versions, like 0.11.0? Otherwise, how are people getting around this?
 [2008-07-15 21:09 UTC] yunosh (Jan Schneider)
This bug has been fixed in CVS. If this was a documentation problem, the fix will appear on by the end of next Sunday (CET). If this was a problem with the website, the change should be live shortly. Otherwise, the fix will appear in the package's next release. Thank you for the report and for helping us make PEAR better.