Buen día y saludos primero que nada, tengo un problema al consumir un Web Service el cual utilizo el componente THTTPRIO para hacer el llamado, ya tengo importado el wsdl y generada la Unit del servicio.
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;
La realidad es que yo no estoy usando algun componente TXMLDocument ni nada por el estilo para manejar 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 antamano muchas gracias por tomarse el tiempo de leer.
Saludos.