Estoy convirtiendo un programa Delphi 2007 para Delphi XE2 y tener un problema con el siguiente mensaje de error:Delphi XE2 HTTPRIO No se puede recuperar la URL de punto final de servicio/Puerto de
No se puede recuperar el punto final de la URL para el servicio/puerto "/" de WSDL 'http: // .....'
El servicio que estoy conectando está escrito en Delphi 2007.
en 2007 se compila y se ejecuta sin problemas. En XE2 con el mismo código, se cae con el error.
He intentado volver a importar la interfaz utilizando el nuevo importador WSDL con los valores predeterminados establecidos pero sin alegría.
También intenté establecer los nombres de puerto y servicio y el error persiste. No estoy seguro de qué información es útil, pero hasta donde sé, se está conectando.
Este es el funcionamiento del método que estoy usando
<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>
Este es el mensaje:
<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>
Además de importar el WSDL, lanzando en una HTTPRIO y llamando al método con
(HTTPRIO1 as IScubaUpdateWS).CheckRegistration(strtoint(tcentre),tcentreName,true);
No creo que esté haciendo otra cosa y como digo el mismo código funciona en Delph i 2007.
En tiempo de diseño, cuando se establece la propiedad HTTPRIO.WSDLLocation, ¿puede seleccionar las propiedades HTTPRIO.Service y HTTPRIO.Port? Debería poder configurar el Servicio y el Puerto en el momento del diseño, de lo contrario, puede haber algún problema con la URL. He tenido este problema muchas veces, y parece que tan pronto como lo configuro correctamente en el momento del diseño, el error desaparece. –
Hola John, gracias, el puerto está en blanco en el ide de Delphi 2007, así como en Xe2. Configurarlo solo cambia el mensaje de error. Acabo de intentar conectarme a otro WSDL delphi y tengo el mismo problema. Voy a tratar de conectarme a un C# WSDL o uno de los archivos DLL de Amazon para ver si puedo determinar si solo está delphi wsdls que está causando el problema. Publicaré más tarde hoy. –
Acabo de confirmar que Xe2 se puede conectar a un servicio web .net. Debe haber algo en mis servicios web delphi que esté causando el error del punto final. –