php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
soap.c File Reference

Go to the source code of this file.

Data Structures

struct  _soapHeader
 
struct  soap_server_object
 

Macros

#define SOAP_SERVER_BEGIN_CODE()
 
#define SOAP_SERVER_END_CODE()
 
#define SOAP_CLIENT_BEGIN_CODE()
 
#define SOAP_CLIENT_END_CODE()
 
#define FETCH_THIS_SDL(ss)
 
#define Z_PARAM_NAME_P(zv)
 
#define Z_PARAM_DATA_P(zv)
 
#define Z_HEADER_NAMESPACE_P(zv)
 
#define Z_HEADER_NAME_P(zv)
 
#define Z_HEADER_DATA_P(zv)
 
#define Z_HEADER_MUST_UNDERSTAND_P(zv)
 
#define Z_HEADER_ACTOR_P(zv)
 
#define Z_SERVER_SOAP_FAULT_P(zv)
 
#define FAULT_PROP_START_OFFSET   zend_ce_exception->default_properties_count
 
#define Z_FAULT_STRING_P(zv)
 
#define Z_FAULT_CODE_P(zv)
 
#define Z_FAULT_CODENS_P(zv)
 
#define Z_FAULT_ACTOR_P(zv)
 
#define Z_FAULT_DETAIL_P(zv)
 
#define Z_FAULT_NAME_P(zv)
 
#define Z_FAULT_HEADERFAULT_P(zv)
 
#define FETCH_THIS_SERVICE_NO_BAILOUT(ss)
 
#define FETCH_THIS_SERVICE(ss)
 
#define Z_SOAP_SDL_P(zv)
 

Typedefs

typedef struct _soapHeader soapHeader
 

Functions

 PHP_RINIT_FUNCTION (soap)
 
 PHP_MINIT_FUNCTION (soap)
 
 PHP_MSHUTDOWN_FUNCTION (soap)
 
 PHP_MINFO_FUNCTION (soap)
 
 ZEND_INI_MH (OnUpdateCacheMode)
 
 STD_PHP_INI_BOOLEAN ("soap.wsdl_cache_enabled", "1", PHP_INI_ALL, OnUpdateBool, cache_enabled, zend_soap_globals, soap_globals)
 
 PHP_METHOD (SoapParam, __construct)
 
 PHP_METHOD (SoapHeader, __construct)
 
 PHP_METHOD (SoapFault, __construct)
 
 PHP_METHOD (SoapFault, __toString)
 
 PHP_METHOD (SoapVar, __construct)
 
 PHP_METHOD (SoapServer, __construct)
 
 PHP_METHOD (SoapServer, setPersistence)
 
 PHP_METHOD (SoapServer, setClass)
 
 PHP_METHOD (SoapServer, setObject)
 
 PHP_METHOD (SoapServer, getFunctions)
 
 PHP_METHOD (SoapServer, addFunction)
 
 PHP_METHOD (SoapServer, handle)
 
 PHP_METHOD (SoapServer, fault)
 
 PHP_METHOD (SoapServer, addSoapHeader)
 
 PHP_METHOD (SoapServer, __getLastResponse)
 
 PHP_FUNCTION (use_soap_error_handler)
 
 PHP_FUNCTION (is_soap_fault)
 
 PHP_METHOD (SoapClient, __construct)
 
 PHP_METHOD (SoapClient, __call)
 
 PHP_METHOD (SoapClient, __soapCall)
 
 PHP_METHOD (SoapClient, __getFunctions)
 
 PHP_METHOD (SoapClient, __getTypes)
 
 PHP_METHOD (SoapClient, __getLastRequest)
 
 PHP_METHOD (SoapClient, __getLastResponse)
 
 PHP_METHOD (SoapClient, __getLastRequestHeaders)
 
 PHP_METHOD (SoapClient, __getLastResponseHeaders)
 
 PHP_METHOD (SoapClient, __doRequest)
 
 PHP_METHOD (SoapClient, __setCookie)
 
 PHP_METHOD (SoapClient, __getCookies)
 
 PHP_METHOD (SoapClient, __setSoapHeaders)
 
 PHP_METHOD (SoapClient, __setLocation)
 
void add_soap_fault (zval *obj, char *fault_code, char *fault_string, char *fault_actor, zval *fault_detail)
 

Variables

zend_class_entrysoap_class_entry
 
zend_class_entrysoap_var_class_entry
 
zend_class_entrysoap_url_class_entry
 
zend_class_entrysoap_sdl_class_entry
 
zend_module_entry soap_module_entry
 

Macro Definition Documentation

◆ FAULT_PROP_START_OFFSET

#define FAULT_PROP_START_OFFSET   zend_ce_exception->default_properties_count

Definition at line 151 of file soap.c.

◆ FETCH_THIS_SDL

#define FETCH_THIS_SDL ( ss)
Value:
{ \
if (Z_TYPE_P(__tmp) == IS_OBJECT && instanceof_function(Z_OBJCE_P(__tmp), soap_sdl_class_entry)) { \
ss = Z_SOAP_SDL_P(__tmp)->sdl; \
} else { \
ss = NULL; \
} \
}
#define NULL
Definition gdcache.h:45
zend_class_entry * soap_sdl_class_entry
Definition soap.c:186
#define Z_CLIENT_SDL_P(zv)
Definition php_soap.h:225
#define Z_SOAP_SDL_P(zv)
Definition soap.c:262
#define ZEND_THIS
Definition zend_API.h:523
struct _zval_struct zval
#define Z_TYPE_P(zval_p)
Definition zend_types.h:660
#define Z_OBJCE_P(zval_p)
#define IS_OBJECT
Definition zend_types.h:608

Definition at line 129 of file soap.c.

◆ FETCH_THIS_SERVICE

#define FETCH_THIS_SERVICE ( ss)
Value:
{ \
ss = soap_server_object_fetch(Z_OBJ_P(ZEND_THIS))->service; \
if (!ss) { \
zend_throw_error(NULL, "Cannot fetch SoapServer object"); \
SOAP_SERVER_END_CODE(); \
RETURN_THROWS(); \
} \
}
#define Z_OBJ_P(zval_p)
Definition zend_types.h:990

Definition at line 169 of file soap.c.

◆ FETCH_THIS_SERVICE_NO_BAILOUT

#define FETCH_THIS_SERVICE_NO_BAILOUT ( ss)
Value:
{ \
ss = soap_server_object_fetch(Z_OBJ_P(ZEND_THIS))->service; \
if (!ss) { \
zend_throw_error(NULL, "Cannot fetch SoapServer object"); \
RETURN_THROWS(); \
} \
}

Definition at line 160 of file soap.c.

◆ SOAP_CLIENT_BEGIN_CODE

#define SOAP_CLIENT_BEGIN_CODE ( )
Value:
bool _old_handler = SOAP_GLOBAL(use_soap_error_handler);\
char* _old_error_code = SOAP_GLOBAL(error_code);\
zend_object* _old_error_object = Z_OBJ(SOAP_GLOBAL(error_object));\
int _old_soap_version = SOAP_GLOBAL(soap_version);\
bool _old_in_compilation = CG(in_compilation); \
zend_execute_data *_old_current_execute_data = EG(current_execute_data); \
zval *_old_stack_top = EG(vm_stack_top); \
bool _bailout = false;\
SOAP_GLOBAL(use_soap_error_handler) = 1;\
SOAP_GLOBAL(error_code) = "Client";\
php_json_error_code error_code
Definition php_json.h:92
zval error_object
Definition php_soap.h:162
#define SOAP_GLOBAL(v)
Definition php_soap.h:187
bool use_soap_error_handler
Definition php_soap.h:163
int soap_version
Definition php_soap.h:159
#define zend_try
Definition zend.h:270
#define CG(v)
#define EG(v)
struct _zend_object zend_object
struct _zend_execute_data zend_execute_data
Definition zend_types.h:91
#define Z_OBJ(zval)
Definition zend_types.h:989

Definition at line 87 of file soap.c.

◆ SOAP_CLIENT_END_CODE

