Lines Matching refs:service
66 static void delete_service(void *service);
167 ss = soap_server_object_fetch(Z_OBJ_P(ZEND_THIS))->service; \
185 soapServicePtr service; member
203 if (server_obj->service) { in soap_server_object_free()
204 delete_service(server_obj->service); in soap_server_object_free()
783 soapServicePtr service; in PHP_METHOD() local
796 service = emalloc(sizeof(soapService)); in PHP_METHOD()
797 memset(service, 0, sizeof(soapService)); in PHP_METHOD()
798 service->send_errors = 1; in PHP_METHOD()
817 service->uri = estrndup(Z_STRVAL_P(tmp), Z_STRLEN_P(tmp)); in PHP_METHOD()
824 service->actor = estrndup(Z_STRVAL_P(tmp), Z_STRLEN_P(tmp)); in PHP_METHOD()
835 service->encoding = encoding; in PHP_METHOD()
844 service->class_map = zend_array_dup(Z_ARRVAL_P(tmp)); in PHP_METHOD()
855 service->features = Z_LVAL_P(tmp); in PHP_METHOD()
865 service->send_errors = 0; in PHP_METHOD()
867 service->send_errors = 1; in PHP_METHOD()
869 service->send_errors = Z_LVAL_P(tmp); in PHP_METHOD()
877 service->version = version; in PHP_METHOD()
878 service->type = SOAP_FUNCTIONS; in PHP_METHOD()
879 service->soap_functions.functions_all = FALSE; in PHP_METHOD()
880 service->soap_functions.ft = zend_new_array(0); in PHP_METHOD()
883 service->sdl = get_sdl(ZEND_THIS, ZSTR_VAL(wsdl), cache_wsdl); in PHP_METHOD()
884 if (service->uri == NULL) { in PHP_METHOD()
885 if (service->sdl->target_ns) { in PHP_METHOD()
886 service->uri = estrdup(service->sdl->target_ns); in PHP_METHOD()
889 service->uri = estrdup("http://unknown-uri/"); in PHP_METHOD()
895 service->typemap = soap_create_typemap(service->sdl, typemap_ht); in PHP_METHOD()
899 server_obj->service = service; in PHP_METHOD()
909 soapServicePtr service; in PHP_METHOD() local
918 FETCH_THIS_SERVICE(service); in PHP_METHOD()
920 if (service->type == SOAP_CLASS) { in PHP_METHOD()
923 service->soap_class.persistence = value; in PHP_METHOD()
941 soapServicePtr service; in PHP_METHOD() local
952 FETCH_THIS_SERVICE(service); in PHP_METHOD()
954 service->type = SOAP_CLASS; in PHP_METHOD()
955 service->soap_class.ce = ce; in PHP_METHOD()
957 delete_argv(&service->soap_class); in PHP_METHOD()
959 service->soap_class.persistence = SOAP_PERSISTENCE_REQUEST; in PHP_METHOD()
960 service->soap_class.argc = num_args; in PHP_METHOD()
961 if (service->soap_class.argc > 0) { in PHP_METHOD()
963 service->soap_class.argv = safe_emalloc(sizeof(zval), service->soap_class.argc, 0); in PHP_METHOD()
964 for (i = 0;i < service->soap_class.argc;i++) { in PHP_METHOD()
965 ZVAL_COPY(&service->soap_class.argv[i], &argv[i]); in PHP_METHOD()
977 soapServicePtr service; in PHP_METHOD() local
986 FETCH_THIS_SERVICE(service); in PHP_METHOD()
988 service->type = SOAP_OBJECT; in PHP_METHOD()
990 zval_ptr_dtor(&service->soap_object); in PHP_METHOD()
991 ZVAL_OBJ_COPY(&service->soap_object, Z_OBJ_P(obj)); in PHP_METHOD()
1001 soapServicePtr service; in PHP_METHOD() local
1010 FETCH_THIS_SERVICE(service); in PHP_METHOD()
1013 if (service->type == SOAP_OBJECT) { in PHP_METHOD()
1014 ft = &(Z_OBJCE(service->soap_object)->function_table); in PHP_METHOD()
1015 } else if (service->type == SOAP_CLASS) { in PHP_METHOD()
1016 ft = &service->soap_class.ce->function_table; in PHP_METHOD()
1017 } else if (service->soap_functions.functions_all == TRUE) { in PHP_METHOD()
1019 } else if (service->soap_functions.ft != NULL) { in PHP_METHOD()
1022 ZEND_HASH_MAP_FOREACH_VAL(service->soap_functions.ft, name) { in PHP_METHOD()
1030 …if ((service->type != SOAP_OBJECT && service->type != SOAP_CLASS) || (f->common.fn_flags & ZEND_AC… in PHP_METHOD()
1044 soapServicePtr service; in PHP_METHOD() local
1053 FETCH_THIS_SERVICE(service); in PHP_METHOD()
1058 if (service->type == SOAP_FUNCTIONS) { in PHP_METHOD()
1061 if (service->soap_functions.ft == NULL) { in PHP_METHOD()
1062 service->soap_functions.functions_all = FALSE; in PHP_METHOD()
1063 service->soap_functions.ft = zend_new_array(zend_hash_num_elements(Z_ARRVAL_P(function_name))); in PHP_METHOD()
1086 zend_hash_update(service->soap_functions.ft, key, &function_copy); in PHP_METHOD()
1103 if (service->soap_functions.ft == NULL) { in PHP_METHOD()
1104 service->soap_functions.functions_all = FALSE; in PHP_METHOD()
1105 service->soap_functions.ft = zend_new_array(0); in PHP_METHOD()
1109 zend_hash_update(service->soap_functions.ft, key, &function_copy); in PHP_METHOD()
1113 if (service->soap_functions.ft != NULL) { in PHP_METHOD()
1114 zend_hash_destroy(service->soap_functions.ft); in PHP_METHOD()
1115 efree(service->soap_functions.ft); in PHP_METHOD()
1116 service->soap_functions.ft = NULL; in PHP_METHOD()
1118 service->soap_functions.functions_all = TRUE; in PHP_METHOD()
1130 static void _soap_server_exception(soapServicePtr service, sdlFunctionPtr function, zval *this_ptr)… in _soap_server_exception() argument
1138 if (service->send_errors) { in _soap_server_exception()
1156 soapServicePtr service; local
1178 FETCH_THIS_SERVICE(service);
1179 SOAP_GLOBAL(soap_version) = service->version;
1192 if (service->sdl) {
1203 ZVAL_STRING(¶m, service->sdl->source);
1306 SOAP_GLOBAL(sdl) = service->sdl;
1308 SOAP_GLOBAL(encoding) = service->encoding;
1310 SOAP_GLOBAL(class_map) = service->class_map;
1312 SOAP_GLOBAL(typemap) = service->typemap;
1314 SOAP_GLOBAL(features) = service->features;
1318 …function = deserialize_function_call(service->sdl, doc_request, service->actor, &function_name, &n…
1330 _soap_server_exception(service, function, ZEND_THIS);
1335 service->soap_headers_ptr = &soap_headers;
1338 if (service->type == SOAP_OBJECT) {
1339 soap_obj = &service->soap_object;
1341 } else if (service->type == SOAP_CLASS) {
1344 if (service->soap_class.persistence == SOAP_PERSISTENCE_SESSION) {
1358 Z_OBJCE_P(tmp_soap_p) == service->soap_class.ce) {
1366 object_init_ex(&tmp_soap, service->soap_class.ce);
1369 if (service->soap_class.ce->constructor) {
1371 service->soap_class.ce->constructor, Z_OBJ(tmp_soap), NULL,
1372 service->soap_class.argc, service->soap_class.argv);
1375 _soap_server_exception(service, function, ZEND_THIS);
1382 if (service->soap_class.persistence == SOAP_PERSISTENCE_SESSION) {
1402 if (service->soap_functions.functions_all == TRUE) {
1405 function_table = service->soap_functions.ft;
1417 if (service->sdl && !h->function && !h->hdr) {
1426 ((service->type == SOAP_CLASS || service->type == SOAP_OBJECT) &&
1428 if (service->type == SOAP_CLASS || service->type == SOAP_OBJECT) {
1441 if (service->type == SOAP_CLASS && soap_obj) {zval_ptr_dtor(soap_obj);}
1445 _soap_server_exception(service, function, ZEND_THIS);
1446 if (service->type == SOAP_CLASS && soap_obj) {zval_ptr_dtor(soap_obj);}
1456 ((service->type == SOAP_CLASS || service->type == SOAP_OBJECT) &&
1458 if (service->type == SOAP_CLASS || service->type == SOAP_OBJECT) {
1460 if (service->type == SOAP_CLASS) {
1462 if (service->soap_class.persistence != SOAP_PERSISTENCE_SESSION) {
1481 _soap_server_exception(service, function, ZEND_THIS);
1482 if (service->type == SOAP_CLASS) {
1484 if (soap_obj && service->soap_class.persistence != SOAP_PERSISTENCE_SESSION) {
1512 …doc_return = serialize_response_call(function, response_name, service->uri, &retval, soap_headers,…
1521 _soap_server_exception(service, function, ZEND_THIS);
1522 if (service->type == SOAP_CLASS) {
1524 if (soap_obj && service->soap_class.persistence != SOAP_PERSISTENCE_SESSION) {
1594 service->soap_headers_ptr = NULL;
1615 soapServicePtr service; local
1625 FETCH_THIS_SERVICE(service);
1627 SOAP_GLOBAL(encoding) = service->encoding;
1639 soapServicePtr service; local
1649 FETCH_THIS_SERVICE(service);
1651 if (!service || !service->soap_headers_ptr) {
1657 p = service->soap_headers_ptr;
1775 soapServicePtr service; local
1783 (service = soap_server_object_fetch(Z_OBJ_P(error_object))->service) &&
1784 !service->send_errors) {
4389 soapServicePtr service = (soapServicePtr)data; local
4391 if (service->soap_functions.ft) {
4392 zend_hash_destroy(service->soap_functions.ft);
4393 efree(service->soap_functions.ft);
4396 if (service->typemap) {
4397 zend_hash_destroy(service->typemap);
4398 efree(service->typemap);
4401 delete_argv(&service->soap_class);
4403 if (service->actor) {
4404 efree(service->actor);
4406 if (service->uri) {
4407 efree(service->uri);
4409 if (service->sdl) {
4410 delete_sdl(service->sdl);
4412 if (service->encoding) {
4413 xmlCharEncCloseFunc(service->encoding);
4415 if (service->class_map) {
4416 zend_hash_destroy(service->class_map);
4417 FREE_HASHTABLE(service->class_map);
4419 zval_ptr_dtor(&service->soap_object);
4420 efree(service);