I am converting a Delphi 2007 program to Delphi XE2 and have a problem with the following error message:
Unable to get URL endpoint for service / port "/" from WSDL 'http: // .....'
The service I'm connecting to is written in Delphi 2007.
In 2007, it compiles and runs without problems. On XE2 with the same code, it crashes with an error.
I tried to rename the interface using the new WSDL importer with the default values set, but without joy.
I also tried setting the port and service names and the error persists. Not sure what information is being used, but as far as I can tell, it is connecting.
This is the operation of the method that I use
<operation name="CheckRegistration"> <soap:operation soapAction="urn:ScubaUpdateWSIntf-IScubaUpdateWS#CheckRegistration" style="rpc"/> <input> <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ScubaUpdateWSIntf-IScubaUpdateWS"/> </input> <output> <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ScubaUpdateWSIntf-IScubaUpdateWS"/> </output> </operation>
This post is:
<message name="CheckRegistration10Request"> <part name="centreId" type="xs:int"/> <part name="centreName" type="xs:string"/> <part name="checkActiveOnly" type="xs:boolean"/> </message> <message name="CheckRegistration10Response"> <part name="return" type="xs:boolean"/> </message>
Besides importing WSDL, throwing HTTPRIO and calling a method with
(HTTPRIO1 as IScubaUpdateWS).CheckRegistration(strtoint(tcentre),tcentreName,true);
I do not think that I am doing anything else, and, as I said, the same code works on Delphi 2007.
Richard Turner
source share