<?xml version="1.0"?>

<!-- WSDL description of the MAST ADEC TWIG api. -->

<definitions name="urn:ADEC_MAST"
             targetNamespace="urn:ADEC_MAST"
             xmlns:typens="urn:ADEC_MAST"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
             xmlns="http://schemas.xmlsoap.org/wsdl/">

  <!-- Types for search - result elements, directory categories -->

  <types>
    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:ADEC_MAST">
            
      <xsd:complexType name="SummaryResult">
		<xsd:sequence>
			<xsd:element minOccurs="1" maxOccurs="1" name="NonAllIntValue" type="xsd:int" />
			<xsd:element minOccurs="1" maxOccurs="1" name="NonAllDoubleValue" type="xsd:double" />
		</xsd:sequence>
        <xsd:all>
		  <xsd:element name="length"			type="xsd:int"/>
          <xsd:element minOccurs="0" name="width"			  type="xsd:int"/>
          <xsd:element minOccurs="0" name="depth"			  type="xsd:double"/>
		  <xsd:element minOccurs="0" name="color"			  type="xsd:string"/>
        </xsd:all>
		<xsd:sequence>
			<xsd:element minOccurs="1" maxOccurs="1" name="NonAllStringValue" type="xsd:string" />
		</xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="SummaryResultArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:SummaryResult[]"/>
          </xsd:restriction>
        </xsd:complexContent>

      </xsd:complexType>

    </xsd:schema>
  </types> 

  <!-- Messages for ADEC MAST Web APIs - get summary by position. -->
             
  <message name="doGetSummary">
    <part name="length"        type="xsd:int"/>
    <part name="width"        type="xsd:int"/>
    <part name="depth"        type="xsd:double"/>
	<part name="color"        type="xsd:string"/>
  </message>

  <message name="doGetSummaryResponse">
    <part name="return"  type="typens:SummaryResult"/>
  </message>

  <!-- Port for ADEC MAST Web APIs, "ADEC_MAST" -->

  <portType name="ADEC_MAST_Port">

    <operation name="doGetSummary">
      <input message="typens:doGetSummary"/>
      <output message="typens:doGetSummaryResponse"/>
    </operation>

  </portType>


  <!-- Binding for ADEC MAST Web APIs - RPC, SOAP over HTTP -->

  <binding name="ADEC_MAST_Binding" type="typens:ADEC_MAST_Port">
    <soap:binding style="rpc"
                  transport="http://schemas.xmlsoap.org/soap/http"/>

    <operation name="doGetSummary">
      <soap:operation soapAction="urn:ADEC_MAST#doGetSummary"/>
      <input>
        <soap:body use="encoded"
                   namespace="urn:ADEC_MAST"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                   namespace="urn:ADEC_MAST"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>

  </binding>

  <!-- Endpoint for ADEC MAST Web APIs -->
  <service name="ADEC_MAST_Service">
    <port name="ADEC_MAST_Port" binding="typens:ADEC_MAST_Binding">
      <soap:address location="http://faxafloi.stsci.edu:4547/soap/"/>
    </port>
  </service>

</definitions>