#define SOAP_CLIENT_END_CODE ( )
Value:
CG(in_compilation) = _old_in_compilation; \
EG(current_execute_data) = _old_current_execute_data; \
if (EG(exception) == NULL || \
!instanceof_function(EG(exception)->ce, soap_fault_class_entry)) {\
_bailout = true;\
}\
if (_old_stack_top != EG(vm_stack_top)) { \
while (EG(vm_stack)->prev != NULL && \
((char*)_old_stack_top < (char*)EG(vm_stack) || \
(char*) _old_stack_top > (char*)EG(vm_stack)->end)) { \
zend_vm_stack tmp = EG(vm_stack)->prev; \
efree(EG(vm_stack)); \
EG(vm_stack) = tmp; \
EG(vm_stack_end) = tmp->end; \
} \
EG(vm_stack)->top = _old_stack_top; \
} \
SOAP_GLOBAL(use_soap_error_handler) = _old_handler;\
SOAP_GLOBAL(error_code) = _old_error_code;\
Z_OBJ(SOAP_GLOBAL(error_object)) = _old_error_object;\
SOAP_GLOBAL(soap_version) = _old_soap_version;\
if (_bailout) {\
zend_bailout();\
}
bool exception
Definition assert.c:30
prev(array|object &$array)
unsigned const char * end
Definition php_ffi.h:51
zend_vm_stack prev
#define zend_catch
Definition zend.h:277
#define zend_end_try()
Definition zend.h:280
struct _zend_vm_stack * zend_vm_stack

Definition at line 101 of file soap.c.

◆ SOAP_SERVER_BEGIN_CODE

#define SOAP_SERVER_BEGIN_CODE ( )
Value:
bool _old_handler = SOAP_GLOBAL(use_soap_error_handler);\
char* _old_error_code = SOAP_GLOBAL(error_code);\
zend_object* _old_error_object = Z_OBJ(SOAP_GLOBAL(error_object));\
int _old_soap_version = SOAP_GLOBAL(soap_version);\
SOAP_GLOBAL(use_soap_error_handler) = 1;\
SOAP_GLOBAL(error_code) = "Server";\

Definition at line 72 of file soap.c.

◆ SOAP_SERVER_END_CODE

#define SOAP_SERVER_END_CODE ( )
Value:
SOAP_GLOBAL(error_code) = _old_error_code;\
Z_OBJ(SOAP_GLOBAL(error_object)) = _old_error_object;\
SOAP_GLOBAL(soap_version) = _old_soap_version;

Definition at line 81 of file soap.c.

◆ Z_FAULT_ACTOR_P

#define Z_FAULT_ACTOR_P ( zv)
Value:
zval * zv
Definition ffi.c:3975
#define FAULT_PROP_START_OFFSET
Definition soap.c:151
#define OBJ_PROP_NUM(obj, num)

Definition at line 155 of file soap.c.

◆ Z_FAULT_CODE_P

#define Z_FAULT_CODE_P ( zv)
Value:

Definition at line 153 of file soap.c.

◆ Z_FAULT_CODENS_P

#define Z_FAULT_CODENS_P ( zv)
Value:

Definition at line 154 of file soap.c.

◆ Z_FAULT_DETAIL_P

#define Z_FAULT_DETAIL_P ( zv)
Value:

Definition at line 156 of file soap.c.

◆ Z_FAULT_HEADERFAULT_P

#define Z_FAULT_HEADERFAULT_P ( zv)
Value:

Definition at line 158 of file soap.c.

◆ Z_FAULT_NAME_P

#define Z_FAULT_NAME_P ( zv)
Value:

Definition at line 157 of file soap.c.

◆ Z_FAULT_STRING_P

#define Z_FAULT_STRING_P ( zv)
Value:

Definition at line 152 of file soap.c.

◆ Z_HEADER_ACTOR_P

#define Z_HEADER_ACTOR_P ( zv)
Value:
php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 4))

Definition at line 146 of file soap.c.

◆ Z_HEADER_DATA_P

#define Z_HEADER_DATA_P ( zv)
Value:
php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 2))

Definition at line 144 of file soap.c.

◆ Z_HEADER_MUST_UNDERSTAND_P

#define Z_HEADER_MUST_UNDERSTAND_P ( zv)
Value:
php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 3))

Definition at line 145 of file soap.c.

◆ Z_HEADER_NAME_P

#define Z_HEADER_NAME_P ( zv)
Value:
php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 1))

Definition at line 143 of file soap.c.

◆ Z_HEADER_NAMESPACE_P

#define Z_HEADER_NAMESPACE_P ( zv)
Value:
php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 0))

Definition at line 142 of file soap.c.

◆ Z_PARAM_DATA_P

#define Z_PARAM_DATA_P ( zv)
Value:
php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 1))

Definition at line 140 of file soap.c.

◆ Z_PARAM_NAME_P

#define Z_PARAM_NAME_P ( zv)
Value:
php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 0))

Definition at line 139 of file soap.c.

◆ Z_SERVER_SOAP_FAULT_P

#define Z_SERVER_SOAP_FAULT_P ( zv)
Value:
php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 0))

Definition at line 148 of file soap.c.

◆ Z_SOAP_SDL_P

#define Z_SOAP_SDL_P ( zv)
Value:
soap_sdl_object_fetch(Z_OBJ_P(zv))

Definition at line 262 of file soap.c.

Typedef Documentation

◆ soapHeader

typedef struct _soapHeader soapHeader

Function Documentation

◆ add_soap_fault()

void add_soap_fault ( zval * obj,
char * fault_code,
char * fault_string,
char * fault_actor,
zval * fault_detail )

Definition at line 2920 of file soap.c.

◆ PHP_FUNCTION() [1/2]

PHP_FUNCTION ( is_soap_fault )

Definition at line 1959 of file soap.c.

◆ PHP_FUNCTION() [2/2]

PHP_FUNCTION ( use_soap_error_handler )

Definition at line 1947 of file soap.c.

◆ PHP_METHOD() [1/29]

PHP_METHOD ( SoapClient ,
__call  )

Definition at line 2573 of file soap.c.

◆ PHP_METHOD() [2/29]

PHP_METHOD ( SoapClient ,
__construct  )

Definition at line 1975 of file soap.c.

◆ PHP_METHOD() [3/29]

PHP_METHOD ( SoapClient ,
__doRequest  )

Definition at line 2769 of file soap.c.

◆ PHP_METHOD() [4/29]

PHP_METHOD ( SoapClient ,
__getCookies  )

Definition at line 2825 of file soap.c.

◆ PHP_METHOD() [5/29]

PHP_METHOD ( SoapClient ,
__getFunctions  )

Definition at line 2669 of file soap.c.

◆ PHP_METHOD() [6/29]

PHP_METHOD ( SoapClient ,
__getLastRequest  )

Definition at line 2721 of file soap.c.

◆ PHP_METHOD() [7/29]

PHP_METHOD ( SoapClient ,
__getLastRequestHeaders  )

Definition at line 2745 of file soap.c.

◆ PHP_METHOD() [8/29]

PHP_METHOD ( SoapClient ,
__getLastResponse  )

Definition at line 2733 of file soap.c.

◆ PHP_METHOD() [9/29]

PHP_METHOD ( SoapClient ,
__getLastResponseHeaders  )

Definition at line 2757 of file soap.c.

◆ PHP_METHOD() [10/29]

PHP_METHOD ( SoapClient ,
__getTypes  )

Definition at line 2694 of file soap.c.

◆ PHP_METHOD() [11/29]

PHP_METHOD ( SoapClient ,
__setCookie  )

Definition at line 2803 of file soap.c.

◆ PHP_METHOD() [12/29]

PHP_METHOD ( SoapClient ,
__setLocation  )

Definition at line 2877 of file soap.c.

◆ PHP_METHOD() [13/29]

PHP_METHOD ( SoapClient ,
__setSoapHeaders  )

Definition at line 2838 of file soap.c.

◆ PHP_METHOD() [14/29]

PHP_METHOD ( SoapClient ,
__soapCall  )

Definition at line 2596 of file soap.c.

◆ PHP_METHOD() [15/29]

PHP_METHOD ( SoapFault ,
__construct  )

Definition at line 659 of file soap.c.

◆ PHP_METHOD() [16/29]

PHP_METHOD ( SoapFault ,
__toString  )

