continuing DIME problem with SOAP 0.8RC2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux