2009/5/19 Stian Soiland-Reyes <[email protected]>: > On Tue, May 19, 2009 at 07:18, Andrew Clegg <[email protected]> wrote: > >> describes four distinct services, but in Taverna they're only referred >> to by the WSDL and the operation. In this case the problem is >> particularly emphasized because each of the services -- by design -- >> supports the *same* operation with the *same* parameters. (They are >> different prediction algorithms which each expose the same interface.) > > I would say that if they are different prediction algorithms, they are > different operations. :-) (unless they end up with the same > answer..?)
Nope... It's analogous to an interface with different implementations in an OO language. A client written to the common WSDL spec can talk to any of the services just by changing endpoints. And new services can be added with minimal extra work. We *could* put them in different WSDL files, and maintain these by hand, but that would feel like introducing duplication... And going by what WSDL file a service is described in, seems like a hacky way to identify/describe that service and its operations. > We can argue if it's good design or not to have several port types > with the same operation name inside, as I guess this could be > troublesome for many other clients as well. Hasn't been a problem with any we've tried, although we're only claiming to support WS-I BP-compliant tools. I think the EMBRACE Registry gets a little confused, but that's only a stopgap. >> Is this intentional? If so, it seems a bit strange -- multiple-service >> WSDLs are schema-valid, and compliant with the WS-I interop >> guidelines. And the URL of a WSDL file is surely an entirely arbitrary >> construct that doesn't really describe what's in it. The URI of each >> service in the WSDL would be a better discriminator, right? > > No, the binding address would be much worse as a discriminator, I didn't mean that but you've seen my next mail with the correction by now :-) > I think a good discriminator would be wsdl location, port type and > operation name. Using the WSDL location still seems odd. It implies that a service imported from a locally-cached WSDL is a different entity from the same service described in the same WSDL read from a remote URL. > I've forwarded this also to the biocatalogue team as BioCatalogue seem > to fail to parse http://funcnet.eu/soap/CodaCath.wsdl I reported this to them earlier too, but I think it's different as it has a problem with another one of ours with only a single service element. Andrew. -- :: http://biotext.org.uk/ :: ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ taverna-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/taverna-users Documentation: http://www.mygrid.org.uk/usermanual1.7/ FAQ: http://www.mygrid.org.uk/wiki/Mygrid/TavernaFaq Biological Services: http://www.mygrid.org.uk/wiki/Mygrid/BiologicalWebServices
