Bug #69311 [Com]: Can't override __soapCall function

From: Date: Tue, 09 Jun 2015 10:25:49 +0000
Subject: Bug #69311 [Com]: Can't override __soapCall function
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-193238@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=69311&edit=1

 ID:                 69311
 Comment by:         falundir at gmail dot com
 Reported by:        aavindraa at gmail dot com
 Summary:            Can't override __soapCall function
 Status:             Open
 Type:               Bug
 Package:            SOAP related
 Operating System:   Linux (SLES 11 SP3)
 PHP Version:        5.6.7
 Block user comment: N
 Private report:     N

 New Comment:

Well, you should instantiate your class instead of SoapClient:

$myClient = new TestSoap("http://example.com/some-service.wsdl");


Previous Comments:
------------------------------------------------------------------------
[2015-03-26 16:12:55] aavindraa at gmail dot com

Description:
------------
---
From manual page: http://www.php.net/soapclient.soapcall
---


I am unable to override the method __soapCall in SoapClient.

Is there something fundamental that I'm missing?

Test script:
---------------
public TestSoap extends SoapClient {
      public function __soapCall($function_name, $arguments, $options = null, $input_headers = null,
&$output_headers = null)
      {
              echo "OVERRIDEN";
              exit(1);
      }
}

$myClient = new SoapClient("http://example.com/some-service.wsdl");
$myClient->someMethod();


Expected result:
----------------
THe method override should echo OVERRIDDEN and stop the script

Actual result:
--------------
The method is never called and it continues as normal


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=69311&edit=1


Thread (3 messages)

« previous php.bugs (#193238) next »