I am converting a Delphi 2007 program to Delphi XE2 and having a problem with the following error message:
Unable to retrieve the URL endpoint for service/port "/" from WSDL 'http://.....'
The service I am connecting to is written in Delphi 2007.
On 2007 it compiles and runs without problems. On XE2 with the same code it falls over with the error.
I have tried re-importing the interface using the new WSDL importer with defaults set but no joy.
I have also tried setting the port and service names and the error persists. Not sure what info is of use but as far as I can tell it is connecting.
This is the operation of the method that I am using
<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 is the message:
<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>
Apart from importing the WSDL, throwing on an HTTPRIO and calling the method with
(HTTPRIO1 as IScubaUpdateWS).CheckRegistration(strtoint(tcentre),tcentreName,true);
I don't think I am doing anything else and as I say the same code works on Delphi 2007.