调用webservice,报415异常,有关问题在哪

调用webservice,报415错误,问题在哪
调用webservice,报415异常,有关问题在哪

各位大侠,谁知道这个错误是怎么回事,调用webservice报的

调用函数
procedure TForm1.Button1Click(Sender: TObject);
var
  voutxml: DownAssayOrderFromCenterResponse;
  websvr: ILisCenterContract;
  vinxml: DownAssayOrderFromCenter;
begin
  websvr := metadata.GetILisCenterContract();
  voutxml := DownAssayOrderFromCenterResponse.Create;
  vinxml := DownAssayOrderFromCenter.create;
  voutxml := websvr.DownAssayOrderFromCenter(vinxml);
end;

接口

 ILisCenterContract = interface(IInvokable)
  ['{BDDD71DE-372C-330A-85EF-3B30C9946848}']
    function  UploadSampleToCenter(const parameters: UploadSampleToCenter): UploadSampleToCenterResponse; stdcall;
    function  DownSampleFromCenter(const parameters: DownSampleFromCenter): DownSampleFromCenterResponse; stdcall;
    function  UploadResultToCenter(const parameters: UploadResultToCenter): UploadResultToCenterResponse; stdcall;
    function  DownResultFromCenter(const parameters: DownResultFromCenter): DownResultFromCenterResponse; stdcall;
    function  GetResultFromCenterByMICode(const parameters: GetResultFromCenterByMICode): GetResultFromCenterByMICodeResponse; stdcall;
    function  GetResultFromCenterByIDCode(const parameters: GetResultFromCenterByIDCode): GetResultFromCenterByIDCodeResponse; stdcall;
    function  GetPictureResultFromCenterByMICode(const parameters: GetPictureResultFromCenterByMICode): GetPictureResultFromCenterByMICodeResponse; stdcall;
    function  GetPictureResultFromCenterByIDCode(const parameters: GetPictureResultFromCenterByIDCode): GetPictureResultFromCenterByIDCodeResponse; stdcall;
    function  DownAssayOrderFromCenter(const parameters: DownAssayOrderFromCenter): DownAssayOrderFromCenterResponse; stdcall;
    function  DownAssayItemFromCenter(const parameters: DownAssayItemFromCenter): DownAssayItemFromCenterResponse; stdcall;
    function  DownSpecmenTypeFromCenter(const parameters: DownSpecmenTypeFromCenter): DownSpecmenTypeFromCenterResponse; stdcall;
    function  DownEmployeeFromCenter(const parameters: DownEmployeeFromCenter): DownEmployeeFromCenterResponse; stdcall;
    function  DownDeptFromCenter(const parameters: DownDeptFromCenter): DownDeptFromCenterResponse; stdcall;
    function  DownWardFromCenter(const parameters: DownWardFromCenter): DownWardFromCenterResponse; stdcall;
    function  DownHospitalGroupFromCenter(const parameters: DownHospitalGroupFromCenter): DownHospitalGroupFromCenterResponse; stdcall;
    function  DownContainerFromCenter(const parameters: DownContainerFromCenter): DownContainerFromCenterResponse; stdcall;
    function  DownPatientSourceFromCenter(const parameters: DownPatientSourceFromCenter): DownPatientSourceFromCenterResponse; stdcall;
  end;

function GetILisCenterContract(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): ILisCenterContract;


implementation
  uses SysUtils;

function GetILisCenterContract(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): ILisCenterContract;
const
  defWSDL = 'http://192.168.2.101:6003/LisCenterService/metadata';
  defURL  = 'http://192.168.2.101:6003/LisCenterService';
  defSvc  = 'LisCenterService';
  defPrt  = 'WSHttpBinding_ILisCenterContract';
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
    Result := (RIO as ILisCenterContract);
    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;