Uploaded image for project: 'Apache Taverna'
  1. Apache Taverna
  2. TAVERNA-61

WSDL activity can't distinguish between operations with same name on different port types



    • Bug
    • Status: To Do
    • Minor
    • Resolution: Unresolved
    • None
    • None


      Some WSDLs, like http://funcnet.eu/soap/CodaCath.wsdl (attached) specify several portTypes, which each has the same operation name.

      Taverna 1.7 and 2.0 lists each of these (but without really showing the port type) in the service palette, while 2.1 beta 1 only shows one of the operations.

      When adding to the workflow the port type information is lost, so at runtime only the first matching operation will be used.

      This is due Taverna using the WSDL location and the operation name as the defining attributes - to support multiple port types also the name of the port type would have to be included in the WSDL Activity configuration bean and in the WSDL Service description's identifying data.

      Not sure if this is WS-I compliant, but Andrew Clegg who posted this to taverna-users on 2009-05-19 believe it is:

      I'm a complete newbie to Taverna, I hope this isn't an obvious
      question, but I haven't found an answer via Google.

      If I add a WSDL-based activity from a WSDL that describes several
      distinct services, Taverna 2.0 doesn't appear to distinguish between
      the services.

      For example, one of our WSDLs at:


      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.)

      So, in Taverna I get four operations called 'ScorePairwiseRelations',
      with no way to tell which of the four services in the WSDL they're
      referring to.

      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?

      Sorry, I meant "the qualified name of each service in the WSDL" –
      i.e. namespace + servicename.

      Alan says:

      I agree. The namespace + servicename + operation would seem to be
      better. I will ask Stuart Owen (our WSDL expert) what he thinks.

      although Stian thinks the port type should be used.


        1. CodaCath.wsdl
          11 kB
          Stian Soiland-Reyes



            Unassigned Unassigned
            stain Stian Soiland-Reyes
            0 Vote for this issue
            0 Start watching this issue