<?xml version="1.0"?>
<wsdl:definitions name="MOBY_Central_Generated_WSDL"
                targetNamespace="http://biomoby.org/Central.wsdl"
                xmlns:tns="http://biomoby.org/Central.wsdl"
                xmlns:xsd1="http://biomoby.org/CentralXSDs.xsd"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                xmlns="http://schemas.xmlsoap.org/wsdl/"
                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/">

                 
  <wsdl:message name="getGermplasmByPhenotypeInput">
          <wsdl:part name="data" type="xsd:string"/>
  </wsdl:message>

  <wsdl:message name="getGermplasmByPhenotypeOutput">
          <wsdl:part name="body" type="xsd:string"/>
  </wsdl:message>

  <wsdl:portType name="getGermplasmByPhenotypePortType">
          <wsdl:operation name="getGermplasmByPhenotype">
                 <wsdl:input message="tns:getGermplasmByPhenotypeInput"/>
                 <wsdl:output message="tns:getGermplasmByPhenotypeOutput"/>
          </wsdl:operation>
  </wsdl:portType>
                
  <wsdl:binding name="getGermplasmByPhenotypeBinding" type="tns:getGermplasmByPhenotypePortType">
          <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
          <wsdl:operation name="getGermplasmByPhenotype"><!-- in essense, this is the name of the subroutine that is called -->
                 <wsdlsoap:operation soapAction='http://biomoby.org/#getGermplasmByPhenotype' style='rpc'/>
                 <wsdl:input>
                         <wsdlsoap:body use="encoded" namespace="http://biomoby.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
                 </wsdl:input>
                 <wsdl:output>
                         <wsdlsoap:body use="encoded" namespace="http://biomoby.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
                 </wsdl:output>
          </wsdl:operation>
  </wsdl:binding>
                
  <wsdl:service name="getGermplasmByPhenotypeService">
          <wsdl:documentation>Authority: www.iris.irri.org  -  The main purpose is to find all germplasm records that have the given
phenotype, or combination of phenotypes.

The returned germplasm objects are very limited - containing just the
identity attributes (simple identifiers). There are other use cases
(and services implementing them) that can use these identifiers and
retrieve full germplasm records.

A phenotype (used as a search filter) is defined by the GCP Domain
model as a specialized Feature that contains two concepts, a "Trait"
and a "TraitValue". Both these concepts are defined by their own
ontology. The Trait concept is specified as a SimpleOntologyTerm in
the type of the phenotype. The TraitValue is specified as a string
value of this Phenotype (later use cases may extend this to support
more complex values). The above means that for this use case a
Phenotype can be represented as a SimpleFeature (and not a full
Feature).

For example, a phenotype we are looking for can be "Leaf color is
purple". The "Leaf color" is a term from a controlled vocabulary
(ontology) of Traits, and the "purple" is a term from a controlled
vocabulary of TraitValues (colors, in this case). The expected
Phenotype object for such query will be:

i)  getType() returning a type with ID "urn:lsid:.....:XXXXX:.."

where XXXXX is a unique identifier of the term "leaf color" in some
ontology (the name of which is also part of the same LSID),

ii) getValueString() returning "purple"

where the string "purple" sits here without any knowledge where it
should be looked for (the implementation must guess what would be the
reasonable places - tables - to look at)..</wsdl:documentation>  <!-- service description goes here -->
          <wsdl:port name="getGermplasmByPhenotypePort" binding="tns:getGermplasmByPhenotypeBinding">
                 <wsdlsoap:address location="http://202.123.56.214:8081/MOBYrice3/services/getGermplasmByPhenotype"/>    <!-- URL to service scriptname -->
          </wsdl:port>
  </wsdl:service>

</wsdl:definitions>



