This function did not work if schema is not in wsdl file.
(PHP 5 >= 5.0.1, PHP 7)
SoapClient::__getFunctions — Returns list of available SOAP functions
Returns an array of functions described in the WSDL for the Web service.
Note:
This function only works in WSDL mode.
This function has no parameters.
The array of SOAP function prototypes, detailing the return type, the function name and type-hinted paramaters.
Example #1 SoapClient::__getFunctions() example
<?php
$client = new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getFunctions());
?>
The above example will output:
array(26) { [0]=> string(70) "ProductInfo KeywordSearchRequest(KeywordRequest $KeywordSearchRequest)" [1]=> string(79) "ProductInfo TextStreamSearchRequest(TextStreamRequest $TextStreamSearchRequest)" [2]=> string(64) "ProductInfo PowerSearchRequest(PowerRequest $PowerSearchRequest)" ... [23]=> string(107) "ShoppingCart RemoveShoppingCartItemsRequest(RemoveShoppingCartItemsRequest $RemoveShoppingCartItemsRequest)" [24]=> string(107) "ShoppingCart ModifyShoppingCartItemsRequest(ModifyShoppingCartItemsRequest $ModifyShoppingCartItemsRequest)" [25]=> string(118) "GetTransactionDetailsResponse GetTransactionDetailsRequest(GetTransactionDetailsRequest $GetTransactionDetailsRequest)" }
The following code works for me while it appears soap.amazon.com has been deprecated and taken out of service. http://webservices.amazon.com has replaced Amazon's SOAP.
<?php
$client = new SoapClient('http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl');
var_dump($client->__getFunctions());
?>
_getFunctions can return null, not only array. This happens if the WSDL has not been parsed yet. This may be helpful to someone debugging, just like I was a few minutes ago when writing an extension to SoapClient.
example for amazon webservice
<?php
$wsdl_url =
"http://soap.amazon.com/schemas3/AmazonWebServices.wsdl";
$client = new SoapClient($wsdl_url);
var_dump($client->__getFunctions());
?>