Migrating from RO7 to RO9 (FPC Linux issues)

Hi,

We are migrating from RO7 to RO9, and we´re having trouble viewing RODL information. We have SOAP servers and this is a problem to show WSDL.

Delphi RO9 and Linux FPC RO7 is ok.

Screenshots

Delphi OK:


Linux FPC Server and RO9:

Thanks,
Willian.

try to debug your linux server and see why AV is raised.

wsdl is shown at calling http://localhost:8099/soap

and invalid path ? soap is not working to.

check that SOAPMessage is registered in Server.Dispatchers property

it is : TROMessageDispatcher(Server.Dispatchers.Add).Message := ROSOAPMessage;

the same server works in Delphi and RO 7.0.75

try to update it to

//disp : TROHTTPDispatcher
disp := TROHTTPDispatcher(Server.Dispatchers.Add);
disp.Message := ROSOAPMessage;
disp.PathInfo := '/SOAP';

note: this is applicable for HTTP servers only

found problem

uRODLSupport.pas: if isRODLResourcePresent(HInstance) or not aIgnoreErrors then begin

access violation occurs in FindResource:

function isRODLResourcePresent(Instance: THandle): Boolean;
begin
Result := FindResource(hInstance, res_RODLFile, RT_RCDATA) <> 0;
end;

workaround, like 7_0_75 not use isRODLResourcePresent.

hmm, looks like it is FPC bug :frowning: