]> granicus.if.org Git - php/commitdiff
Fixed SoapFault::getMessage()
authorDmitry Stogov <dmitry@php.net>
Fri, 24 Mar 2006 08:46:14 +0000 (08:46 +0000)
committerDmitry Stogov <dmitry@php.net>
Fri, 24 Mar 2006 08:46:14 +0000 (08:46 +0000)
ext/soap/soap.c

index dabc5b60d620abb50097c2b781a5435db48daff9..7569ee01b9ae583a8bd4d1a98c2626597e7790d1 100644 (file)
@@ -808,8 +808,8 @@ PHP_METHOD(SoapFault, SoapFault)
 
 
 #ifdef ZEND_ENGINE_2
-/* {{{ proto object SoapFault::SoapFault ( string faultcode, string faultstring [, string faultactor [, mixed detail [, string faultname [, mixed headerfault]]]])
  SoapFault constructor */
+/* {{{ proto object SoapFault::__toString ()
+ */
 PHP_METHOD(SoapFault, __toString)
 {
        zval *faultcode, *faultstring, *file, *line, *trace;
@@ -818,6 +818,10 @@ PHP_METHOD(SoapFault, __toString)
        zend_fcall_info fci;
        zval fname;
 
+       if (ZEND_NUM_ARGS() > 0) {
+               ZEND_WRONG_PARAM_COUNT();
+       }
+
        faultcode   = zend_read_property(soap_fault_class_entry, this_ptr, "faultcode", sizeof("faultcode")-1, 1 TSRMLS_CC);
        faultstring = zend_read_property(soap_fault_class_entry, this_ptr, "faultstring", sizeof("faultstring")-1, 1 TSRMLS_CC);
        file = zend_read_property(soap_fault_class_entry, this_ptr, "file", sizeof("file")-1, 1 TSRMLS_CC);
@@ -2979,6 +2983,9 @@ static void set_soap_fault(zval *obj, char *fault_code_ns, char *fault_code, cha
        }
        if (fault_string != NULL) {
                add_property_string(obj, "faultstring", fault_string, 1);
+#ifdef ZEND_ENGINE_2
+               zend_update_property_string(zend_exception_get_default(TSRMLS_C), obj, "message", sizeof("message")-1, fault_string TSRMLS_CC);
+#endif
        }
        if (fault_code != NULL) {
                int soap_version = SOAP_GLOBAL(soap_version);