@@ -899,11 +899,9 @@ PHP_METHOD(SoapServer, setPersistence)
899
899
zend_argument_value_error (
900
900
1 , "must be either SOAP_PERSISTENCE_SESSION or SOAP_PERSISTENCE_REQUEST when the SOAP server is used in class mode"
901
901
);
902
- RETURN_THROWS ();
903
902
}
904
903
} else {
905
904
zend_throw_error (NULL , "SoapServer::setPersistence(): Persistence cannot be set when the SOAP server is used in function mode" );
906
- RETURN_THROWS ();
907
905
}
908
906
909
907
SOAP_SERVER_END_CODE ();
@@ -1042,13 +1040,15 @@ PHP_METHOD(SoapServer, addFunction)
1042
1040
1043
1041
if (Z_TYPE_P (tmp_function ) != IS_STRING ) {
1044
1042
zend_argument_type_error (1 , "must contain only strings" );
1043
+ SOAP_SERVER_END_CODE ();
1045
1044
RETURN_THROWS ();
1046
1045
}
1047
1046
1048
1047
key = zend_string_tolower (Z_STR_P (tmp_function ));
1049
1048
1050
1049
if ((f = zend_hash_find_ptr (EG (function_table ), key )) == NULL ) {
1051
1050
zend_type_error ("SoapServer::addFunction(): Function \"%s\" not found" , Z_STRVAL_P (tmp_function ));
1051
+ SOAP_SERVER_END_CODE ();
1052
1052
RETURN_THROWS ();
1053
1053
}
1054
1054
@@ -1066,6 +1066,7 @@ PHP_METHOD(SoapServer, addFunction)
1066
1066
1067
1067
if ((f = zend_hash_find_ptr (EG (function_table ), key )) == NULL ) {
1068
1068
zend_argument_type_error (1 , "must be a valid function name, function \"%s\" not found" , Z_STRVAL_P (function_name ));
1069
+ SOAP_SERVER_END_CODE ();
1069
1070
RETURN_THROWS ();
1070
1071
}
1071
1072
if (service -> soap_functions .ft == NULL ) {
@@ -1086,11 +1087,9 @@ PHP_METHOD(SoapServer, addFunction)
1086
1087
service -> soap_functions .functions_all = TRUE;
1087
1088
} else {
1088
1089
zend_argument_value_error (1 , "must be SOAP_FUNCTIONS_ALL when an integer is passed" );
1089
- RETURN_THROWS ();
1090
1090
}
1091
1091
} else {
1092
1092
zend_argument_type_error (1 , "must be of type array|string|int, %s given" , zend_zval_type_name (function_name ));
1093
- RETURN_THROWS ();
1094
1093
}
1095
1094
1096
1095
SOAP_SERVER_END_CODE ();
@@ -1150,6 +1149,7 @@ PHP_METHOD(SoapServer, handle)
1150
1149
1151
1150
if (arg && ZEND_SIZE_T_INT_OVFL (arg_len )) {
1152
1151
soap_server_fault ("Server" , "Input string is too long" , NULL , NULL , NULL );
1152
+ SOAP_SERVER_END_CODE ();
1153
1153
return ;
1154
1154
}
1155
1155
@@ -1231,10 +1231,12 @@ PHP_METHOD(SoapServer, handle)
1231
1231
php_stream_filter_append (& SG (request_info ).request_body -> readfilters , zf );
1232
1232
} else {
1233
1233
php_error_docref (NULL , E_WARNING ,"Can't uncompress compressed request" );
1234
+ SOAP_SERVER_END_CODE ();
1234
1235
return ;
1235
1236
}
1236
1237
} else {
1237
1238
php_error_docref (NULL , E_WARNING ,"Request is compressed with unknown compression '%s'" ,Z_STRVAL_P (encoding ));
1239
+ SOAP_SERVER_END_CODE ();
1238
1240
return ;
1239
1241
}
1240
1242
}
@@ -1246,6 +1248,7 @@ PHP_METHOD(SoapServer, handle)
1246
1248
}
1247
1249
} else {
1248
1250
zval_ptr_dtor (& retval );
1251
+ SOAP_SERVER_END_CODE ();
1249
1252
return ;
1250
1253
}
1251
1254
} else {
@@ -1622,6 +1625,7 @@ PHP_METHOD(SoapServer, addSoapHeader)
1622
1625
1623
1626
if (!service || !service -> soap_headers_ptr ) {
1624
1627
zend_throw_error (NULL , "SoapServer::addSoapHeader() may be called only during SOAP request processing" );
1628
+ SOAP_SERVER_END_CODE ();
1625
1629
RETURN_THROWS ();
1626
1630
}
1627
1631
0 commit comments