@@ -957,23 +957,25 @@ PHP_METHOD(SoapServer, setPersistence)
957
957
soapServicePtr service ;
958
958
zend_long value ;
959
959
960
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), "l" , & value ) == FAILURE ) {
961
+ RETURN_THROWS ();
962
+ }
963
+
960
964
SOAP_SERVER_BEGIN_CODE ();
961
965
962
966
FETCH_THIS_SERVICE (service );
963
967
964
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "l" , & value ) != FAILURE ) {
965
- if (service -> type == SOAP_CLASS ) {
966
- if (value == SOAP_PERSISTENCE_SESSION ||
967
- value == SOAP_PERSISTENCE_REQUEST ) {
968
- service -> soap_class .persistence = value ;
969
- } else {
970
- php_error_docref (NULL , E_WARNING , "Tried to set persistence with bogus value (" ZEND_LONG_FMT ")" , value );
971
- return ;
972
- }
968
+ if (service -> type == SOAP_CLASS ) {
969
+ if (value == SOAP_PERSISTENCE_SESSION ||
970
+ value == SOAP_PERSISTENCE_REQUEST ) {
971
+ service -> soap_class .persistence = value ;
973
972
} else {
974
- php_error_docref (NULL , E_WARNING , "Tried to set persistence when you are using you SOAP SERVER in function mode, no persistence needed" );
973
+ php_error_docref (NULL , E_WARNING , "Tried to set persistence with bogus value (" ZEND_LONG_FMT ")" , value );
975
974
return ;
976
975
}
976
+ } else {
977
+ php_error_docref (NULL , E_WARNING , "Tried to set persistence when you are using you SOAP SERVER in function mode, no persistence needed" );
978
+ return ;
977
979
}
978
980
979
981
SOAP_SERVER_END_CODE ();
@@ -990,14 +992,14 @@ PHP_METHOD(SoapServer, setClass)
990
992
int num_args = 0 ;
991
993
zval * argv = NULL ;
992
994
993
- SOAP_SERVER_BEGIN_CODE ();
994
-
995
- FETCH_THIS_SERVICE (service );
996
-
997
995
if (zend_parse_parameters (ZEND_NUM_ARGS (), "S*" , & classname , & argv , & num_args ) == FAILURE ) {
998
996
RETURN_THROWS ();
999
997
}
1000
998
999
+ SOAP_SERVER_BEGIN_CODE ();
1000
+
1001
+ FETCH_THIS_SERVICE (service );
1002
+
1001
1003
ce = zend_lookup_class (classname );
1002
1004
1003
1005
if (ce ) {
@@ -1029,14 +1031,14 @@ PHP_METHOD(SoapServer, setObject)
1029
1031
soapServicePtr service ;
1030
1032
zval * obj ;
1031
1033
1032
- SOAP_SERVER_BEGIN_CODE ();
1033
-
1034
- FETCH_THIS_SERVICE (service );
1035
-
1036
1034
if (zend_parse_parameters (ZEND_NUM_ARGS (), "o" , & obj ) == FAILURE ) {
1037
1035
RETURN_THROWS ();
1038
1036
}
1039
1037
1038
+ SOAP_SERVER_BEGIN_CODE ();
1039
+
1040
+ FETCH_THIS_SERVICE (service );
1041
+
1040
1042
service -> type = SOAP_OBJECT ;
1041
1043
1042
1044
ZVAL_OBJ_COPY (& service -> soap_object , Z_OBJ_P (obj ));
@@ -1052,12 +1054,12 @@ PHP_METHOD(SoapServer, getFunctions)
1052
1054
soapServicePtr service ;
1053
1055
HashTable * ft = NULL ;
1054
1056
1055
- SOAP_SERVER_BEGIN_CODE ();
1056
-
1057
1057
if (zend_parse_parameters_none () == FAILURE ) {
1058
1058
RETURN_THROWS ();
1059
1059
}
1060
1060
1061
+ SOAP_SERVER_BEGIN_CODE ();
1062
+
1061
1063
FETCH_THIS_SERVICE (service );
1062
1064
1063
1065
array_init (return_value );
@@ -1095,14 +1097,14 @@ PHP_METHOD(SoapServer, addFunction)
1095
1097
soapServicePtr service ;
1096
1098
zval * function_name , function_copy ;
1097
1099
1098
- SOAP_SERVER_BEGIN_CODE ();
1099
-
1100
- FETCH_THIS_SERVICE (service );
1101
-
1102
1100
if (zend_parse_parameters (ZEND_NUM_ARGS (), "z" , & function_name ) == FAILURE ) {
1103
1101
RETURN_THROWS ();
1104
1102
}
1105
1103
1104
+ SOAP_SERVER_BEGIN_CODE ();
1105
+
1106
+ FETCH_THIS_SERVICE (service );
1107
+
1106
1108
/* TODO: could use zend_is_callable here */
1107
1109
1108
1110
if (Z_TYPE_P (function_name ) == IS_ARRAY ) {
@@ -1214,15 +1216,15 @@ PHP_METHOD(SoapServer, handle)
1214
1216
int old_features ;
1215
1217
zval tmp_soap ;
1216
1218
1219
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), "|s" , & arg , & arg_len ) == FAILURE ) {
1220
+ RETURN_THROWS ();
1221
+ }
1222
+
1217
1223
SOAP_SERVER_BEGIN_CODE ();
1218
1224
1219
1225
FETCH_THIS_SERVICE (service );
1220
1226
SOAP_GLOBAL (soap_version ) = service -> version ;
1221
1227
1222
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "|s" , & arg , & arg_len ) == FAILURE ) {
1223
- RETURN_THROWS ();
1224
- }
1225
-
1226
1228
if (ZEND_NUM_ARGS () > 0 && ZEND_SIZE_T_INT_OVFL (arg_len )) {
1227
1229
soap_server_fault ("Server" , "Input string is too long" , NULL , NULL , NULL );
1228
1230
return ;
@@ -1704,17 +1706,17 @@ PHP_METHOD(SoapServer, fault)
1704
1706
soapServicePtr service ;
1705
1707
xmlCharEncodingHandlerPtr old_encoding ;
1706
1708
1707
- SOAP_SERVER_BEGIN_CODE ();
1708
- FETCH_THIS_SERVICE (service );
1709
- old_encoding = SOAP_GLOBAL (encoding );
1710
- SOAP_GLOBAL (encoding ) = service -> encoding ;
1711
-
1712
1709
if (zend_parse_parameters (ZEND_NUM_ARGS (), "ss|szs" ,
1713
1710
& code , & code_len , & string , & string_len , & actor , & actor_len , & details ,
1714
1711
& name , & name_len ) == FAILURE ) {
1715
1712
RETURN_THROWS ();
1716
1713
}
1717
1714
1715
+ SOAP_SERVER_BEGIN_CODE ();
1716
+ FETCH_THIS_SERVICE (service );
1717
+ old_encoding = SOAP_GLOBAL (encoding );
1718
+ SOAP_GLOBAL (encoding ) = service -> encoding ;
1719
+
1718
1720
soap_server_fault (code , string , actor , details , name );
1719
1721
1720
1722
SOAP_GLOBAL (encoding ) = old_encoding ;
@@ -1729,12 +1731,12 @@ PHP_METHOD(SoapServer, addSoapHeader)
1729
1731
zval * fault ;
1730
1732
soapHeader * * p ;
1731
1733
1732
- SOAP_SERVER_BEGIN_CODE ();
1733
-
1734
1734
if (zend_parse_parameters (ZEND_NUM_ARGS (), "O" , & fault , soap_header_class_entry ) == FAILURE ) {
1735
1735
RETURN_THROWS ();
1736
1736
}
1737
1737
1738
+ SOAP_SERVER_BEGIN_CODE ();
1739
+
1738
1740
FETCH_THIS_SERVICE (service );
1739
1741
1740
1742
if (!service || !service -> soap_headers_ptr ) {
0 commit comments