<?xml version="1.0" encoding="UTF-8"?>
<!-- 
Salesforce.com Partner Web Services API Version 5.0 
Generated on 2005-02-14 21:49:39 +0000.

Copyright 1999-2005 salesforce.com, inc.
All Rights Reserved
-->

<definitions targetNamespace="urn:partner.soap.sforce.com"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:fns="urn:fault.partner.soap.sforce.com"
             xmlns:tns="urn:partner.soap.sforce.com"
             xmlns:ens="urn:sobject.partner.soap.sforce.com">
    <types>

        <schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:sobject.partner.soap.sforce.com">

            <import namespace="urn:partner.soap.sforce.com"/>


            <!-- Dynamic sObject -->
            <complexType name="sObject">
                <sequence>
                    <element name="type"               type="xsd:string"/>
                    <element name="fieldsToNull"       type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
                    <element name="Id"                 type="tns:ID" nillable="true" minOccurs="0" maxOccurs="1" />
                    <any namespace="##targetNamespace" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </complexType>

        </schema>

        <schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:partner.soap.sforce.com">

            <import namespace="urn:sobject.partner.soap.sforce.com"/>

            <!-- Our simple ID Type -->
            <simpleType name="ID">
                <restriction base="xsd:string">
                    <length value="18"/>
                    <pattern value='[a-zA-Z0-9]{18}'/>
                </restriction>
            </simpleType>

            <simpleType name="QueryLocator">
                <restriction base="xsd:string"/>
            </simpleType>

            <!-- Shared Result Types -->
            <complexType name="QueryResult">
                <sequence>
                    <element name="done"         type="xsd:boolean"/>
                    <element name="queryLocator" type="tns:QueryLocator" nillable="true"/>
                    <element name="records"      type="ens:sObject" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
                    <element name="size"         type="xsd:int"/>
                </sequence>
            </complexType>

            <!-- Create Query -->
            <element name="query">
                <complexType>
                    <sequence>
                        <element name="queryString" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
            <element name="queryResponse">
                <complexType>
                    <sequence>
                        <element name="result" type="tns:QueryResult"/>
                    </sequence>
                </complexType>
            </element>

        </schema>
    </types>
    
    <message name="queryRequest">
        <part element="tns:query" name="parameters"/>
    </message>
    <message name="queryResponse">
        <part element="tns:queryResponse" name="parameters"/>
    </message>



    <!-- Soap PortType -->
    <portType name="Soap">
        <operation name="query">
            <documentation>Create a Query Cursor</documentation>
            <input  message="tns:queryRequest"/>
            <output message="tns:queryResponse"/>
        </operation>
        
    </portType>
    
    <!-- Soap Binding -->
    <binding name="SoapBinding" type="tns:Soap">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        

        <operation name="query">
            <soap:operation soapAction=""/>
            <input>
                <soap:body parts="parameters" use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>



    </binding>
    
    <!-- Soap Service Endpoint -->
    <service name="AnyService">
        <port binding="tns:SoapBinding" name="Soap">
            <soap:address location="http://localhost:8080/axis/services/Soap"/>
        </port>
    </service>
</definitions>

    


