HTTPRIO在操作系统上连接到Web服务“错误:HTTP / 1.1 401未授权”,同时在Win32中工作

时间:2018-02-12 15:02:02

标签: macos web-services delphi firemonkey

我有一个简单的项目,使用checkVatService.wsdl来削减欧洲增值税号码的价值。

在MACOS上运行项目时出现以下错误:“error : HTTP/1.1 401 Unauthorized”。

在Win32上运行时,项目返回“valid”

procedure TForm1.ControleVat;
var
  cv  : checkVatApprox;
  cvs : checkVatApproxResponse;
  HTTPRIO1: THTTPRIO;
begin

  HTTPRIO1 := THTTPRIO.Create(nil);

  HTTPRIO1.WSDLLocation := 'checkVatservice.WSDL';
  HTTPRIO1.Service := 'checkVatService';
  HTTPRIO1.Port := 'checkVatPort';

  cvs:=nil;
  cv:=checkVatApprox.Create;
  try
    cv.countryCode := 'BE';
    cv.vatNumber   := '0000000097'; 
    try
      cvs:= ( HTTPRIO1 as checkVatPortType ).checkVatApprox(cv);
      if cvs.valid then begin
        showmessage('valid');
      end else begin
        showmessage('invalid');
      end;
    except
      on e:exception do begin
        showmessage('error : ' + e.Message);
      end;
    end;

  finally
    cv.Free;
    freeandnil(cvs);
  end;
end;

该服务不需要自动化,在Win32和OS中,用户名/密码都是空白的。

导致此错误的原因是什么?连接有什么区别?

1 个答案:

答案 0 :(得分:0)

我有同样的问题,在android中。在Windows中它一切都好; 它似乎与一些奇怪的服务器问题有关,如果客户端反向ipv6而不是ipv4 ..

我建议您使用:https://www.isvat.eu/