Definition at line 712 of file soap.c.

◆ PHP_METHOD() [17/29]

PHP_METHOD ( SoapHeader ,
__construct  )

Definition at line 587 of file soap.c.

◆ PHP_METHOD() [18/29]

PHP_METHOD ( SoapParam ,
__construct  )

Definition at line 564 of file soap.c.

◆ PHP_METHOD() [19/29]

PHP_METHOD ( SoapServer ,
__construct  )

Definition at line 898 of file soap.c.

◆ PHP_METHOD() [20/29]

PHP_METHOD ( SoapServer ,
__getLastResponse  )

Definition at line 1770 of file soap.c.

◆ PHP_METHOD() [21/29]

PHP_METHOD ( SoapServer ,
addFunction  )

Definition at line 1152 of file soap.c.

◆ PHP_METHOD() [22/29]

PHP_METHOD ( SoapServer ,
addSoapHeader  )

Definition at line 1742 of file soap.c.

◆ PHP_METHOD() [23/29]

PHP_METHOD ( SoapServer ,
fault  )

Definition at line 1714 of file soap.c.

◆ PHP_METHOD() [24/29]

PHP_METHOD ( SoapServer ,
getFunctions  )

Definition at line 1113 of file soap.c.

◆ PHP_METHOD() [25/29]

PHP_METHOD ( SoapServer ,
handle  )

Definition at line 1260 of file soap.c.

◆ PHP_METHOD() [26/29]

PHP_METHOD ( SoapServer ,
setClass  )

Definition at line 1062 of file soap.c.

◆ PHP_METHOD() [27/29]

PHP_METHOD ( SoapServer ,
setObject  )

Definition at line 1093 of file soap.c.

◆ PHP_METHOD() [28/29]

PHP_METHOD ( SoapServer ,
setPersistence  )

Definition at line 1029 of file soap.c.

◆ PHP_METHOD() [29/29]

PHP_METHOD ( SoapVar ,
__construct  )

Definition at line 753 of file soap.c.

◆ PHP_MINFO_FUNCTION()

PHP_MINFO_FUNCTION ( soap )

Definition at line 553 of file soap.c.

◆ PHP_MINIT_FUNCTION()

PHP_MINIT_FUNCTION ( soap )

Definition at line 490 of file soap.c.

◆ PHP_MSHUTDOWN_FUNCTION()

PHP_MSHUTDOWN_FUNCTION ( soap )

Definition at line 454 of file soap.c.

◆ PHP_RINIT_FUNCTION()

PHP_RINIT_FUNCTION ( soap )

Definition at line 475 of file soap.c.

◆ STD_PHP_INI_BOOLEAN()

STD_PHP_INI_BOOLEAN ( "soap.wsdl_cache_enabled" ,
"1",
PHP_INI_ALL,
OnUpdateBool ,
cache_enabled ,
zend_soap_globals,
soap_globals  )

Definition at line 381 of file soap.c.

◆ ZEND_INI_MH()

ZEND_INI_MH ( OnUpdateCacheMode )

Definition at line 343 of file soap.c.

Variable Documentation

◆ soap_class_entry

zend_class_entry* soap_class_entry

Definition at line 179 of file soap.c.

◆ soap_module_entry

zend_module_entry soap_module_entry
Initial value:
= {
soap_deps,
"soap",
ext_functions,
PHP_MINIT(soap),
PHP_RINIT(soap),
PHP_MINFO(soap),
}
#define PHP_MINFO
Definition php.h:396
#define PHP_RINIT
Definition php.h:394
#define PHP_MSHUTDOWN
Definition php.h:393
#define PHP_MINIT
Definition php.h:392
#define STANDARD_MODULE_PROPERTIES
#define STANDARD_MODULE_HEADER_EX

Definition at line 320 of file soap.c.

◆ soap_sdl_class_entry

zend_class_entry* soap_sdl_class_entry

Definition at line 186 of file soap.c.

◆ soap_url_class_entry

zend_class_entry* soap_url_class_entry

Definition at line 185 of file soap.c.

◆ soap_var_class_entry

zend_class_entry* soap_var_class_entry

Definition at line 184 of file soap.c.