diff --git a/wst/trunk/base_soap_formatter.pas b/wst/trunk/base_soap_formatter.pas index 3bdc09f0e..42149c6c6 100644 --- a/wst/trunk/base_soap_formatter.pas +++ b/wst/trunk/base_soap_formatter.pas @@ -1733,7 +1733,10 @@ begin for i := 0 to Pred(c) do begin h := ACallContext.GetHeader(i); if ( h.Direction = hdOut ) then begin - ptyp := PTypeInfo(h.ClassInfo); + if h.InheritsFrom(THeaderBlockProxy) then + ptyp := PTypeInfo(THeaderBlockProxy(h).ActualObject.ClassInfo) + else + ptyp := PTypeInfo(h.ClassInfo); regItem := GetTypeRegistry().Find(ptyp,True); //Put(GetTypeRegistry().ItemByTypeInfo[ptyp].DeclaredName,ptyp,h); if ( regItem <> nil) then