Friday, July 07, 2006

Firefox/mozilla can not open local links

I found this in google groups (sorry, lost track of a reference to the author) when looking for a way to make firefox open links to local files :

For firefox 1.5 : go to the url
about:config
and search for
security:checkloaduri
and set it to false.

Per site : in prefs.js :
user_pref("capability.policy.policynames", "localfilelinks");
user_pref("capability.policy.localfilelinks.sites", "http://www.example.com");
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");

The line w

ith capability.policy.localfilelinks.sites can have multiple websites separated by spaces, like so: user_pref("capability.policy.localfilelinks.sites","http://www.example.com http://www.example.net");

Installation of Zeos DBO and reportman in BDS 2006 for use with C++ builder

At Digon bvba, Zeos DBO is used for database connectivity (to Firebird and MySQL), and ReportMan (by Tony Martir) for reporting. Installing Zeos (version available early 2006, version 6.6.2 (RC) ) and Reportman (version 2.5.g and 2.7.e) was quite a job. The procedure described here seems to work.

First install ZEOS in the delphi-personality, but make the packages yourself (make new packages, and add modules). For each package, in 'options/linker', the checkbox 'generate all c++ builder files' should be switched on (to make them available in the c++ personality).

Important : make sure the new packages you create have the correct names, so 'ZCore', 'ZPlain', ... or else they will be installed again by the next step (the reportman-installation).

Important : if you have, aside from BDS 2006, also C++ builder 6 installed on your computer, name the packages 'ZCore100', 'ZPlain100', because otherwise the existing C++Builder6 bpl's may mistakenly be used if they are first in the path (and cause a lot of trouble) !

Reportman installation : if you have called the packages 'Z----100' (because you want to maintain a C++builder6 installation on the same PC), then you have to specify in the 'requires' part of the reportman packages the 'Z---100' names for the packages.

In the reportman source-files, you must REMOVE ALL REFERENCES to Indy (comment them out). The reportman Indy does not cooperate with the Indy components in BDS2006. More specifically : switch 'UseIndy' off in reportman.inc, and comment out everything in the files 'rpprotocol', 'rpmetaclient' and others in which references to indy-components occur. (Leave only the pascal-keywords 'implementation', ..., and put the rest between

{$IFDEF USEINDY}.... {$ENDIF} .

)

Install Reportman in the delphi personality, use the bdsproj-files for delphi2005. Follow the instructions on the reportman-website. Also specify 'generaty c++ builder files' for each package.

Important : close and restart BDS after each 'install' of a set of reportman components, otherwise the reportman package will not show in the c++builder-personality (well, maybe closing after each step is not required (?) , but if reportman is not available afterwards, remove all reportman components (menu 'component', 'Install packages', select reportman related components and click 'remove' ), close and restart bds, and start over installing in the correct order, restarting bds after each install.

Labels: , , ,

Netbeans java web service with delphi consumer.

Problem : After creating a web service with netbeans 5.0 bundled with Sun Java System Application Server 8.2, and publishing it on localhost, then using the delphi BDS 2006 WSDL importer to create a delphi module, and then calling webservice methods from delphi, exceptions arise.
  • If NO message handler is included in the web service, the exception reads <>
  • If a default message handler is added to the web service (right click the web service, configure handlers, add), the exception is JAXRPC.TIE.04: Internal Server Error (JAXRPCTIE01: caught exception while handling request: java.lang.ClassCastException: com.sun.xml.messaging.saaj.soap.impl.TextImpl
Solution :
  • Make sure there is NO message handler for the webservice (remove it)
  • Right click on the webservice, go to the options, select the 'web service' page, and set 'document literal' OFF, and standard RPC ON.
  • On the Delphi side, open the WSDL-importer generated module, go to the initialization-part (below), and change the ioLiteral parameter from the RegisterInvokeOptions to ioDefault (default means : RPC-style encoding of the soap message).