Delphi XE2 HTTPRIO Невозможно получить конечную точку URL для службы / порта

Я конвертирую программу Delphi 2007 в Delphi XE2, и у меня возникла проблема со следующей ошибкой message:

Невозможно получить конечную точку URL для службы / порта "/" из WSDL 'http: // .....'

Служба, к которой я подключаюсь, написана в Delphi 2007.

Вкл. 2007 компилируется и запускается без проблем. На XE2 с таким же кодом вываливается с ошибкой.

Я попытался повторно импортировать интерфейс с помощью нового средства импорта WSDL с установленными значениями по умолчанию, но без радости.

Я также попытался задать имена портов и служб, но ошибка не исчезла. Не уверен, какая информация используется, но насколько я могу судить, она подключается.

Это операция метода, который я использую.

<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> 

Это сообщение:

<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>

Помимо импорта WSDL, добавления HTTPRIO и вызова метода с помощью

(HTTPRIO1 as IScubaUpdateWS).CheckRegistration(strtoint(tcentre),tcentreName,true);

Я не думаю, что я делает что-нибудь еще, и, как я уже сказал, тот же код работает в Delphi 2007.

7
задан SSE 13 November 2013 в 16:56
поделиться