Saludos a todos, desde hace días tengo un problema al tratar de consumir un Web Service el cual utilizo el componente THTTPRIO para hacer el llamado, ya importé el wsdl y me genera la Unit del servicio sin problema, tengo configurado las propiedades del componente, WSDLLocation, Service, Port...
Al momento de dar clic sobre el botón que me ejecuta el procedimiento me sale el error:
DTD is Prohibited
Line 1: <!DOCTYPE ...
Ya busqué en varios foros sobre este tema y me he revuelto, encontré la siguiente variable global que puse en False y el error continua:
Código Delphi
[-]
function
TMSDOMDocument.GetMSDocument: IXMLDOMDocument;
begin
Result := MSNode as IXMLDOMDocument;
if Result is IXMLDOMDocument2
then
(Result as IXMLDOMDocument2).ProhibitDTD := False;
end;
Actualmente no estoy usando algún componente TXMLDocument o algo que use la respuesta como XML, desconozco si tenga que hacerlo asi,
lo unico que tengo declarado es lo siguiente:
Código Delphi
[-]
var
resultadosF:Resultados; resultadoF :Resultado;
l, i:Integer;
begin
resultadosF := (HTTPRIO1 as MIWebServicePortType).ConsultaUsuario('usuario','password');
l := Length(resultadosF);
Memo1.Lines.Clear;
for i := 0 to (l - 1) do begin
resultadoF := resultadosF[i];
Memo1.Lines.Add('Id: ' + IntToStr(resultadoF.Id));
Memo1.Lines.Add('Mensaje: ' + resultadoF.msg);
end;
end;
El proyecto lo estoy desarrollando con Delphi XE8, el mismo web service lo he consumido con otras herramientas y no da problema, una de ellas es la extensión para google chrome que se llama Boomerang, me regresa la información correcta y sin problemas, el service esta hecho con PHP y la libreria NUSOAP.
Espero por favor puedan ayudarme y de antemano muchas gracias por tomarse el tiempo de leer.
Saludos.