Jump to content

mraiha

Members
  • Content Count

    1
  • Joined

  • Last visited

Posts posted by mraiha


  1. Sorry for my bad English.

    Reproducing needs true SOAP server. If in WSDL there is property type Class(TXSDate) it can be null, so when trying to convert it to Date OptToSoapConv fails. Why this happens is that in code TSOAPDomConv.SetObjectPropFromText Date kind is expected to be tkFloat. But some how it's PropType is not TDateTime. So Trying to convert it to Float fails.  How we fixed it years ago was that in code procedure TSOAPDomConv.SetObjectPropFromText(Instance: TObject; PropInfo: PPropInfo; const SoapData: InvString);

     

    we make this:

        tkFloat:
          begin
            if PropInfo.PropType^ = TypeInfo(TDateTime) then
            begin
              {Fix begins}
              E := XMLTimeToDateTime(SoapData);
              SetFloatProp(Instance, PropInfo, E);
            end
            else
              try
                E := StrToFloatEx(SoapData);
                SetFloatProp(Instance, PropInfo, E);
              except
                VarClear(V);
                SetVariantProp(Instance,PropInfo, V);
              end;

              {Fix ends}
          end;

     

    There was  other places too. This problem was even in Delphi 2007.

×