From: Dmitry Stogov Date: Tue, 10 May 2005 13:58:11 +0000 (+0000) Subject: Fixed transparent SoapFault passing X-Git-Tag: php-5.0.1b1~265 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e0b3a79e1e8afe5de251c83dcbdc81e59f2aea71;p=php Fixed transparent SoapFault passing --- diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 787a8d509f..35b74fa518 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -3498,6 +3498,15 @@ static xmlDocPtr serialize_response_call(sdlFunctionPtr function, char *function zend_hash_internal_pointer_reset(fault->details); zend_hash_get_current_data(fault->details, (void**)&sparam); sparam = *(sdlParamPtr*)sparam; + + if (detail && + Z_TYPE_P(detail) == IS_OBJECT && + sparam->element && + zend_hash_num_elements(Z_OBJPROP_P(detail)) == 1 && + zend_hash_find(Z_OBJPROP_P(detail), sparam->element->name, strlen(sparam->element->name)+1, (void**)&tmp) == SUCCESS) { + detail = *tmp; + } + x = serialize_parameter(sparam, detail, 1, NULL, use, node TSRMLS_CC); if (function &&