Could not find any usable binding services in WSDL

I have a SOAP service that works fine when accessed with SoapUI, but trying to access it from php I get the following error:

PHP Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Could not find any usable binding services in WSDL.

Any idea what could it be? The SOAP service is build 100% in delphi using RemObjects and an older version of the same SOAP service works fine (the new version just has two more table fields).

I’m using latest version of Remoting SDK.

Here is the WSDL: https://pastebin.com/raw/NQRC4qdk

Edit: I recompiled everything with RemObjects Remoting SDK for Delphi - 10.0.0.1517 and works but with the latest doesn’t. 100% same Delphi code, just a recompile.

Hi,

Can you compare what difference between generated wsdl between .1517 and .1537 pls?


I generated php interface with Service Builder: NewLibrary_intf.inc (50.3 KB)

can you test it and say work it or not with your code, pls?

Hi,
Here is the wsdl from .1517:
https://pastebin.com/raw/sQFaw6En
And the version from .1537:
https://pastebin.com/raw/NQRC4qdk

Sorry, I’m not proficient in php, I can’t use the interface you generated. One customer reported the problem, not being able to access our API and I just tested the connection to the API using php and that failed. This was my code:

<?php
$url = "http://127.0.0.1:8445/SOAP";
$client = new SoapClient($url);
print_r("connected 2\r\n");

Edit: I had to go to a previous version, .1495, the version .1517 gives me the following error: [SoapFault] Operation not allowed on sorted list

Hi,

I see only 2 differences:

<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
...
<soap:address location="http://127.0.0.1:8445/SOAP?service=ConcertService"/>

vs

<soap:binding transport="http://schemas.xmlsoap.org/soap/http/"/>
...
<soap:address location="https://127.0.0.1:8445/SOAP?service=ConcertService"/>

probably you should use http:// instead of https://.

looks like, it doesn’t accept ending / in transport tag so I’ll remove it

This is not fixed yet in the new version, .1539.
To test, create a new soap project, run it and then try to access it from php:
Create the following php test.php file (with the right IP):

<?php
$url = "http://192.168.2.41:8099/SOAP";
$client = new SoapClient($url);
print_r("connected\r\n");

and run it:
> php test.php

Here is the error returned:

PHP Fatal error:  Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Could not find any usable binding services in WSDL. in /home/pi/client.php:5
Stack trace:
#0 /home/pi/client.php(5): SoapClient->SoapClient('http://192.168....')
#1 {main}
  thrown in /home/pi/client.php on line 5

When it works, the message you will get is just:
connected

Hi,

weird, I have

c:\>php.exe Y:\a.php
connected

I’ve used php from php-8.1.5-Win32-vs16-x64.zip

1 Like

Yes, it was my mistake… I found the problem, unrelated (I was actually testing https connection and the certificate was expired on my development machine).

1 Like