Re: [basedb-devel] Webservices transport error: 411 Error: Length Required
Totally agree. That makes it much more flexible. Please, feel free to change the code. Pawel Nicklas Nordborg wrote: Thanks for the code. It was something like this that I had in mind. The one thing I don't like is to pass the type as an 'int' parameter in the constructor and having a switch statement that creates the actual object to use. This makes it impossible for others to use their own implementations of 'RPCServiceClientCreator'. Wouldn't it be better to pass a 'RPCServiceClientCreator' directly to the constructor? Eg. protected AbstractRPCClient( String url, String service, RPCServiceClientCreator serviceCreator) { ... } /Nicklas Pawel Sztromwasser wrote: Hi Nicklas, I had some time and implemented the 'ServiceFactory' functionality. Gzipped java files are attached. To summarize changes: 1) three new classes/interfaces were created (I put them in net.sf.basedb.ws.client.added package): a) RPCServiceClientCreator - interface containing RPCServiceClient getService(String serviceUrl) method for creating RPCServiceClient objects b) DefaultRPCServiceClientCreator - factory class implementing interface above. It creates RPCServiceClient objects in the way they were created in AbstractRPCClient.getService() method. c) NoChunkRPCServiceClientCreator - the same as above but with CHUNK option set to false. 2) AbstractRPCClient class uses own RPCServiceClientCreator object to create objects in getService() method. Creator object is initialized in constructor (type of creator is an argument of additional constructor). The creator type can be chosen between values supported by AbstractRPCClient, available as public static constants (currently only DEFAULT_RPC_SERVICE_CLIENT and NO_CHUNK_RPC_SERVICE_CLIENT). If no creator type is supplied, default one is used. 3) all the subclasses of AbstractRPCClient have additional constructor with last argument being type of RPCServiceClientCreator which refers to constructor in superclass. This makes possible to choose creator type when programming BASE2 webservices clients. I attached diffs.txt file which contains diff output on net/sf/basedb/ws/client/ folders for my version and 2.7.1. Just thought, it might be helpful. I hope the code will be useful. Best wishes, Pawel Nicklas Nordborg wrote: Pawel Sztromwasser wrote: Hello BASE developers, We have been recently trying to enable retrieving some data from BASE2 installation directly into our 'home made' analysis tool. We use webservices for that and have to say that you are doing a great job. Thanks. We are really looking forward to use them more extensively. Recently, when I started testing the tool not only within the local network I noticed that the webservice client does not switch off chunking. It results in attached exception cascade. Chunking is on by default in axis2 and some servers (i.e. our gateway to BASE which apparently uses HTTP1.0 and not 1.1) have problems with it. The remedy is to use options.setProperty(HTTPConstants.CHUNKED, false); in net.sf.basedb.ws.client.AbstractRPCClient.getService(). I don't know what are the drawbacks of it, but that was the only way I could run the services in our current setup (BASE2.6 accessible by proxypass from exposed webserver). Could this option be set off by default or configurable somewhere? Or maybe there is some other workaround? I am afraid that I am not very familiar with all possible options that is available in the Axis API:s. There seems to be a lot of them and their Javadoc is not very informative about what many of the options are used for. The CHUNKED option seems to be related to the way HTTP requests are made, but I have to admit that this is the first time I have heard of it. This means that I probably know even less than you about this. I think that, in the future, there may be more requests about being able to set other options. So, it may be better to think ahead and try to figure out some way to be able to do this as easy as possible. With the current BASE API the only workaround that doesn't involve changing the BASE code is to subclass all AbstractRPCClient subclasses and override the 'getService()' method. This is not very elegent since there are several such classes and the new 'getService()' will be added to each one of them. A better approach may be to create a 'ServiceFactory' interface which has a 'createService()' method. The default implementation would then work as the AbstractRPCClient.getService() does today. The last step is to figure out a way to switch to another 'ServiceFactory' implementation either by having a configuration file or by being able to specify it programmatically. I have opened a ticket for this issue http://base.thep.lu.se/ticket/1057. It falls under the 'contributions welcome' category since right now we are forced to prioritize other
[basedb-devel] Tab2Mage etc.
Dear All, I am a member of Bioinformatics Group at BOKU University Vienna. We are thinking about implementing BASE2 to our lab, but crucial for us would be a possibility to export experiment information using Tab2Mage format. What is the state of development of new version of Tab2Mage Exporter/Importer? (In some older posts I found that it should have been ready around June) We also think that it can be useful to be able to export an experiment summary as a tab-delimited file. Experiment summary containing information about all steps from biosurce to bioassay. Do you consider a such improvement? Or maybe it already exists somewhere ? Best, -- Pawel Labaj Chair of Bioinformatics Department of Biotechnology Boku University Vienna A-1190 Muthgasse 18 Austria, Europe - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/___ basedb-devel mailing list basedb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/basedb-devel
Re: [basedb-devel] Tab2Mage etc.
Hi Pawel, Check this post from July regarding importers -- everything in here still applies: http://www.mail-archive.com/[EMAIL PROTECTED]/msg01487.html As far as exporters go, the only effort I am aware of currently is for a new MAGE-TAB format exporter which is being done by Philippe Rocca-Serra at the EBI and which (I think) will probably be available by the end of the summer, like the new MAGE-TAB importer. There is also an existing version of a Tab2Mage format exporter available from the plugins website (http://baseplugins.thep.lu.se/wiki/uk.ac.ebi.Tab2MageExporter) but I was not involved in this plugin and I am not sure whether it is currently maintained and compatible with current versions of BASE2. In the medium to longer term, MAGE-TAB will be replacing Tab2Mage at the EBI, which is partly why the development of Tab2Mage components is halted for now. Hope this helps a little. Cheers Micha == Dr Micha M Bayer Bioinformatics Specialist Genetics Programme The Scottish Crop Research Institute Invergowrie Dundee DD2 5DA Scotland, UK Telephone +44(0)1382 562731 ext. 2309 Fax +44(0)1382 562426 http://www.scri.ac.uk/staff/michabayer == -Original Message- From: [EMAIL PROTECTED] [mailto:basedb-devel- [EMAIL PROTECTED] On Behalf Of Pawel Labaj Sent: 04 August 2008 10:30 To: basedb-devel@lists.sourceforge.net Subject: [basedb-devel] Tab2Mage etc. Dear All, I am a member of Bioinformatics Group at BOKU University Vienna. We are thinking about implementing BASE2 to our lab, but crucial for us would be a possibility to export experiment information using Tab2Mage format. What is the state of development of new version of Tab2Mage Exporter/Importer? (In some older posts I found that it should have been ready around June) We also think that it can be useful to be able to export an experiment summary as a tab-delimited file. Experiment summary containing information about all steps from biosurce to bioassay. Do you consider a such improvement? Or maybe it already exists somewhere ? Best, -- Pawel Labaj Chair of Bioinformatics Department of Biotechnology Boku University Vienna A-1190 Muthgasse 18 Austria, Europe _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ SCRI, Invergowrie, Dundee, DD2 5DA. The Scottish Crop Research Institute is a charitable company limited by guarantee. Registered in Scotland No: SC 29367. Recognised by the Inland Revenue as a Scottish Charity No: SC 006662. DISCLAIMER: This email is from the Scottish Crop Research Institute, but the views expressed by the sender are not necessarily the views of SCRI and its subsidiaries. This email and any files transmitted with it are confidential to the intended recipient at the e-mail address to which it has been addressed. It may not be disclosed or used by any other than that addressee. If you are not the intended recipient you are requested to preserve this confidentiality and you must not use, disclose, copy, print or rely on this e-mail in any way. Please notify [EMAIL PROTECTED] quoting the name of the sender and delete the email from your system. Although SCRI has taken reasonable precautions to ensure no viruses are present in this email, neither the Institute nor the sender accepts any responsibility for any viruses, and it is your responsibility to scan the email and the attachments (if any). - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ basedb-devel mailing list basedb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/basedb-devel