/* }}} */
/* {{{ Calls a SOAP function */
-PHP_METHOD(SoapClient, __call)
+void soap_client_call_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_soap_call)
{
char *function, *location=NULL, *soap_action = NULL, *uri = NULL;
size_t function_len;
zend_bool free_soap_headers = 0;
zval *this_ptr;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "sa|a!zz",
- &function, &function_len, &args, &options, &headers, &output_headers) == FAILURE) {
- RETURN_THROWS();
+ if (is_soap_call) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "sa|a!zz",
+ &function, &function_len, &args, &options, &headers, &output_headers) == FAILURE) {
+ RETURN_THROWS();
+ }
+ } else {
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "sa", &function, &function_len, &args) == FAILURE) {
+ RETURN_THROWS();
+ }
}
if (options) {
}
/* }}} */
+PHP_METHOD(SoapClient, __call)
+{
+ soap_client_call_impl(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0);
+}
+
+PHP_METHOD(SoapClient, __soapCall)
+{
+ soap_client_call_impl(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1);
+}
/* {{{ Returns list of SOAP functions */
PHP_METHOD(SoapClient, __getFunctions)
/** @return mixed */
public function __call(string $function_name, array $arguments) {}
- /**
- * @return mixed
- * @alias SoapClient::__call
- */
+ /** @return mixed */
public function __soapCall(string $function_name, array $arguments, ?array $options = null, $input_headers = null, $output_headers = null) {}
/** @return array|null */
/* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 43878ddb4f96ee0a2f409b87bb1484fc5378cfb5 */
+ * Stub hash: 82152767dbeda492da7dff97324d7277d3f0213b */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_use_soap_error_handler, 0, 0, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, handler, _IS_BOOL, 0, "true")
ZEND_METHOD(SoapServer, handle);
ZEND_METHOD(SoapClient, __construct);
ZEND_METHOD(SoapClient, __call);
+ZEND_METHOD(SoapClient, __soapCall);
ZEND_METHOD(SoapClient, __getFunctions);
ZEND_METHOD(SoapClient, __getTypes);
ZEND_METHOD(SoapClient, __getLastRequest);
static const zend_function_entry class_SoapClient_methods[] = {
ZEND_ME(SoapClient, __construct, arginfo_class_SoapClient___construct, ZEND_ACC_PUBLIC)
ZEND_ME(SoapClient, __call, arginfo_class_SoapClient___call, ZEND_ACC_PUBLIC)
- ZEND_MALIAS(SoapClient, __soapCall, __call, arginfo_class_SoapClient___soapCall, ZEND_ACC_PUBLIC)
+ ZEND_ME(SoapClient, __soapCall, arginfo_class_SoapClient___soapCall, ZEND_ACC_PUBLIC)
ZEND_ME(SoapClient, __getFunctions, arginfo_class_SoapClient___getFunctions, ZEND_ACC_PUBLIC)
ZEND_ME(SoapClient, __getTypes, arginfo_class_SoapClient___getTypes, ZEND_ACC_PUBLIC)
ZEND_ME(SoapClient, __getLastRequest, arginfo_class_SoapClient___getLastRequest, ZEND_ACC_PUBLIC)
$header = new SOAPHeader(null, 'foo', 'bar');
-$response= $client->__call('function', array(), null, $header);
+$response= $client->__soapCall('function', array(), null, $header);
print $client->__getLastRequest();
?>