我有一个简单的项目,使用checkVatService.wsdl来检查欧洲增值税号的数量。

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

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

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中,用户名/密码均为空白。

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

最佳答案

我在android中有同样的问题。在Windows中一切正常;
如果客户端检索ipv6而不是ipv4,这似乎与某些奇怪的服务器问题有关。

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

关于macos - 在Win32中工作时,在OS上连接到Web服务的HTTPRIO“错误:HTTP/1.1 401未经授权”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48749366/

10-13 02:27