问题
I want to make a werbservice invocation but it gives me the following error:
SOAP-ERROR: Parsing WSDL: Could not find any usable binding services in
Here is the code
error_reporting(E_ALL);
ini_set('display_errors', '1');
define('URI', 'http://200.31.114.39/Servicio-Rest/STMPOST_SMAR.svc?singlewsdl');
try {
$client = new SoapClient(URI);
print_r($client);
//~ $result = $client->SomeFunction();
} catch (SoapFault $fault) {
trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
}
What could be wrong?
FYI:
I've got soap enabled
$ php -i | grep -i soap
soap
Soap Client => enabled
Soap Server => enabled
soap.wsdl_cache => 1 => 1
soap.wsdl_cache_dir => /tmp => /tmp
soap.wsdl_cache_enabled => 1 => 1
soap.wsdl_cache_limit => 5 => 5
soap.wsdl_cache_ttl => 86400 => 86400
回答1:
The WSDL you are trying to make a client for is an abstract WSDL document. An abstract WSDL could be used for analyzing purposes but it does not contain all the necessary information to call a service.
The technical information about calling a service for example via SOAP is stored in the binding element of a WSDL. In case of your WSDL there is no binding information available.
来源:https://stackoverflow.com/questions/19105076/soap-error-parsing-wsdl-could-not-find-any-usable-binding-services-in-wsd