Hi
I would like to second Pierre in asking for improving the interoperability of 
the BioMart SOAP interface. I am working in
 eSysbio, a project that aims, among other things,  at improving the 
interoperability of bioinformatics web-services and to provide a
standardized framework of combining web-services into workflows. BioMart is 
already one of the most important components in 
our daily analysis. We see that it is essential that services adhere to 
existing standards of service communication and interoperability as 
for example set forth by  WS-I [1].

We agree with you, Syed, that the SOAP interface cannot have been tested a lot 
with Java clients, because currently biomart-soap is inaccessible 
for the whole Java-community and any clients that use validating XML parsers. 
To ensure interoperability, though not sufficient, it is 
a precondition that: 
1. all artefacts (WSDL, schema) validate against their definition
2. that all messages validate against their schema definition
3. the behavior of the service is as it is described in the artifacts 

The second point is not the case here. We agree, that SoapUI is a good tool for 
testing, but it is very flexible as a debugging tool and allows for
very different kinds of services. SoapUI has a built-in validation function 
though, right-click on a message in the XML window, then you will see that the 
response
of getRegistry  does not validate. I could however modify the response message 
such that it validates agains the schema definition. The non-validation
of the response message is the reason for the non-functionality of the 
connection.

See 
http://biostar.stackexchange.com/questions/362/anyone-using-biomart-java-web-services/384#384

for an in-depth description of the problem.

The are also some glitches in WSDL which should be fixed but maybe this is most 
important. So may question is if you would be able to change the messages
returned by the SOAP::Lite server you are using. We would be glad to assist you 
in this process and to continue testing the SOAP interface with different 
clients.
If we can help with some Perl/Java, please let me know, I would really like to 
contribute to this great resource. 

Kind regards
Michael


[1] http://www.ws-i.org/

Michael Dondrup
Post-doctoral researcher
Uni BCCS
Thormøhlensgate 55, N-5008 Bergen, Norway
Phone: +47 55584157 Fax: +47 55584295



Am Mar 20, 2010 um 1:21 AM schrieb Syed Haider:

> Hi Pierre,
> 
> few people tried automatic object model generation with wsimport tool and i 
> believe axis too, and unfortunately it dint work. Usually, these java 
> libraries are good if you create the WSDL from the library itself. Apparantly 
> there isnt anything wrong with the WSDL file as it does work fine with SOAPUI 
> and thats where we usually test it to make sure its good.
> 
> Best
> Syed
> 
> 
> Pierre LINDENBAUM wrote:
>> Hi all,
>> I've been trying to generate some java code from the wsdl provided by 
>> biomart (e.g. http://www.biomart.org/biomart/martwsdl )
>> with ${JAVA_HOME}/bin/wsimport and/or ${XJC}/bin/wsdl2java When I called 
>> 'getResistry()' , the generated java code always returns an empty list.
>> More details on Biostar and StackOverflow:
>> * http://stackoverflow.com/questions/2479069
>> *  http://biostar.stackexchange.com/questions/362
>> does anyone use this web service with java ? how can I fix this problem ?
>> Many thanks for your help
>> Pierre Lindenbaum
>> .
>>      

Reply via email to