Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   DTD is Prohibited al consumir Web Service. (https://www.clubdelphi.com/foros/showthread.php?t=89873)

jlrdz 22-02-2016 19:04:44

DTD is Prohibited al consumir Web Service.
 
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; //Arreglo de resultado
  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.

orodriguezca 22-02-2016 20:53:13

Asegúrate de asignarle valor a la propiedad WSDLLocation del componente HTTPRIO1. Normalmente se asigna la URL del documento WSDL.

jlrdz 22-02-2016 23:12:43

Gracias por tu respuesta orodriguezca y así es, lo tengo puesto en el componente, al escribirlo ya me habilita la selección de Service y Port pero me da el mismo error.


La franja horaria es GMT +2. Ahora son las 17:49:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi