Question

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
Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top