He utilizado el importador WSDL con Delphi XE2 y ha generado una rutina que se ve como la siguiente, con exclusión de las 3 líneas comentadas en las que intento usar un servidor proxy.Delphi THTTPRio cómo usar el servidor proxy de autenticación
function GetIXYZService(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): IXYZService;
const
defWSDL = 'https://server/XYZService.svc?wsdl';
defURL = 'https://server/XYZService.svc';
defSvc = 'Company.XYZ.Services.XYZService';
defPrt = 'BasicHttpBinding_IXYZService';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO = nil then
RIO := THTTPRIO.Create(nil)
else
RIO := HTTPRIO;
try
// RIO.HTTPWebNode.Proxy := 'server_ip:port';
// RIO.HTTPWebNode.Username := 'username';
// RIO.HTTPWebNode.Password := 'password';
Result := (RIO as ISSOService);
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
end;
Necesito acceder al servicio a través de un servidor proxy de autenticación. He agregado las 3 líneas que se muestran arriba y cuando las descomente no puedo conectarme. La ayuda para los estados THTTPRio ...
Si es necesario utilizar un servidor proxy, o si el servidor requiere autenticación , utilizar las propiedades del objeto THTTPReqResp es decir el valor de la propiedad para proporcionar el HTTPWebNode información necesaria .
Esto lo he hecho, pero cuando intento utilizar mi servicio un ESOAPHTTPException se eleva con mensaje ...
Unauthorized (407) - 'https://server/XYZService.svc'
me ha tropezado con este post que dice que para establecer la configuración del proxy después estableciendo WSDLLocation, Service y Port que he intentado sin éxito.
http://www.delphigroups.info/2/10/555621.html
estoy tampoco edificio con USE_INDY definido. Mi servicio usa SSL, así que estoy usando WinInet.
No estoy seguro de lo que está mal con este enfoque por lo que cualquier ayuda es apreciada.
Gracias, Michael