<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:mule="http://www.mulesoft.org/schema/mule/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://www.mulesoft.org/schema/mule/sfdc">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"></xs:import>
  <xs:import schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" namespace="http://www.springframework.org/schema/beans"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/core/current/mule.xsd" namespace="http://www.mulesoft.org/schema/mule/core"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/devkit/current/mule-devkit.xsd" namespace="http://www.mulesoft.org/schema/mule/devkit"></xs:import>
  <xs:simpleType name="integerType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:integer"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="decimalType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:decimal"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="floatType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:float"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="doubleType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:double"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="dateTimeType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:dateTime"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="longType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:long"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="byteType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:byte"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="booleanType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:boolean"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="anyUriType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:anyURI"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="charType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:minLength value="1"></xs:minLength>
          <xs:maxLength value="1"></xs:maxLength>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:complexType name="XmlType">
    <xs:sequence>
      <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
    </xs:sequence>
    <xs:attribute name="ref" use="optional" type="xs:string">
      <xs:annotation>
        <xs:documentation>The reference object for this parameter</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:element xmlns:devkit="http://www.mulesoft.org/schema/mule/devkit" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="config" substitutionGroup="mule:abstract-extension" devkit:javaClass="org.mule.modules.salesforce.adapters.SalesforceModuleConnectionManager">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="mule:abstractExtensionType">
          <xs:annotation>
            <xs:documentation>The Salesforce Connector will allow to connect to the Salesforce application. Almost every operation that can be
done via the Salesforce's API can be done thru this connector. This connector will also work if your Salesforce
objects are customized with additional fields or even you are working with custom objects.
&lt;p/&gt;
Integrating with Salesforce consists of web service calls utilizing XML request/response setup
over an HTTPS connection. The technical details of this connection such as request headers,
error handling, HTTPS connection, etc. are all abstracted from the user to make implementation
quick and easy.
&lt;p/&gt;</xs:documentation>
          </xs:annotation>
          <xs:sequence>
            <xs:element name="connection-pooling-profile" minOccurs="0" type="mule:poolingProfileType">
              <xs:annotation>
                <xs:documentation>Characteristics of the connection pool.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="name" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Give a name to this configuration so it can be later referenced by config-ref.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sfdc" name="url" default="https://login.salesforce.com/services/Soap/u/23.0" use="optional" type="anyUriType">
            <xs:annotation>
              <xs:documentation>SalesForce SOAP endpoint</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="proxyHost" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Proxy host</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sfdc" name="proxyPort" default="80" use="optional" type="integerType">
            <xs:annotation>
              <xs:documentation>Proxy port</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="proxyUsername" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Proxy username</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="proxyPassword" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Proxy password</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="objectStore-ref" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>A ObjectStore instance to use in</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="username" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Username used to initialize the session</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="password" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Password used to authenticate the user</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="securityToken" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>User's security token</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create" substitutionGroup="mule:abstract-message-processor" type="CreateType">
    <xs:annotation>
      <xs:documentation>Adds one or more new records to your organization's data.
&lt;p/&gt;
&lt;p class="caution"&gt;
IMPORTANT: When you map your objects to the input of this message processor keep in mind that they need
to match the expected type of the object at Salesforce.
&lt;p/&gt;
Take the CloseDate of an Opportunity as an example, if you set that field to a string of value "2011-12-13"
it will be sent to Salesforce as a string and operation will be rejected on the basis that CloseDate is not
of the expected type.
&lt;p/&gt;
The proper way to actually map it is to generate a Java Date object, you can do so using Groovy expression
evaluator as &lt;i&gt;#[groovy:Date.parse("yyyy-MM-dd", "2011-12-13")]&lt;/i&gt;.
&lt;/p&gt;
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="objects" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>An array of one or more sObjects objects.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="object" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-object" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Type of object to create</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-bulk" substitutionGroup="mule:abstract-message-processor" type="CreateBulkType">
    <xs:annotation>
      <xs:documentation>Adds one or more new records to your organization's data.
&lt;p/&gt;
This call uses the Bulk API. The creation will be done in asynchronous fashion.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateBulkType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="objects" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>An array of one or more sObjects objects.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="object" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-object" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Type of object to create</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-single" substitutionGroup="mule:abstract-message-processor" type="CreateSingleType">
    <xs:annotation>
      <xs:documentation>Adds one new records to your organization's data.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateSingleType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="object" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>SObject to create</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="object" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Type of object to create</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-session-id" substitutionGroup="mule:abstract-message-processor" type="GetSessionIdType">
    <xs:annotation>
      <xs:documentation>Returns the session id for the current connection
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetSessionIdType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update" substitutionGroup="mule:abstract-message-processor" type="UpdateType">
    <xs:annotation>
      <xs:documentation>Updates one or more existing records in your organization's data.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="objects" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>An array of one or more sObjects objects.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="object" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-object" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Type of object to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-bulk" substitutionGroup="mule:abstract-message-processor" type="UpdateBulkType">
    <xs:annotation>
      <xs:documentation>Updates one or more existing records in your organization's data.
&lt;p/&gt;
This call uses the Bulk API. The creation will be done in asynchronous fashion.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateBulkType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="objects" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>An array of one or more sObjects objects.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="object" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-object" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Type of object to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="upsert" substitutionGroup="mule:abstract-message-processor" type="UpsertType">
    <xs:annotation>
      <xs:documentation>&lt;a href="http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_upsert.htm"&gt;Upserts&lt;/a&gt;
an homogeneous list of objects: creates new records and updates existing records, using a custom field to determine the presence of existing records.
In most cases, prefer  over ,
to avoid creating unwanted duplicate records.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpsertType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="objects" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the objects to upsert</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="object" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-object" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="externalIdFieldName" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Contains the name of the field on this object with the external ID field attribute for custom objects or the idLookup field property for standard objects.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the type of the given objects. The list of objects to upsert must be homogeneous</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="upsert-bulk" substitutionGroup="mule:abstract-message-processor" type="UpsertBulkType">
    <xs:annotation>
      <xs:documentation>&lt;a href="http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_upsert.htm"&gt;Upserts&lt;/a&gt;
an homogeneous list of objects: creates new records and updates existing records, using a custom field to determine the presence of existing records.
In most cases, prefer  over ,
to avoid creating unwanted duplicate records.
&lt;p/&gt;
This call uses the Bulk API. The creation will be done in asynchronous fashion.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpsertBulkType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="objects" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the objects to upsert</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="object" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:choice>
                      <xs:sequence>
                        <xs:element name="inner-object" maxOccurs="unbounded" minOccurs="0">
                          <xs:complexType>
                            <xs:simpleContent>
                              <xs:extension base="xs:string">
                                <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                                <xs:attribute name="key" type="xs:string"></xs:attribute>
                              </xs:extension>
                            </xs:simpleContent>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:sequence>
                        <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                      </xs:sequence>
                    </xs:choice>
                    <xs:attribute name="ref" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>The reference object for this parameter</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the type of the given objects. The list of objects to upsert must be homogeneous</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="externalIdFieldName" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Contains the name of the field on this object with the external ID field attribute for custom objects or the idLookup field property for standard objects.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="batch-info" substitutionGroup="mule:abstract-message-processor" type="BatchInfoType">
    <xs:annotation>
      <xs:documentation>Access latest  of a submitted . Allows to track execution status.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="BatchInfoType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="batchInfo-ref" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the  being monitored</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="batch-result" substitutionGroup="mule:abstract-message-processor" type="BatchResultType">
    <xs:annotation>
      <xs:documentation>Access  of a submitted .
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="BatchResultType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="batchInfo-ref" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the  being monitored</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="describe-global" substitutionGroup="mule:abstract-message-processor" type="DescribeGlobalType">
    <xs:annotation>
      <xs:documentation>Retrieves a list of available objects for your organization's data.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DescribeGlobalType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="retrieve" substitutionGroup="mule:abstract-message-processor" type="RetrieveType">
    <xs:annotation>
      <xs:documentation>Retrieves one or more records based on the specified IDs.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="RetrieveType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="ids" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>The ids of the objects to retrieve</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="id" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="fields" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>The fields to return for the matching objects</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="field" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Object type. The sp ecified value must be a valid object for your organization.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="query" substitutionGroup="mule:abstract-message-processor" type="QueryType">
    <xs:annotation>
      <xs:documentation>Executes a query against the specified object and returns data that matches the specified criteria.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="QueryType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="query" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Query string that specifies the object to query, the fields to return, and any conditions for including a specific object in the query. For more information, see Salesforce Object Query Language (SOQL).</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="query-all" substitutionGroup="mule:abstract-message-processor" type="QueryAllType">
    <xs:annotation>
      <xs:documentation>Retrieves data from specified objects, whether or not they have been deleted.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="QueryAllType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="query" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Query string that specifies the object to query, the fields to return, and any conditions for including a specific object in the query. For more information, see Salesforce Object Query Language (SOQL).</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="query-single" substitutionGroup="mule:abstract-message-processor" type="QuerySingleType">
    <xs:annotation>
      <xs:documentation>Executes a query against the specified object and returns the first record that matches the specified criteria.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="QuerySingleType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="query" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Query string that specifies the object to query, the fields to return, and any conditions for including a specific object in the query. For more information, see Salesforce Object Query Language (SOQL).</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="convert-lead" substitutionGroup="mule:abstract-message-processor" type="ConvertLeadType">
    <xs:annotation>
      <xs:documentation>Converts a Lead into an Account, Contact, or (optionally) an Opportunity.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ConvertLeadType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="leadId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>ID of the Lead to convert. Required. For information on IDs, see ID Field Type.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="contactId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>ID of the Contact into which the lead will be merged (this contact must be associated with the specified accountId, and an accountId must be specified). Required only when updating an existing contact.IMPORTANT if you are converting a lead into a person account, do not specify the contactId or an error will result. Specify only the accountId of the person account. If no contactID is specified, then the API creates a new contact that is implicitly associated with the Account. To create a new contact, the client application must be logged in with sufficient access rights. To merge a lead into an existing contact, the client application must be logged in with read/write access to the specified contact. The contact name and other existing data are not overwritten (unless overwriteLeadSource is set to true, in which case only the LeadSource field is overwritten). For information on IDs, see ID Field Type.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accountId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>ID of the Account into which the lead will be merged. Required only when updating an existing account, including person accounts. If no accountID is specified, then the API creates a new account. To create a new account, the client application must be logged in with sufficient access rights. To merge a lead into an existing account, the client application must be logged in with read/write access to the specified account. The account name and other existing data are not overwritten. For information on IDs, see ID Field Type.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sfdc" name="overWriteLeadSource" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>Specifies whether to overwrite the LeadSource field on the target Contact object with the contents of the LeadSource field in the source Lead object (true), or not (false, the default). To set this field to true, the client application must specify a contactId for the target contact.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sfdc" name="doNotCreateOpportunity" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>Specifies whether to create an Opportunity during lead conversion (false, the default) or not (true). Set this flag to true only if you do not want to create an opportunity from the lead. An opportunity is created by default.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="opportunityName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Name of the opportunity to create. If no name is specified, then this value defaults to the company name of the lead. The maximum length of this field is 80 characters. If doNotCreateOpportunity argument is true, then no Opportunity is created and this field must be left blank; otherwise, an error is returned.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="convertedStatus" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Valid LeadStatus value for a converted lead. Required. To obtain the list of possible values, the client application queries the LeadStatus object, as in: Select Id, MasterLabel from LeadStatus where IsConverted=true</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sfdc" name="sendEmailToOwner" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>Specifies whether to send a notification email to the owner specified in the ownerId (true) or not (false, the default).</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="empty-recycle-bin" substitutionGroup="mule:abstract-message-processor" type="EmptyRecycleBinType">
    <xs:annotation>
      <xs:documentation>The recycle bin lets you view and restore recently deleted records for 30 days before they are
permanently deleted. Your organization can have up to 5000 records per license in the Recycle Bin at any
one time. For example, if your organization has five user licenses, 25,000 records can be stored in the
Recycle Bin. If your organization reaches its Recycle Bin limit, Salesforce.com automatically removes
the oldest records, as long as they have been in the recycle bin for at least two hours.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="EmptyRecycleBinType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="ids" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Array of one or more IDs associated with the records to delete from the recycle bin. Maximum number of records is 200.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="id" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete" substitutionGroup="mule:abstract-message-processor" type="DeleteType">
    <xs:annotation>
      <xs:documentation>Deletes one or more records from your organization's data.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="ids" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>Array of one or more IDs associated with the objects to delete.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="id" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-updated-range" substitutionGroup="mule:abstract-message-processor" type="GetUpdatedRangeType">
    <xs:annotation>
      <xs:documentation>Retrieves the list of individual records that have been created/updated within the given timespan for the specified object.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetUpdatedRangeType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Object type. The specified value must be a valid object for your organization.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="startTime-ref" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Starting date/time (Coordinated Universal Time (UTC)not local timezone) of the timespan for which to retrieve the data. The API ignores the seconds portion of the specified dateTime value ' (for example, 12:30:15 is interpreted as 12:30:00 UTC).</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="endTime-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Ending date/time (Coordinated Universal Time (UTC)not local timezone) of the timespan for which to retrieve the data. The API ignores the seconds portion of the specified dateTime value (for example, 12:35:15 is interpreted as 12:35:00 UTC). If it is not provided, the current server time will be used.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-deleted-range" substitutionGroup="mule:abstract-message-processor" type="GetDeletedRangeType">
    <xs:annotation>
      <xs:documentation>Retrieves the list of individual records that have been deleted within the given timespan for the specified object.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetDeletedRangeType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Object type. The specified value must be a valid object for your organization.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="startTime-ref" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Starting date/time (Coordinated Universal Time (UTC)not local timezone) of the timespan for which to retrieve the data. The API ignores the seconds portion of the specified dateTime value ' (for example, 12:30:15 is interpreted as 12:30:00 UTC).</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="endTime-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Ending date/time (Coordinated Universal Time (UTC)not local timezone) of the timespan for which to retrieve the data. The API ignores the seconds portion of the specified dateTime value (for example, 12:35:15 is interpreted as 12:35:00 UTC). If not specific, the current server time will be used.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="describe-sobject" substitutionGroup="mule:abstract-message-processor" type="Describe-sobjectType">
    <xs:annotation>
      <xs:documentation>Describes metadata (field list and object properties) for the specified object.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="Describe-sobjectType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Object. The specified value must be a valid object for your organization. For a complete list of objects, see Standard Objects</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-deleted" substitutionGroup="mule:abstract-message-processor" type="GetDeletedType">
    <xs:annotation>
      <xs:documentation>Retrieves the list of individual records that have been deleted between the range of now to the duration before now.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetDeletedType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Object type. The specified value must be a valid object for your organization.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sfdc" name="duration" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>The amount of time in minutes before now for which to return records from.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-updated" substitutionGroup="mule:abstract-message-processor" type="GetUpdatedType">
    <xs:annotation>
      <xs:documentation>Retrieves the list of individual records that have been updated between the range of now to the duration before now.
&lt;p/&gt;
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetUpdatedType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Object type. The specified value must be a valid object for your organization.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sfdc" name="duration" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>The amount of time in minutes before now for which to return records from.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-updated-objects" substitutionGroup="mule:abstract-message-processor" type="GetUpdatedObjectsType">
    <xs:annotation>
      <xs:documentation>Retrieves the list of records that have been updated between the last time this method was called and now. This
method will save the timestamp of the latest date covered by Salesforce represented by .
IMPORTANT: In order to use this method in a reliable way user must ensure that right after this method returns the result is
stored in a persistent way since the timestamp of the latest . In order to reset the latest update time
use 
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetUpdatedObjectsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="fields" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>The fields to retrieve for the updated objects</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="field" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Object type. The specified value must be a valid object for your organization.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/sfdc" name="initialTimeWindow" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>Time window (in minutes) to use the first time this method is called</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="reset-updated-objects-timestamp" substitutionGroup="mule:abstract-message-processor" type="ResetUpdatedObjectsTimestampType">
    <xs:annotation>
      <xs:documentation>Resets the timestamp of the last updated object. After resetting this, a call to  will
use the initialTimeWindow to get the updated objects. If no objectStore has been explicitly specified and 
has not been called then calling this method has no effect.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ResetUpdatedObjectsTimestampType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="publish-topic" substitutionGroup="mule:abstract-message-processor" type="PublishTopicType">
    <xs:annotation>
      <xs:documentation>Creates a topic which represents a query that is the basis for notifying
listeners of changes to records in an organization.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="PublishTopicType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>Descriptive name of the push topic, such as MyNewCases or TeamUpdatedContacts. The maximum length is 25 characters. This value identifies the channel.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="query" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The SOQL query statement that determines which records' changes trigger events to be sent to the channel. Maximum length: 1200 characters</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="description" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Description of what kinds of records are returned by the query. Limit: 400 characters</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-user-info" substitutionGroup="mule:abstract-message-processor" type="GetUserInfoType">
    <xs:annotation>
      <xs:documentation>Retrieves personal information for the user associated with the current session.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetUserInfoType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/sfdc" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="subscribe-topic" substitutionGroup="mule:abstract-inbound-endpoint" type="SubscribeTopicType">
    <xs:annotation>
      <xs:documentation>Subscribe to a topic.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="SubscribeTopicType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractInboundEndpointType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="topic" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The name of the topic to subscribe to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Username used to initialize the session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Password used to authenticate the user</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="securityToken" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>User's security token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>