Hi, The problem with DIME attachments that was pointed out and a patch submitted quite a while ago still exists with the 0.8RC2 release. The original message providing the patch is by Pim Broekhof, "Re: soap problems revisited", 2003/08/28 22:05. I think the original patch provided by Pim still works as is with the 0.8RC2 release, but in case it doesn't I have attached a diff to the 0.8RC2 Transport/HTTP.php file. I would appreciate if you could include this patch in the official release. Regards, Brodie
cvs diff -wb -u8 SOAP\Transport\HTTP.php (in directory D:\dev\cross\src\client\webtranser\pear\) Index: SOAP/Transport/HTTP.php =================================================================== RCS file: /proj/CVS/cross/src/client/webtranser/pear/SOAP/Transport/HTTP.php,v retrieving revision 1.7 diff -w -b -u -8 -r1.7 HTTP.php --- HTTP.php 2003/11/19 03:47:48 1.7 +++ HTTP.php 2003/11/19 04:17:53 @@ -25,27 +25,26 @@ * @package SOAP * @category Web_Services */ /** * Needed Classes */ require_once 'SOAP/Base.php'; -require_once 'Net/DIME.php'; /** * HTTP Transport for SOAP * * @access public * @version $Id: HTTP.php,v 1.7 2003/11/19 03:47:48 brodie Exp $ * @package SOAP::Transport::HTTP * @author Shane Caraveo <shane@php.net> */ -class SOAP_Transport_HTTP extends SOAP_Base_Object +class SOAP_Transport_HTTP extends SOAP_Base { /** * Basic Auth string * * @var array */ var $headers = array(); @@ -377,21 +376,27 @@ return false; } } $this->_parseEncoding($match[1]); if ($this->result_content_type == 'application/dime') { // XXX quick hack insertion of DIME - $this->_decodeDIMEMessage($this->response,$this->headers,$this->attachments); + if (PEAR::isError($this->_decodeDIMEMessage($this->response,$this->headers,$this->attachments))) { + // _decodeDIMEMessage already raised $this->fault + return false; + } $this->result_content_type = $this->headers['content-type']; } else if (stristr($this->result_content_type,'multipart/related')) { $this->response = $this->incoming_payload; - $this->_decodeMimeMessage($this->response,$this->headers,$this->attachments); + if (PEAR::isError($this->_decodeMimeMessage($this->response,$this->headers,$this->attachments))) { + // _decodeMimeMessage already raised $this->fault + return false; + } } else if ($this->result_content_type != 'text/xml') { $this->_raiseSoapFault($this->response); return false; } // if no content, return false return strlen($this->response) > 0; } $this->_raiseSoapFault('Invalid HTTP Response');
-- PHP Soap Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php