[teiid-commits] teiid SVN: r3510 - in trunk: connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce and 8 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Mon Oct 3 08:04:58 EDT 2011


Author: shawkins
Date: 2011-10-03 08:04:56 -0400 (Mon, 03 Oct 2011)
New Revision: 3510

Added:
   trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceHandlerResolver.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/AllOrNoneHeader.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DataCategory.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DataCategoryGroupSobjectTypePair.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupResult.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructureResult.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructures.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructuresResponse.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroups.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupsResponse.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneScreenPopOption.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DisableFeedTrackingHeader.java
   trunk/connectors/salesforce-api/src/main/resources/partner_v22.wsdl
Removed:
   trunk/connectors/salesforce-api/src/main/resources/partner_v17.wsdl
Modified:
   trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalSObjectResult.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayout.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResult.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectResult.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutCallType.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Field.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/FieldType.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfoResult.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidFieldFault.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidIdFault.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidNewPasswordFault.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidQueryLocatorFault.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidSObjectFault.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginFault.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedQueryFault.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedSearchFault.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ObjectFactory.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SforceService.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Soap.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/StatusCode.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UnexpectedErrorFault.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ExceptionCode.java
   trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ObjectFactory.java
   trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml
   trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
   trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
   trunk/engine/src/main/java/org/teiid/dqp/message/RequestID.java
   trunk/engine/src/test/java/org/teiid/dqp/message/TestRequestID.java
   trunk/pom.xml
   trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java
Log:
forward merge from 7.4.1

Modified: trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java
===================================================================
--- trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -29,6 +29,9 @@
 import javax.resource.ResourceException;
 import javax.xml.datatype.XMLGregorianCalendar;
 import javax.xml.ws.BindingProvider;
+import javax.xml.ws.handler.Handler;
+import javax.xml.ws.handler.HandlerResolver;
+import javax.xml.ws.handler.PortInfo;
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
@@ -82,7 +85,7 @@
 	
 	String getUserName() throws ResourceException {
 			try {
-				return sfSoap.getUserInfo(sh).getUserName();
+				return sfSoap.getUserInfo().getUserName();
 			} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
 				throw new ResourceException(e);
 			}
@@ -110,9 +113,17 @@
 			BusFactory.setThreadDefaultBus(mcf.getBus());
 			try {
 				sfService = new SforceService();
+				sh = new SessionHeader();
+				
+				// Session Id must be passed in soapHeader - add the handler
+				sfService.setHandlerResolver(new SalesforceHandlerResolver(sh));
+				
 				sfSoap = sfService.getSoap();
 				((BindingProvider)sfSoap).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, url.toExternalForm());
 				loginResult = sfSoap.login(username, password);
+				
+				// Set the SessionId after login, for subsequent calls
+				sh.setSessionId(loginResult.getSessionId());
 			} catch (LoginFault e) {
 				throw new ResourceException(e);
 			} catch (InvalidIdFault e) {
@@ -123,9 +134,7 @@
 				BusFactory.setThreadDefaultBus(bus);
 			}
 			LogManager.logTrace(LogConstants.CTX_CONNECTOR, "Login was successful for username " + username); //$NON-NLS-1$
-
-			sh = new SessionHeader();
-			sh.setSessionId(loginResult.getSessionId());
+						
 			// Reset the SOAP endpoint to the returned server URL
 			((BindingProvider)sfSoap).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,loginResult.getServerUrl());
 			// or maybe org.apache.cxf.message.Message.ENDPOINT_ADDRESS
@@ -136,7 +145,7 @@
 			
 			// Test the connection.
 			try {
-				sfSoap.getUserInfo(sh);
+				sfSoap.getUserInfo();
 			} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
 				throw new ResourceException(e);
 			}
@@ -150,7 +159,7 @@
 			result = false;
 		} else {
 			try {
-				sfSoap.getServerTimestamp(sh);
+				sfSoap.getServerTimestamp();
 			} catch (Throwable t) {
 				LogManager.logTrace(LogConstants.CTX_CONNECTOR, "Caught Throwable in isAlive", t); //$NON-NLS-1$
 				result = false;
@@ -171,12 +180,12 @@
 		qo.setBatchSize(batchSize);
 		try {
 			if(queryAll != null && queryAll) {
-				qr = sfSoap.queryAll(queryString, sh);
+				qr = sfSoap.queryAll(queryString);
 			} else {
 				MruHeader mruHeader = partnerFactory.createMruHeader();
 				mruHeader.setUpdateMru(false);
 				
-				qr = sfSoap.query(queryString, sh);
+				qr = sfSoap.query(queryString);
 			}
 		} catch (InvalidFieldFault e) {
 			throw new ResourceException(e);
@@ -198,7 +207,7 @@
 		QueryOptions qo = partnerFactory.createQueryOptions();
 		qo.setBatchSize(batchSize);
 		try {
-			return sfSoap.queryMore(queryLocator, sh);
+			return sfSoap.queryMore(queryLocator);
 		} catch (InvalidFieldFault e) {
 			throw new ResourceException(e);
 		} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
@@ -212,7 +221,7 @@
 	public int delete(String[] ids) throws ResourceException {
 		List<DeleteResult> results = null;
 		try {
-			results = sfSoap.delete(Arrays.asList(ids), sh);
+			results = sfSoap.delete(Arrays.asList(ids));
 		} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
 			throw new ResourceException(e);
 		}
@@ -250,7 +259,7 @@
 		objects.add(toCreate);
 		List<SaveResult> result;
 		try {
-			result = sfSoap.create(objects, sh);
+			result = sfSoap.create(objects);
 		} catch (InvalidFieldFault e) {
 			throw new ResourceException(e);
 		} catch (com.sforce.soap.partner.InvalidSObjectFault e) {
@@ -275,7 +284,7 @@
 		}
 		List<SaveResult> result;
 			try {
-				result = sfSoap.update(params, sh);
+				result = sfSoap.update(params);
 			} catch (InvalidFieldFault e) {
 				throw new ResourceException(e);
 			} catch (com.sforce.soap.partner.InvalidSObjectFault e) {
@@ -300,7 +309,7 @@
 	public UpdatedResult getUpdated(String objectType, XMLGregorianCalendar startDate, XMLGregorianCalendar endDate) throws ResourceException {
 			GetUpdatedResult updated;
 			try {
-				updated = sfSoap.getUpdated(objectType, startDate, endDate, sh);
+				updated = sfSoap.getUpdated(objectType, startDate, endDate);
 			} catch (com.sforce.soap.partner.InvalidSObjectFault e) {
 				throw new ResourceException(e);
 			} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
@@ -316,7 +325,7 @@
 			XMLGregorianCalendar endCalendar) throws ResourceException {
 			GetDeletedResult deleted;
 			try {
-				deleted = sfSoap.getDeleted(objectName, startCalendar, endCalendar, sh);
+				deleted = sfSoap.getDeleted(objectName, startCalendar, endCalendar);
 			} catch (com.sforce.soap.partner.InvalidSObjectFault e) {
 				throw new ResourceException(e);
 			} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
@@ -342,7 +351,7 @@
 	
 	public  QueryResult retrieve(String fieldList, String sObjectType, List<String> ids) throws ResourceException {
 		try {
-			List<SObject> objects = sfSoap.retrieve(fieldList, sObjectType, ids, sh);
+			List<SObject> objects = sfSoap.retrieve(fieldList, sObjectType, ids);
 			QueryResult result = new QueryResult();
 			for (SObject sObject : objects) {
 			    if (sObject != null) {
@@ -368,7 +377,7 @@
 
 	public DescribeGlobalResult getObjects() throws ResourceException {
 		try {
-			return sfSoap.describeGlobal(sh);
+			return sfSoap.describeGlobal();
 		} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
 			throw new ResourceException(e);
 		}
@@ -376,7 +385,7 @@
 
 	public DescribeSObjectResult getObjectMetaData(String objectName) throws ResourceException {
 		try {
-			return sfSoap.describeSObject(objectName, sh);
+			return sfSoap.describeSObject(objectName);
 		} catch (com.sforce.soap.partner.InvalidSObjectFault e) {
 			throw new ResourceException(e);
 		} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
@@ -392,6 +401,5 @@
 	@Override
 	public boolean isAlive() {
 		return isValid();
-	}	
-
+	}
 }

Copied: trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceHandlerResolver.java (from rev 3509, branches/7.4.x/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceHandlerResolver.java)
===================================================================
--- trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceHandlerResolver.java	                        (rev 0)
+++ trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceHandlerResolver.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,85 @@
+package org.teiid.resource.adapter.salesforce;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPHeader;
+import javax.xml.soap.SOAPHeaderElement;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.SOAPPart;
+import javax.xml.ws.handler.Handler;
+import javax.xml.ws.handler.HandlerResolver;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.PortInfo;
+import javax.xml.ws.handler.soap.SOAPHandler;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
+
+import com.sforce.soap.partner.SessionHeader;
+
+/* Handler which adds the SessionId info to the SOAP Header
+ * 
+ */
+class SalesforceHandlerResolver implements HandlerResolver {
+
+	private SalesforceHeaderHandler headerHandler = null;
+
+	public SalesforceHandlerResolver(SessionHeader sh) {
+		this.headerHandler = new SalesforceHeaderHandler(sh);
+	}
+
+	public List<Handler> getHandlerChain(PortInfo portInfo) {
+		List<Handler> handlerChain = new ArrayList<Handler>();
+
+		handlerChain.add(this.headerHandler);
+
+		return handlerChain;
+	}
+	
+	class SalesforceHeaderHandler implements SOAPHandler<SOAPMessageContext> {
+
+		SessionHeader sh = null;
+
+	    public SalesforceHeaderHandler(SessionHeader sh) {
+			this.sh = sh;
+		}
+
+	    public boolean handleMessage(SOAPMessageContext smc) {
+	    	QName sessionHeader = new QName("urn:partner.soap.sforce.com", "SessionHeader");  //$NON-NLS-1$ //$NON-NLS-2$
+	    	QName sessionId = new QName("urn:partner.soap.sforce.com", "sessionId");
+	     	try {
+	     		// If the SessionHeader is null, or the session id is null - do nothing.
+	     		if (sh!=null && sh.getSessionId()!=null) {
+	     			SOAPMessage message = smc.getMessage();
+	     			SOAPPart part = message.getSOAPPart();
+	     			SOAPEnvelope envelope = part.getEnvelope();
+	     			SOAPHeader header = envelope.getHeader();
+	     			if (header == null) header = envelope.addHeader();
+	     			SOAPHeaderElement sessionHeaderElement = header.addHeaderElement(sessionHeader);
+	     			SOAPElement sessionIdElement = sessionHeaderElement.addChildElement(sessionId);
+	     			sessionIdElement.addTextNode(sh.getSessionId());
+	     		}
+
+			} catch (SOAPException e) {
+				e.printStackTrace();
+				return false;
+			}
+	    	return true;
+	    }
+
+		public Set getHeaders() {
+	        return null;
+	    }
+
+	    public boolean handleFault(SOAPMessageContext context) {
+	        return true;
+	    }
+
+	    public void close(MessageContext context) {
+	    }
+	}
+}

Copied: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/AllOrNoneHeader.java (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/AllOrNoneHeader.java)
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/AllOrNoneHeader.java	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/AllOrNoneHeader.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,54 @@
+
+package com.sforce.soap.partner;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="allOrNone" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "", propOrder = {
+    "allOrNone"
+})
+ at XmlRootElement(name = "AllOrNoneHeader")
+public class AllOrNoneHeader {
+
+    protected boolean allOrNone;
+
+    /**
+     * Gets the value of the allOrNone property.
+     * 
+     */
+    public boolean isAllOrNone() {
+        return allOrNone;
+    }
+
+    /**
+     * Sets the value of the allOrNone property.
+     * 
+     */
+    public void setAllOrNone(boolean value) {
+        this.allOrNone = value;
+    }
+
+}

Copied: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DataCategory.java (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DataCategory.java)
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DataCategory.java	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DataCategory.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,124 @@
+
+package com.sforce.soap.partner;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for DataCategory complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="DataCategory">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="childCategories" type="{urn:partner.soap.sforce.com}DataCategory" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "DataCategory", propOrder = {
+    "childCategories",
+    "label",
+    "name"
+})
+public class DataCategory {
+
+    protected List<DataCategory> childCategories;
+    @XmlElement(required = true)
+    protected String label;
+    @XmlElement(required = true)
+    protected String name;
+
+    /**
+     * Gets the value of the childCategories property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the childCategories property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getChildCategories().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link DataCategory }
+     * 
+     * 
+     */
+    public List<DataCategory> getChildCategories() {
+        if (childCategories == null) {
+            childCategories = new ArrayList<DataCategory>();
+        }
+        return this.childCategories;
+    }
+
+    /**
+     * Gets the value of the label property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getLabel() {
+        return label;
+    }
+
+    /**
+     * Sets the value of the label property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setLabel(String value) {
+        this.label = value;
+    }
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setName(String value) {
+        this.name = value;
+    }
+
+}

Copied: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DataCategoryGroupSobjectTypePair.java (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DataCategoryGroupSobjectTypePair.java)
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DataCategoryGroupSobjectTypePair.java	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DataCategoryGroupSobjectTypePair.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,90 @@
+
+package com.sforce.soap.partner;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for DataCategoryGroupSobjectTypePair complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="DataCategoryGroupSobjectTypePair">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="dataCategoryGroupName" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="sobject" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "DataCategoryGroupSobjectTypePair", propOrder = {
+    "dataCategoryGroupName",
+    "sobject"
+})
+public class DataCategoryGroupSobjectTypePair {
+
+    @XmlElement(required = true)
+    protected String dataCategoryGroupName;
+    @XmlElement(required = true)
+    protected String sobject;
+
+    /**
+     * Gets the value of the dataCategoryGroupName property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDataCategoryGroupName() {
+        return dataCategoryGroupName;
+    }
+
+    /**
+     * Sets the value of the dataCategoryGroupName property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDataCategoryGroupName(String value) {
+        this.dataCategoryGroupName = value;
+    }
+
+    /**
+     * Gets the value of the sobject property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSobject() {
+        return sobject;
+    }
+
+    /**
+     * Sets the value of the sobject property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSobject(String value) {
+        this.sobject = value;
+    }
+
+}

Copied: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupResult.java (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupResult.java)
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupResult.java	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupResult.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,165 @@
+
+package com.sforce.soap.partner;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for DescribeDataCategoryGroupResult complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="DescribeDataCategoryGroupResult">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="categoryCount" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="sobject" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "DescribeDataCategoryGroupResult", propOrder = {
+    "categoryCount",
+    "description",
+    "label",
+    "name",
+    "sobject"
+})
+public class DescribeDataCategoryGroupResult {
+
+    protected int categoryCount;
+    @XmlElement(required = true)
+    protected String description;
+    @XmlElement(required = true)
+    protected String label;
+    @XmlElement(required = true)
+    protected String name;
+    @XmlElement(required = true)
+    protected String sobject;
+
+    /**
+     * Gets the value of the categoryCount property.
+     * 
+     */
+    public int getCategoryCount() {
+        return categoryCount;
+    }
+
+    /**
+     * Sets the value of the categoryCount property.
+     * 
+     */
+    public void setCategoryCount(int value) {
+        this.categoryCount = value;
+    }
+
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
+
+    /**
+     * Gets the value of the label property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getLabel() {
+        return label;
+    }
+
+    /**
+     * Sets the value of the label property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setLabel(String value) {
+        this.label = value;
+    }
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setName(String value) {
+        this.name = value;
+    }
+
+    /**
+     * Gets the value of the sobject property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSobject() {
+        return sobject;
+    }
+
+    /**
+     * Sets the value of the sobject property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSobject(String value) {
+        this.sobject = value;
+    }
+
+}

Copied: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructureResult.java (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructureResult.java)
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructureResult.java	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructureResult.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,180 @@
+
+package com.sforce.soap.partner;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for DescribeDataCategoryGroupStructureResult complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="DescribeDataCategoryGroupStructureResult">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="sobject" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="topCategories" type="{urn:partner.soap.sforce.com}DataCategory" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "DescribeDataCategoryGroupStructureResult", propOrder = {
+    "description",
+    "label",
+    "name",
+    "sobject",
+    "topCategories"
+})
+public class DescribeDataCategoryGroupStructureResult {
+
+    @XmlElement(required = true)
+    protected String description;
+    @XmlElement(required = true)
+    protected String label;
+    @XmlElement(required = true)
+    protected String name;
+    @XmlElement(required = true)
+    protected String sobject;
+    protected List<DataCategory> topCategories;
+
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
+
+    /**
+     * Gets the value of the label property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getLabel() {
+        return label;
+    }
+
+    /**
+     * Sets the value of the label property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setLabel(String value) {
+        this.label = value;
+    }
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setName(String value) {
+        this.name = value;
+    }
+
+    /**
+     * Gets the value of the sobject property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSobject() {
+        return sobject;
+    }
+
+    /**
+     * Sets the value of the sobject property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSobject(String value) {
+        this.sobject = value;
+    }
+
+    /**
+     * Gets the value of the topCategories property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the topCategories property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getTopCategories().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link DataCategory }
+     * 
+     * 
+     */
+    public List<DataCategory> getTopCategories() {
+        if (topCategories == null) {
+            topCategories = new ArrayList<DataCategory>();
+        }
+        return this.topCategories;
+    }
+
+}

Copied: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructures.java (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructures.java)
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructures.java	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructures.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,88 @@
+
+package com.sforce.soap.partner;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="pairs" type="{urn:partner.soap.sforce.com}DataCategoryGroupSobjectTypePair" maxOccurs="100" minOccurs="0"/>
+ *         &lt;element name="topCategoriesOnly" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "", propOrder = {
+    "pairs",
+    "topCategoriesOnly"
+})
+ at XmlRootElement(name = "describeDataCategoryGroupStructures")
+public class DescribeDataCategoryGroupStructures {
+
+    protected List<DataCategoryGroupSobjectTypePair> pairs;
+    protected boolean topCategoriesOnly;
+
+    /**
+     * Gets the value of the pairs property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the pairs property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getPairs().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link DataCategoryGroupSobjectTypePair }
+     * 
+     * 
+     */
+    public List<DataCategoryGroupSobjectTypePair> getPairs() {
+        if (pairs == null) {
+            pairs = new ArrayList<DataCategoryGroupSobjectTypePair>();
+        }
+        return this.pairs;
+    }
+
+    /**
+     * Gets the value of the topCategoriesOnly property.
+     * 
+     */
+    public boolean isTopCategoriesOnly() {
+        return topCategoriesOnly;
+    }
+
+    /**
+     * Sets the value of the topCategoriesOnly property.
+     * 
+     */
+    public void setTopCategoriesOnly(boolean value) {
+        this.topCategoriesOnly = value;
+    }
+
+}

Copied: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructuresResponse.java (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructuresResponse.java)
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructuresResponse.java	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupStructuresResponse.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,69 @@
+
+package com.sforce.soap.partner;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="result" type="{urn:partner.soap.sforce.com}DescribeDataCategoryGroupStructureResult" maxOccurs="100" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "", propOrder = {
+    "result"
+})
+ at XmlRootElement(name = "describeDataCategoryGroupStructuresResponse")
+public class DescribeDataCategoryGroupStructuresResponse {
+
+    protected List<DescribeDataCategoryGroupStructureResult> result;
+
+    /**
+     * Gets the value of the result property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the result property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getResult().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link DescribeDataCategoryGroupStructureResult }
+     * 
+     * 
+     */
+    public List<DescribeDataCategoryGroupStructureResult> getResult() {
+        if (result == null) {
+            result = new ArrayList<DescribeDataCategoryGroupStructureResult>();
+        }
+        return this.result;
+    }
+
+}

Copied: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroups.java (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroups.java)
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroups.java	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroups.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,69 @@
+
+package com.sforce.soap.partner;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="sObjectType" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="10" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "", propOrder = {
+    "sObjectType"
+})
+ at XmlRootElement(name = "describeDataCategoryGroups")
+public class DescribeDataCategoryGroups {
+
+    protected List<String> sObjectType;
+
+    /**
+     * Gets the value of the sObjectType property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the sObjectType property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getSObjectType().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getSObjectType() {
+        if (sObjectType == null) {
+            sObjectType = new ArrayList<String>();
+        }
+        return this.sObjectType;
+    }
+
+}

Copied: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupsResponse.java (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupsResponse.java)
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupsResponse.java	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeDataCategoryGroupsResponse.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,69 @@
+
+package com.sforce.soap.partner;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="result" type="{urn:partner.soap.sforce.com}DescribeDataCategoryGroupResult" maxOccurs="100" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "", propOrder = {
+    "result"
+})
+ at XmlRootElement(name = "describeDataCategoryGroupsResponse")
+public class DescribeDataCategoryGroupsResponse {
+
+    protected List<DescribeDataCategoryGroupResult> result;
+
+    /**
+     * Gets the value of the result property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the result property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getResult().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link DescribeDataCategoryGroupResult }
+     * 
+     * 
+     */
+    public List<DescribeDataCategoryGroupResult> getResult() {
+        if (result == null) {
+            result = new ArrayList<DescribeDataCategoryGroupResult>();
+        }
+        return this.result;
+    }
+
+}

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalSObjectResult.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalSObjectResult.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalSObjectResult.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -23,6 +23,7 @@
  *         &lt;element name="customSetting" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         &lt;element name="deletable" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         &lt;element name="deprecatedAndHidden" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *         &lt;element name="feedEnabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         &lt;element name="keyPrefix" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         &lt;element name="labelPlural" type="{http://www.w3.org/2001/XMLSchema}string"/>
@@ -52,6 +53,7 @@
     "customSetting",
     "deletable",
     "deprecatedAndHidden",
+    "feedEnabled",
     "keyPrefix",
     "label",
     "labelPlural",
@@ -74,6 +76,7 @@
     protected boolean customSetting;
     protected boolean deletable;
     protected boolean deprecatedAndHidden;
+    protected boolean feedEnabled;
     @XmlElement(required = true, nillable = true)
     protected String keyPrefix;
     @XmlElement(required = true)
@@ -189,6 +192,22 @@
     }
 
     /**
+     * Gets the value of the feedEnabled property.
+     * 
+     */
+    public boolean isFeedEnabled() {
+        return feedEnabled;
+    }
+
+    /**
+     * Sets the value of the feedEnabled property.
+     * 
+     */
+    public void setFeedEnabled(boolean value) {
+        this.feedEnabled = value;
+    }
+
+    /**
      * Gets the value of the keyPrefix property.
      * 
      * @return

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayout.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayout.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayout.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -6,24 +6,22 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
 
 /**
- * <p>Java class for DescribeLayout complex type.
+ * <p>Java class for anonymous complex type.
  * 
  * <p>The following schema fragment specifies the expected content contained within this class.
  * 
  * <pre>
- * &lt;complexType name="DescribeLayout">
+ * &lt;complexType>
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="buttonLayoutSection" type="{urn:partner.soap.sforce.com}DescribeLayoutButtonSection" minOccurs="0"/>
- *         &lt;element name="detailLayoutSections" type="{urn:partner.soap.sforce.com}DescribeLayoutSection" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element name="editLayoutSections" type="{urn:partner.soap.sforce.com}DescribeLayoutSection" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element name="id" type="{urn:partner.soap.sforce.com}ID"/>
- *         &lt;element name="relatedLists" type="{urn:partner.soap.sforce.com}RelatedList" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="sObjectType" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="recordTypeIds" type="{urn:partner.soap.sforce.com}ID" maxOccurs="unbounded" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>
@@ -33,155 +31,68 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "DescribeLayout", propOrder = {
-    "buttonLayoutSection",
-    "detailLayoutSections",
-    "editLayoutSections",
-    "id",
-    "relatedLists"
+ at XmlType(name = "", propOrder = {
+    "sObjectType",
+    "recordTypeIds"
 })
+ at XmlRootElement(name = "describeLayout")
 public class DescribeLayout {
 
-    protected DescribeLayoutButtonSection buttonLayoutSection;
-    protected List<DescribeLayoutSection> detailLayoutSections;
-    protected List<DescribeLayoutSection> editLayoutSections;
     @XmlElement(required = true)
-    protected String id;
-    protected List<RelatedList> relatedLists;
+    protected String sObjectType;
+    protected List<String> recordTypeIds;
 
     /**
-     * Gets the value of the buttonLayoutSection property.
+     * Gets the value of the sObjectType property.
      * 
      * @return
      *     possible object is
-     *     {@link DescribeLayoutButtonSection }
-     *     
-     */
-    public DescribeLayoutButtonSection getButtonLayoutSection() {
-        return buttonLayoutSection;
-    }
-
-    /**
-     * Sets the value of the buttonLayoutSection property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link DescribeLayoutButtonSection }
-     *     
-     */
-    public void setButtonLayoutSection(DescribeLayoutButtonSection value) {
-        this.buttonLayoutSection = value;
-    }
-
-    /**
-     * Gets the value of the detailLayoutSections property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the detailLayoutSections property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getDetailLayoutSections().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link DescribeLayoutSection }
-     * 
-     * 
-     */
-    public List<DescribeLayoutSection> getDetailLayoutSections() {
-        if (detailLayoutSections == null) {
-            detailLayoutSections = new ArrayList<DescribeLayoutSection>();
-        }
-        return this.detailLayoutSections;
-    }
-
-    /**
-     * Gets the value of the editLayoutSections property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the editLayoutSections property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getEditLayoutSections().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link DescribeLayoutSection }
-     * 
-     * 
-     */
-    public List<DescribeLayoutSection> getEditLayoutSections() {
-        if (editLayoutSections == null) {
-            editLayoutSections = new ArrayList<DescribeLayoutSection>();
-        }
-        return this.editLayoutSections;
-    }
-
-    /**
-     * Gets the value of the id property.
-     * 
-     * @return
-     *     possible object is
      *     {@link String }
      *     
      */
-    public String getId() {
-        return id;
+    public String getSObjectType() {
+        return sObjectType;
     }
 
     /**
-     * Sets the value of the id property.
+     * Sets the value of the sObjectType property.
      * 
      * @param value
      *     allowed object is
      *     {@link String }
      *     
      */
-    public void setId(String value) {
-        this.id = value;
+    public void setSObjectType(String value) {
+        this.sObjectType = value;
     }
 
     /**
-     * Gets the value of the relatedLists property.
+     * Gets the value of the recordTypeIds property.
      * 
      * <p>
      * This accessor method returns a reference to the live list,
      * not a snapshot. Therefore any modification you make to the
      * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the relatedLists property.
+     * This is why there is not a <CODE>set</CODE> method for the recordTypeIds property.
      * 
      * <p>
      * For example, to add a new item, do as follows:
      * <pre>
-     *    getRelatedLists().add(newItem);
+     *    getRecordTypeIds().add(newItem);
      * </pre>
      * 
      * 
      * <p>
      * Objects of the following type(s) are allowed in the list
-     * {@link RelatedList }
+     * {@link String }
      * 
      * 
      */
-    public List<RelatedList> getRelatedLists() {
-        if (relatedLists == null) {
-            relatedLists = new ArrayList<RelatedList>();
+    public List<String> getRecordTypeIds() {
+        if (recordTypeIds == null) {
+            recordTypeIds = new ArrayList<String>();
         }
-        return this.relatedLists;
+        return this.recordTypeIds;
     }
 
 }

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResult.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResult.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResult.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -39,7 +39,7 @@
 public class DescribeLayoutResult {
 
     @XmlElement(required = true)
-    protected List<DescribeLayout> layouts;
+    protected List<DescribeLayout2> layouts;
     protected List<RecordTypeMapping> recordTypeMappings;
     protected boolean recordTypeSelectorRequired;
 
@@ -61,13 +61,13 @@
      * 
      * <p>
      * Objects of the following type(s) are allowed in the list
-     * {@link DescribeLayout }
+     * {@link DescribeLayout2 }
      * 
      * 
      */
-    public List<DescribeLayout> getLayouts() {
+    public List<DescribeLayout2> getLayouts() {
         if (layouts == null) {
-            layouts = new ArrayList<DescribeLayout>();
+            layouts = new ArrayList<DescribeLayout2>();
         }
         return this.layouts;
     }

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectResult.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectResult.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectResult.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -26,6 +26,7 @@
  *         &lt;element name="customSetting" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         &lt;element name="deletable" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         &lt;element name="deprecatedAndHidden" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *         &lt;element name="feedEnabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         &lt;element name="fields" type="{urn:partner.soap.sforce.com}Field" maxOccurs="unbounded" minOccurs="0"/>
  *         &lt;element name="keyPrefix" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         &lt;element name="label" type="{http://www.w3.org/2001/XMLSchema}string"/>
@@ -61,6 +62,7 @@
     "customSetting",
     "deletable",
     "deprecatedAndHidden",
+    "feedEnabled",
     "fields",
     "keyPrefix",
     "label",
@@ -89,6 +91,7 @@
     protected boolean customSetting;
     protected boolean deletable;
     protected boolean deprecatedAndHidden;
+    protected boolean feedEnabled;
     @XmlElement(nillable = true)
     protected List<Field> fields;
     @XmlElement(required = true, nillable = true)
@@ -242,6 +245,22 @@
     }
 
     /**
+     * Gets the value of the feedEnabled property.
+     * 
+     */
+    public boolean isFeedEnabled() {
+        return feedEnabled;
+    }
+
+    /**
+     * Sets the value of the feedEnabled property.
+     * 
+     */
+    public void setFeedEnabled(boolean value) {
+        this.feedEnabled = value;
+    }
+
+    /**
      * Gets the value of the fields property.
      * 
      * <p>

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutCallType.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutCallType.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutCallType.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -21,6 +21,8 @@
  *       &lt;sequence>
  *         &lt;element name="infoFields" type="{urn:partner.soap.sforce.com}DescribeSoftphoneLayoutInfoField" maxOccurs="unbounded"/>
  *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="screenPopOptions" type="{urn:partner.soap.sforce.com}DescribeSoftphoneScreenPopOption" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="screenPopsOpenWithin" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
  *         &lt;element name="sections" type="{urn:partner.soap.sforce.com}DescribeSoftphoneLayoutSection" maxOccurs="unbounded" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
@@ -34,6 +36,8 @@
 @XmlType(name = "DescribeSoftphoneLayoutCallType", propOrder = {
     "infoFields",
     "name",
+    "screenPopOptions",
+    "screenPopsOpenWithin",
     "sections"
 })
 public class DescribeSoftphoneLayoutCallType {
@@ -42,6 +46,8 @@
     protected List<DescribeSoftphoneLayoutInfoField> infoFields;
     @XmlElement(required = true)
     protected String name;
+    protected List<DescribeSoftphoneScreenPopOption> screenPopOptions;
+    protected String screenPopsOpenWithin;
     protected List<DescribeSoftphoneLayoutSection> sections;
 
     /**
@@ -98,6 +104,59 @@
     }
 
     /**
+     * Gets the value of the screenPopOptions property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the screenPopOptions property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getScreenPopOptions().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link DescribeSoftphoneScreenPopOption }
+     * 
+     * 
+     */
+    public List<DescribeSoftphoneScreenPopOption> getScreenPopOptions() {
+        if (screenPopOptions == null) {
+            screenPopOptions = new ArrayList<DescribeSoftphoneScreenPopOption>();
+        }
+        return this.screenPopOptions;
+    }
+
+    /**
+     * Gets the value of the screenPopsOpenWithin property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getScreenPopsOpenWithin() {
+        return screenPopsOpenWithin;
+    }
+
+    /**
+     * Sets the value of the screenPopsOpenWithin property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setScreenPopsOpenWithin(String value) {
+        this.screenPopsOpenWithin = value;
+    }
+
+    /**
      * Gets the value of the sections property.
      * 
      * <p>

Copied: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneScreenPopOption.java (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneScreenPopOption.java)
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneScreenPopOption.java	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneScreenPopOption.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,118 @@
+
+package com.sforce.soap.partner;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for DescribeSoftphoneScreenPopOption complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="DescribeSoftphoneScreenPopOption">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="matchType" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="screenPopData" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="screenPopType" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "DescribeSoftphoneScreenPopOption", propOrder = {
+    "matchType",
+    "screenPopData",
+    "screenPopType"
+})
+public class DescribeSoftphoneScreenPopOption {
+
+    @XmlElement(required = true)
+    protected String matchType;
+    @XmlElement(required = true)
+    protected String screenPopData;
+    @XmlElement(required = true)
+    protected String screenPopType;
+
+    /**
+     * Gets the value of the matchType property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMatchType() {
+        return matchType;
+    }
+
+    /**
+     * Sets the value of the matchType property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMatchType(String value) {
+        this.matchType = value;
+    }
+
+    /**
+     * Gets the value of the screenPopData property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getScreenPopData() {
+        return screenPopData;
+    }
+
+    /**
+     * Sets the value of the screenPopData property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setScreenPopData(String value) {
+        this.screenPopData = value;
+    }
+
+    /**
+     * Gets the value of the screenPopType property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getScreenPopType() {
+        return screenPopType;
+    }
+
+    /**
+     * Sets the value of the screenPopType property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setScreenPopType(String value) {
+        this.screenPopType = value;
+    }
+
+}

Copied: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DisableFeedTrackingHeader.java (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DisableFeedTrackingHeader.java)
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DisableFeedTrackingHeader.java	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DisableFeedTrackingHeader.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,54 @@
+
+package com.sforce.soap.partner;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="disableFeedTracking" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "", propOrder = {
+    "disableFeedTracking"
+})
+ at XmlRootElement(name = "DisableFeedTrackingHeader")
+public class DisableFeedTrackingHeader {
+
+    protected boolean disableFeedTracking;
+
+    /**
+     * Gets the value of the disableFeedTracking property.
+     * 
+     */
+    public boolean isDisableFeedTracking() {
+        return disableFeedTracking;
+    }
+
+    /**
+     * Sets the value of the disableFeedTracking property.
+     * 
+     */
+    public void setDisableFeedTracking(boolean value) {
+        this.disableFeedTracking = value;
+    }
+
+}

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Field.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Field.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Field.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -34,6 +34,7 @@
  *         &lt;element name="digits" type="{http://www.w3.org/2001/XMLSchema}int"/>
  *         &lt;element name="externalId" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
  *         &lt;element name="filterable" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *         &lt;element name="groupable" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         &lt;element name="htmlFormatted" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
  *         &lt;element name="idLookup" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         &lt;element name="inlineHelpText" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
@@ -81,6 +82,7 @@
     "digits",
     "externalId",
     "filterable",
+    "groupable",
     "htmlFormatted",
     "idLookup",
     "inlineHelpText",
@@ -121,6 +123,7 @@
     protected int digits;
     protected Boolean externalId;
     protected boolean filterable;
+    protected boolean groupable;
     protected Boolean htmlFormatted;
     protected boolean idLookup;
     protected String inlineHelpText;
@@ -431,6 +434,22 @@
     }
 
     /**
+     * Gets the value of the groupable property.
+     * 
+     */
+    public boolean isGroupable() {
+        return groupable;
+    }
+
+    /**
+     * Sets the value of the groupable property.
+     * 
+     */
+    public void setGroupable(boolean value) {
+        this.groupable = value;
+    }
+
+    /**
      * Gets the value of the htmlFormatted property.
      * 
      * @return

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/FieldType.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/FieldType.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/FieldType.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -34,6 +34,7 @@
  *     &lt;enumeration value="url"/>
  *     &lt;enumeration value="email"/>
  *     &lt;enumeration value="encryptedstring"/>
+ *     &lt;enumeration value="datacategorygroupreference"/>
  *     &lt;enumeration value="anyType"/>
  *   &lt;/restriction>
  * &lt;/simpleType>
@@ -84,6 +85,8 @@
     EMAIL("email"),
     @XmlEnumValue("encryptedstring")
     ENCRYPTEDSTRING("encryptedstring"),
+    @XmlEnumValue("datacategorygroupreference")
+    DATACATEGORYGROUPREFERENCE("datacategorygroupreference"),
     @XmlEnumValue("anyType")
     ANY_TYPE("anyType");
     private final String value;

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfoResult.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfoResult.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfoResult.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -19,6 +19,7 @@
  *       &lt;sequence>
  *         &lt;element name="accessibilityMode" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         &lt;element name="currencySymbol" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="orgAttachmentFileSizeLimit" type="{http://www.w3.org/2001/XMLSchema}int"/>
  *         &lt;element name="orgDefaultCurrencyIsoCode" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         &lt;element name="orgDisallowHtmlAttachments" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         &lt;element name="orgHasPersonAccounts" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
@@ -27,6 +28,7 @@
  *         &lt;element name="organizationName" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         &lt;element name="profileId" type="{urn:partner.soap.sforce.com}ID"/>
  *         &lt;element name="roleId" type="{urn:partner.soap.sforce.com}ID"/>
+ *         &lt;element name="sessionSecondsValid" type="{http://www.w3.org/2001/XMLSchema}int"/>
  *         &lt;element name="userDefaultCurrencyIsoCode" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         &lt;element name="userEmail" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         &lt;element name="userFullName" type="{http://www.w3.org/2001/XMLSchema}string"/>
@@ -49,6 +51,7 @@
 @XmlType(name = "GetUserInfoResult", propOrder = {
     "accessibilityMode",
     "currencySymbol",
+    "orgAttachmentFileSizeLimit",
     "orgDefaultCurrencyIsoCode",
     "orgDisallowHtmlAttachments",
     "orgHasPersonAccounts",
@@ -57,6 +60,7 @@
     "organizationName",
     "profileId",
     "roleId",
+    "sessionSecondsValid",
     "userDefaultCurrencyIsoCode",
     "userEmail",
     "userFullName",
@@ -73,6 +77,7 @@
     protected boolean accessibilityMode;
     @XmlElement(required = true, nillable = true)
     protected String currencySymbol;
+    protected int orgAttachmentFileSizeLimit;
     @XmlElement(required = true, nillable = true)
     protected String orgDefaultCurrencyIsoCode;
     protected boolean orgDisallowHtmlAttachments;
@@ -86,6 +91,7 @@
     protected String profileId;
     @XmlElement(required = true, nillable = true)
     protected String roleId;
+    protected int sessionSecondsValid;
     @XmlElement(required = true, nillable = true)
     protected String userDefaultCurrencyIsoCode;
     @XmlElement(required = true)
@@ -148,6 +154,22 @@
     }
 
     /**
+     * Gets the value of the orgAttachmentFileSizeLimit property.
+     * 
+     */
+    public int getOrgAttachmentFileSizeLimit() {
+        return orgAttachmentFileSizeLimit;
+    }
+
+    /**
+     * Sets the value of the orgAttachmentFileSizeLimit property.
+     * 
+     */
+    public void setOrgAttachmentFileSizeLimit(int value) {
+        this.orgAttachmentFileSizeLimit = value;
+    }
+
+    /**
      * Gets the value of the orgDefaultCurrencyIsoCode property.
      * 
      * @return
@@ -316,6 +338,22 @@
     }
 
     /**
+     * Gets the value of the sessionSecondsValid property.
+     * 
+     */
+    public int getSessionSecondsValid() {
+        return sessionSecondsValid;
+    }
+
+    /**
+     * Sets the value of the sessionSecondsValid property.
+     * 
+     */
+    public void setSessionSecondsValid(int value) {
+        this.sessionSecondsValid = value;
+    }
+
+    /**
      * Gets the value of the userDefaultCurrencyIsoCode property.
      * 
      * @return

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidFieldFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidFieldFault.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidFieldFault.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -5,15 +5,15 @@
 
 
 /**
- * This class was generated by Apache CXF 2.2.5
- * Thu Apr 01 14:35:01 EDT 2010
- * Generated source version: 2.2.5
+ * This class was generated by Apache CXF 2.2.12
+ * Thu Sep 01 08:54:15 CDT 2011
+ * Generated source version: 2.2.12
  * 
  */
 
 @WebFault(name = "InvalidFieldFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
 public class InvalidFieldFault extends Exception {
-    public static final long serialVersionUID = 20100401143501L;
+    public static final long serialVersionUID = 20110901085415L;
     
     private com.sforce.soap.partner.fault.InvalidFieldFault invalidFieldFault;
 

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidIdFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidIdFault.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidIdFault.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -5,15 +5,15 @@
 
 
 /**
- * This class was generated by Apache CXF 2.2.5
- * Thu Apr 01 14:35:01 EDT 2010
- * Generated source version: 2.2.5
+ * This class was generated by Apache CXF 2.2.12
+ * Thu Sep 01 08:54:15 CDT 2011
+ * Generated source version: 2.2.12
  * 
  */
 
 @WebFault(name = "InvalidIdFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
 public class InvalidIdFault extends Exception {
-    public static final long serialVersionUID = 20100401143501L;
+    public static final long serialVersionUID = 20110901085415L;
     
     private com.sforce.soap.partner.fault.InvalidIdFault invalidIdFault;
 

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidNewPasswordFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidNewPasswordFault.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidNewPasswordFault.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -5,15 +5,15 @@
 
 
 /**
- * This class was generated by Apache CXF 2.2.5
- * Thu Apr 01 14:35:01 EDT 2010
- * Generated source version: 2.2.5
+ * This class was generated by Apache CXF 2.2.12
+ * Thu Sep 01 08:54:15 CDT 2011
+ * Generated source version: 2.2.12
  * 
  */
 
 @WebFault(name = "InvalidNewPasswordFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
 public class InvalidNewPasswordFault extends Exception {
-    public static final long serialVersionUID = 20100401143501L;
+    public static final long serialVersionUID = 20110901085415L;
     
     private com.sforce.soap.partner.fault.InvalidNewPasswordFault invalidNewPasswordFault;
 

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidQueryLocatorFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidQueryLocatorFault.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidQueryLocatorFault.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -5,15 +5,15 @@
 
 
 /**
- * This class was generated by Apache CXF 2.2.5
- * Thu Apr 01 14:35:01 EDT 2010
- * Generated source version: 2.2.5
+ * This class was generated by Apache CXF 2.2.12
+ * Thu Sep 01 08:54:15 CDT 2011
+ * Generated source version: 2.2.12
  * 
  */
 
 @WebFault(name = "InvalidQueryLocatorFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
 public class InvalidQueryLocatorFault extends Exception {
-    public static final long serialVersionUID = 20100401143501L;
+    public static final long serialVersionUID = 20110901085415L;
     
     private com.sforce.soap.partner.fault.InvalidQueryLocatorFault invalidQueryLocatorFault;
 

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidSObjectFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidSObjectFault.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidSObjectFault.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -5,15 +5,15 @@
 
 
 /**
- * This class was generated by Apache CXF 2.2.5
- * Thu Apr 01 14:35:01 EDT 2010
- * Generated source version: 2.2.5
+ * This class was generated by Apache CXF 2.2.12
+ * Thu Sep 01 08:54:15 CDT 2011
+ * Generated source version: 2.2.12
  * 
  */
 
 @WebFault(name = "InvalidSObjectFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
 public class InvalidSObjectFault extends Exception {
-    public static final long serialVersionUID = 20100401143501L;
+    public static final long serialVersionUID = 20110901085415L;
     
     private com.sforce.soap.partner.fault.InvalidSObjectFault invalidSObjectFault;
 

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginFault.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginFault.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -5,15 +5,15 @@
 
 
 /**
- * This class was generated by Apache CXF 2.2.5
- * Thu Apr 01 14:35:01 EDT 2010
- * Generated source version: 2.2.5
+ * This class was generated by Apache CXF 2.2.12
+ * Thu Sep 01 08:54:15 CDT 2011
+ * Generated source version: 2.2.12
  * 
  */
 
 @WebFault(name = "LoginFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
 public class LoginFault extends Exception {
-    public static final long serialVersionUID = 20100401143501L;
+    public static final long serialVersionUID = 20110901085415L;
     
     private com.sforce.soap.partner.fault.LoginFault loginFault;
 

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedQueryFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedQueryFault.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedQueryFault.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -5,15 +5,15 @@
 
 
 /**
- * This class was generated by Apache CXF 2.2.5
- * Thu Apr 01 14:35:01 EDT 2010
- * Generated source version: 2.2.5
+ * This class was generated by Apache CXF 2.2.12
+ * Thu Sep 01 08:54:15 CDT 2011
+ * Generated source version: 2.2.12
  * 
  */
 
 @WebFault(name = "MalformedQueryFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
 public class MalformedQueryFault extends Exception {
-    public static final long serialVersionUID = 20100401143501L;
+    public static final long serialVersionUID = 20110901085415L;
     
     private com.sforce.soap.partner.fault.MalformedQueryFault malformedQueryFault;
 

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedSearchFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedSearchFault.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedSearchFault.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -5,15 +5,15 @@
 
 
 /**
- * This class was generated by Apache CXF 2.2.5
- * Thu Apr 01 14:35:01 EDT 2010
- * Generated source version: 2.2.5
+ * This class was generated by Apache CXF 2.2.12
+ * Thu Sep 01 08:54:15 CDT 2011
+ * Generated source version: 2.2.12
  * 
  */
 
 @WebFault(name = "MalformedSearchFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
 public class MalformedSearchFault extends Exception {
-    public static final long serialVersionUID = 20100401143501L;
+    public static final long serialVersionUID = 20110901085415L;
     
     private com.sforce.soap.partner.fault.MalformedSearchFault malformedSearchFault;
 

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ObjectFactory.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ObjectFactory.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ObjectFactory.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -24,11 +24,11 @@
 @XmlRegistry
 public class ObjectFactory {
 
+    private final static QName _EmailFileAttachmentContentType_QNAME = new QName("urn:partner.soap.sforce.com", "contentType");
+    private final static QName _EmailFileAttachmentBody_QNAME = new QName("urn:partner.soap.sforce.com", "body");
     private final static QName _SingleEmailMessageOrgWideEmailAddressId_QNAME = new QName("urn:partner.soap.sforce.com", "orgWideEmailAddressId");
     private final static QName _SingleEmailMessageInReplyTo_QNAME = new QName("urn:partner.soap.sforce.com", "inReplyTo");
     private final static QName _SingleEmailMessageReferences_QNAME = new QName("urn:partner.soap.sforce.com", "references");
-    private final static QName _EmailFileAttachmentContentType_QNAME = new QName("urn:partner.soap.sforce.com", "contentType");
-    private final static QName _EmailFileAttachmentBody_QNAME = new QName("urn:partner.soap.sforce.com", "body");
 
     /**
      * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.sforce.soap.partner
@@ -38,158 +38,166 @@
     }
 
     /**
-     * Create an instance of {@link Merge }
+     * Create an instance of {@link GetUserInfoResponse }
      * 
      */
-    public Merge createMerge() {
-        return new Merge();
+    public GetUserInfoResponse createGetUserInfoResponse() {
+        return new GetUserInfoResponse();
     }
 
     /**
-     * Create an instance of {@link CallOptions }
+     * Create an instance of {@link Retrieve }
      * 
      */
-    public CallOptions createCallOptions() {
-        return new CallOptions();
+    public Retrieve createRetrieve() {
+        return new Retrieve();
     }
 
     /**
-     * Create an instance of {@link LeadConvertResult }
+     * Create an instance of {@link SearchResult }
      * 
      */
-    public LeadConvertResult createLeadConvertResult() {
-        return new LeadConvertResult();
+    public SearchResult createSearchResult() {
+        return new SearchResult();
     }
 
     /**
-     * Create an instance of {@link SearchResult }
+     * Create an instance of {@link PackageVersionHeader }
      * 
      */
-    public SearchResult createSearchResult() {
-        return new SearchResult();
+    public PackageVersionHeader createPackageVersionHeader() {
+        return new PackageVersionHeader();
     }
 
     /**
-     * Create an instance of {@link ProcessRequest }
+     * Create an instance of {@link ProcessWorkitemRequest }
      * 
      */
-    public ProcessRequest createProcessRequest() {
-        return new ProcessRequest();
+    public ProcessWorkitemRequest createProcessWorkitemRequest() {
+        return new ProcessWorkitemRequest();
     }
 
     /**
-     * Create an instance of {@link DeleteResult }
+     * Create an instance of {@link SingleEmailMessage }
      * 
      */
-    public DeleteResult createDeleteResult() {
-        return new DeleteResult();
+    public SingleEmailMessage createSingleEmailMessage() {
+        return new SingleEmailMessage();
     }
 
     /**
-     * Create an instance of {@link DescribeTab }
+     * Create an instance of {@link Field }
      * 
      */
-    public DescribeTab createDescribeTab() {
-        return new DescribeTab();
+    public Field createField() {
+        return new Field();
     }
 
     /**
-     * Create an instance of {@link DescribeLayoutResult }
+     * Create an instance of {@link ChildRelationship }
      * 
      */
-    public DescribeLayoutResult createDescribeLayoutResult() {
-        return new DescribeLayoutResult();
+    public ChildRelationship createChildRelationship() {
+        return new ChildRelationship();
     }
 
     /**
-     * Create an instance of {@link Retrieve }
+     * Create an instance of {@link DescribeTab }
      * 
      */
-    public Retrieve createRetrieve() {
-        return new Retrieve();
+    public DescribeTab createDescribeTab() {
+        return new DescribeTab();
     }
 
     /**
-     * Create an instance of {@link Delete }
+     * Create an instance of {@link ProcessSubmitRequest }
      * 
      */
-    public Delete createDelete() {
-        return new Delete();
+    public ProcessSubmitRequest createProcessSubmitRequest() {
+        return new ProcessSubmitRequest();
     }
 
     /**
-     * Create an instance of {@link DescribeTabSetResult }
+     * Create an instance of {@link RecordTypeMapping }
      * 
      */
-    public DescribeTabSetResult createDescribeTabSetResult() {
-        return new DescribeTabSetResult();
+    public RecordTypeMapping createRecordTypeMapping() {
+        return new RecordTypeMapping();
     }
 
     /**
-     * Create an instance of {@link Update }
+     * Create an instance of {@link DescribeDataCategoryGroupStructures }
      * 
      */
-    public Update createUpdate() {
-        return new Update();
+    public DescribeDataCategoryGroupStructures createDescribeDataCategoryGroupStructures() {
+        return new DescribeDataCategoryGroupStructures();
     }
 
     /**
-     * Create an instance of {@link Login }
+     * Create an instance of {@link SetPassword }
      * 
      */
-    public Login createLogin() {
-        return new Login();
+    public SetPassword createSetPassword() {
+        return new SetPassword();
     }
 
     /**
-     * Create an instance of {@link DescribeSObjectResponse }
+     * Create an instance of {@link DescribeSoftphoneLayoutItem }
      * 
      */
-    public DescribeSObjectResponse createDescribeSObjectResponse() {
-        return new DescribeSObjectResponse();
+    public DescribeSoftphoneLayoutItem createDescribeSoftphoneLayoutItem() {
+        return new DescribeSoftphoneLayoutItem();
     }
 
     /**
-     * Create an instance of {@link QueryAll }
+     * Create an instance of {@link QueryOptions }
      * 
      */
-    public QueryAll createQueryAll() {
-        return new QueryAll();
+    public QueryOptions createQueryOptions() {
+        return new QueryOptions();
     }
 
     /**
-     * Create an instance of {@link Error }
+     * Create an instance of {@link DescribeLayoutButtonSection }
      * 
      */
-    public Error createError() {
-        return new Error();
+    public DescribeLayoutButtonSection createDescribeLayoutButtonSection() {
+        return new DescribeLayoutButtonSection();
     }
 
     /**
-     * Create an instance of {@link LogoutResponse }
+     * Create an instance of {@link GetServerTimestampResult }
      * 
      */
-    public LogoutResponse createLogoutResponse() {
-        return new LogoutResponse();
+    public GetServerTimestampResult createGetServerTimestampResult() {
+        return new GetServerTimestampResult();
     }
 
     /**
-     * Create an instance of {@link SingleEmailMessage }
+     * Create an instance of {@link LoginResult }
      * 
      */
-    public SingleEmailMessage createSingleEmailMessage() {
-        return new SingleEmailMessage();
+    public LoginResult createLoginResult() {
+        return new LoginResult();
     }
 
     /**
-     * Create an instance of {@link UserTerritoryDeleteHeader }
+     * Create an instance of {@link DescribeSoftphoneLayout }
      * 
      */
-    public UserTerritoryDeleteHeader createUserTerritoryDeleteHeader() {
-        return new UserTerritoryDeleteHeader();
+    public DescribeSoftphoneLayout createDescribeSoftphoneLayout() {
+        return new DescribeSoftphoneLayout();
     }
 
     /**
+     * Create an instance of {@link InvalidateSessions }
+     * 
+     */
+    public InvalidateSessions createInvalidateSessions() {
+        return new InvalidateSessions();
+    }
+
+    /**
      * Create an instance of {@link DescribeLayoutRow }
      * 
      */
@@ -198,307 +206,307 @@
     }
 
     /**
-     * Create an instance of {@link GetServerTimestampResult }
+     * Create an instance of {@link MassEmailMessage }
      * 
      */
-    public GetServerTimestampResult createGetServerTimestampResult() {
-        return new GetServerTimestampResult();
+    public MassEmailMessage createMassEmailMessage() {
+        return new MassEmailMessage();
     }
 
     /**
-     * Create an instance of {@link DebuggingInfo }
+     * Create an instance of {@link Query }
      * 
      */
-    public DebuggingInfo createDebuggingInfo() {
-        return new DebuggingInfo();
+    public Query createQuery() {
+        return new Query();
     }
 
     /**
-     * Create an instance of {@link PicklistEntry }
+     * Create an instance of {@link DataCategoryGroupSobjectTypePair }
      * 
      */
-    public PicklistEntry createPicklistEntry() {
-        return new PicklistEntry();
+    public DataCategoryGroupSobjectTypePair createDataCategoryGroupSobjectTypePair() {
+        return new DataCategoryGroupSobjectTypePair();
     }
 
     /**
-     * Create an instance of {@link DescribeSObjectsResponse }
+     * Create an instance of {@link CreateResponse }
      * 
      */
-    public DescribeSObjectsResponse createDescribeSObjectsResponse() {
-        return new DescribeSObjectsResponse();
+    public CreateResponse createCreateResponse() {
+        return new CreateResponse();
     }
 
     /**
-     * Create an instance of {@link DescribeSoftphoneLayoutItem }
+     * Create an instance of {@link LogoutResponse }
      * 
      */
-    public DescribeSoftphoneLayoutItem createDescribeSoftphoneLayoutItem() {
-        return new DescribeSoftphoneLayoutItem();
+    public LogoutResponse createLogoutResponse() {
+        return new LogoutResponse();
     }
 
     /**
-     * Create an instance of {@link RecordTypeMapping }
+     * Create an instance of {@link DescribeDataCategoryGroupResult }
      * 
      */
-    public RecordTypeMapping createRecordTypeMapping() {
-        return new RecordTypeMapping();
+    public DescribeDataCategoryGroupResult createDescribeDataCategoryGroupResult() {
+        return new DescribeDataCategoryGroupResult();
     }
 
     /**
-     * Create an instance of {@link DescribeGlobalSObjectResult }
+     * Create an instance of {@link SaveResult }
      * 
      */
-    public DescribeGlobalSObjectResult createDescribeGlobalSObjectResult() {
-        return new DescribeGlobalSObjectResult();
+    public SaveResult createSaveResult() {
+        return new SaveResult();
     }
 
     /**
-     * Create an instance of {@link LoginResult }
+     * Create an instance of {@link Create }
      * 
      */
-    public LoginResult createLoginResult() {
-        return new LoginResult();
+    public Create createCreate() {
+        return new Create();
     }
 
     /**
-     * Create an instance of {@link GetUserInfoResponse }
+     * Create an instance of {@link SendEmail }
      * 
      */
-    public GetUserInfoResponse createGetUserInfoResponse() {
-        return new GetUserInfoResponse();
+    public SendEmail createSendEmail() {
+        return new SendEmail();
     }
 
     /**
-     * Create an instance of {@link Undelete }
+     * Create an instance of {@link MergeResponse }
      * 
      */
-    public Undelete createUndelete() {
-        return new Undelete();
+    public MergeResponse createMergeResponse() {
+        return new MergeResponse();
     }
 
     /**
-     * Create an instance of {@link Logout }
+     * Create an instance of {@link DescribeTabSetResult }
      * 
      */
-    public Logout createLogout() {
-        return new Logout();
+    public DescribeTabSetResult createDescribeTabSetResult() {
+        return new DescribeTabSetResult();
     }
 
     /**
-     * Create an instance of {@link UpsertResponse }
+     * Create an instance of {@link DescribeSoftphoneLayoutSection }
      * 
      */
-    public UpsertResponse createUpsertResponse() {
-        return new UpsertResponse();
+    public DescribeSoftphoneLayoutSection createDescribeSoftphoneLayoutSection() {
+        return new DescribeSoftphoneLayoutSection();
     }
 
     /**
-     * Create an instance of {@link RecordTypeInfo }
+     * Create an instance of {@link DescribeGlobalResult }
      * 
      */
-    public RecordTypeInfo createRecordTypeInfo() {
-        return new RecordTypeInfo();
+    public DescribeGlobalResult createDescribeGlobalResult() {
+        return new DescribeGlobalResult();
     }
 
     /**
-     * Create an instance of {@link LeadConvert }
+     * Create an instance of {@link DescribeGlobalResponse }
      * 
      */
-    public LeadConvert createLeadConvert() {
-        return new LeadConvert();
+    public DescribeGlobalResponse createDescribeGlobalResponse() {
+        return new DescribeGlobalResponse();
     }
 
     /**
-     * Create an instance of {@link ResetPasswordResult }
+     * Create an instance of {@link RecordTypeInfo }
      * 
      */
-    public ResetPasswordResult createResetPasswordResult() {
-        return new ResetPasswordResult();
+    public RecordTypeInfo createRecordTypeInfo() {
+        return new RecordTypeInfo();
     }
 
     /**
-     * Create an instance of {@link ProcessSubmitRequest }
+     * Create an instance of {@link MergeResult }
      * 
      */
-    public ProcessSubmitRequest createProcessSubmitRequest() {
-        return new ProcessSubmitRequest();
+    public MergeResult createMergeResult() {
+        return new MergeResult();
     }
 
     /**
-     * Create an instance of {@link MruHeader }
+     * Create an instance of {@link QueryAll }
      * 
      */
-    public MruHeader createMruHeader() {
-        return new MruHeader();
+    public QueryAll createQueryAll() {
+        return new QueryAll();
     }
 
     /**
-     * Create an instance of {@link EmptyRecycleBin }
+     * Create an instance of {@link DebuggingInfo }
      * 
      */
-    public EmptyRecycleBin createEmptyRecycleBin() {
-        return new EmptyRecycleBin();
+    public DebuggingInfo createDebuggingInfo() {
+        return new DebuggingInfo();
     }
 
     /**
-     * Create an instance of {@link MergeResponse }
+     * Create an instance of {@link ProcessResponse }
      * 
      */
-    public MergeResponse createMergeResponse() {
-        return new MergeResponse();
+    public ProcessResponse createProcessResponse() {
+        return new ProcessResponse();
     }
 
     /**
-     * Create an instance of {@link ResetPassword }
+     * Create an instance of {@link UserTerritoryDeleteHeader }
      * 
      */
-    public ResetPassword createResetPassword() {
-        return new ResetPassword();
+    public UserTerritoryDeleteHeader createUserTerritoryDeleteHeader() {
+        return new UserTerritoryDeleteHeader();
     }
 
     /**
-     * Create an instance of {@link DeleteResponse }
+     * Create an instance of {@link Upsert }
      * 
      */
-    public DeleteResponse createDeleteResponse() {
-        return new DeleteResponse();
+    public Upsert createUpsert() {
+        return new Upsert();
     }
 
     /**
-     * Create an instance of {@link DescribeLayoutButton }
+     * Create an instance of {@link Search }
      * 
      */
-    public DescribeLayoutButton createDescribeLayoutButton() {
-        return new DescribeLayoutButton();
+    public Search createSearch() {
+        return new Search();
     }
 
     /**
-     * Create an instance of {@link SetPasswordResult }
+     * Create an instance of {@link QueryMore }
      * 
      */
-    public SetPasswordResult createSetPasswordResult() {
-        return new SetPasswordResult();
+    public QueryMore createQueryMore() {
+        return new QueryMore();
     }
 
     /**
-     * Create an instance of {@link ProcessResponse }
+     * Create an instance of {@link GetUpdatedResponse }
      * 
      */
-    public ProcessResponse createProcessResponse() {
-        return new ProcessResponse();
+    public GetUpdatedResponse createGetUpdatedResponse() {
+        return new GetUpdatedResponse();
     }
 
     /**
-     * Create an instance of {@link DebuggingHeader }
+     * Create an instance of {@link Merge }
      * 
      */
-    public DebuggingHeader createDebuggingHeader() {
-        return new DebuggingHeader();
+    public Merge createMerge() {
+        return new Merge();
     }
 
     /**
-     * Create an instance of {@link Upsert }
+     * Create an instance of {@link Delete }
      * 
      */
-    public Upsert createUpsert() {
-        return new Upsert();
+    public Delete createDelete() {
+        return new Delete();
     }
 
     /**
-     * Create an instance of {@link GetDeletedResult }
+     * Create an instance of {@link SetPasswordResponse }
      * 
      */
-    public GetDeletedResult createGetDeletedResult() {
-        return new GetDeletedResult();
+    public SetPasswordResponse createSetPasswordResponse() {
+        return new SetPasswordResponse();
     }
 
     /**
-     * Create an instance of {@link DescribeLayoutComponent }
+     * Create an instance of {@link QueryResult }
      * 
      */
-    public DescribeLayoutComponent createDescribeLayoutComponent() {
-        return new DescribeLayoutComponent();
+    public QueryResult createQueryResult() {
+        return new QueryResult();
     }
 
     /**
-     * Create an instance of {@link SearchResponse }
+     * Create an instance of {@link EmailFileAttachment }
      * 
      */
-    public SearchResponse createSearchResponse() {
-        return new SearchResponse();
+    public EmailFileAttachment createEmailFileAttachment() {
+        return new EmailFileAttachment();
     }
 
     /**
-     * Create an instance of {@link RelatedListSort }
+     * Create an instance of {@link DescribeLayoutSection }
      * 
      */
-    public RelatedListSort createRelatedListSort() {
-        return new RelatedListSort();
+    public DescribeLayoutSection createDescribeLayoutSection() {
+        return new DescribeLayoutSection();
     }
 
     /**
-     * Create an instance of {@link SearchRecord }
+     * Create an instance of {@link ConvertLeadResponse }
      * 
      */
-    public SearchRecord createSearchRecord() {
-        return new SearchRecord();
+    public ConvertLeadResponse createConvertLeadResponse() {
+        return new ConvertLeadResponse();
     }
 
     /**
-     * Create an instance of {@link MassEmailMessage }
+     * Create an instance of {@link QueryResponse }
      * 
      */
-    public MassEmailMessage createMassEmailMessage() {
-        return new MassEmailMessage();
+    public QueryResponse createQueryResponse() {
+        return new QueryResponse();
     }
 
     /**
-     * Create an instance of {@link DescribeLayoutButtonSection }
+     * Create an instance of {@link EmptyRecycleBin }
      * 
      */
-    public DescribeLayoutButtonSection createDescribeLayoutButtonSection() {
-        return new DescribeLayoutButtonSection();
+    public EmptyRecycleBin createEmptyRecycleBin() {
+        return new EmptyRecycleBin();
     }
 
     /**
-     * Create an instance of {@link DescribeLayout }
+     * Create an instance of {@link LeadConvertResult }
      * 
      */
-    public DescribeLayout createDescribeLayout() {
-        return new DescribeLayout();
+    public LeadConvertResult createLeadConvertResult() {
+        return new LeadConvertResult();
     }
 
     /**
-     * Create an instance of {@link GetUpdatedResponse }
+     * Create an instance of {@link EmptyRecycleBinResponse }
      * 
      */
-    public GetUpdatedResponse createGetUpdatedResponse() {
-        return new GetUpdatedResponse();
+    public EmptyRecycleBinResponse createEmptyRecycleBinResponse() {
+        return new EmptyRecycleBinResponse();
     }
 
     /**
-     * Create an instance of {@link SendEmailResult }
+     * Create an instance of {@link GetUserInfo }
      * 
      */
-    public SendEmailResult createSendEmailResult() {
-        return new SendEmailResult();
+    public GetUserInfo createGetUserInfo() {
+        return new GetUserInfo();
     }
 
     /**
-     * Create an instance of {@link DescribeGlobalResponse }
+     * Create an instance of {@link UpsertResult }
      * 
      */
-    public DescribeGlobalResponse createDescribeGlobalResponse() {
-        return new DescribeGlobalResponse();
+    public UpsertResult createUpsertResult() {
+        return new UpsertResult();
     }
 
     /**
-     * Create an instance of {@link InvalidateSessionsResult }
+     * Create an instance of {@link InvalidateSessionsResponse }
      * 
      */
-    public InvalidateSessionsResult createInvalidateSessionsResult() {
-        return new InvalidateSessionsResult();
+    public InvalidateSessionsResponse createInvalidateSessionsResponse() {
+        return new InvalidateSessionsResponse();
     }
 
     /**
@@ -510,35 +518,35 @@
     }
 
     /**
-     * Create an instance of {@link QueryMore }
+     * Create an instance of {@link MergeRequest }
      * 
      */
-    public QueryMore createQueryMore() {
-        return new QueryMore();
+    public MergeRequest createMergeRequest() {
+        return new MergeRequest();
     }
 
     /**
-     * Create an instance of {@link InvalidateSessionsResponse }
+     * Create an instance of {@link DescribeSoftphoneLayoutCallType }
      * 
      */
-    public InvalidateSessionsResponse createInvalidateSessionsResponse() {
-        return new InvalidateSessionsResponse();
+    public DescribeSoftphoneLayoutCallType createDescribeSoftphoneLayoutCallType() {
+        return new DescribeSoftphoneLayoutCallType();
     }
 
     /**
-     * Create an instance of {@link DescribeSoftphoneLayoutResponse }
+     * Create an instance of {@link LoginResponse }
      * 
      */
-    public DescribeSoftphoneLayoutResponse createDescribeSoftphoneLayoutResponse() {
-        return new DescribeSoftphoneLayoutResponse();
+    public LoginResponse createLoginResponse() {
+        return new LoginResponse();
     }
 
     /**
-     * Create an instance of {@link SetPassword }
+     * Create an instance of {@link DescribeLayoutComponent }
      * 
      */
-    public SetPassword createSetPassword() {
-        return new SetPassword();
+    public DescribeLayoutComponent createDescribeLayoutComponent() {
+        return new DescribeLayoutComponent();
     }
 
     /**
@@ -550,182 +558,254 @@
     }
 
     /**
-     * Create an instance of {@link QueryOptions }
+     * Create an instance of {@link LeadConvert }
      * 
      */
-    public QueryOptions createQueryOptions() {
-        return new QueryOptions();
+    public LeadConvert createLeadConvert() {
+        return new LeadConvert();
     }
 
     /**
-     * Create an instance of {@link DescribeGlobal }
+     * Create an instance of {@link DeleteResult }
      * 
      */
-    public DescribeGlobal createDescribeGlobal() {
-        return new DescribeGlobal();
+    public DeleteResult createDeleteResult() {
+        return new DeleteResult();
     }
 
     /**
-     * Create an instance of {@link SendEmail }
+     * Create an instance of {@link DeletedRecord }
      * 
      */
-    public SendEmail createSendEmail() {
-        return new SendEmail();
+    public DeletedRecord createDeletedRecord() {
+        return new DeletedRecord();
     }
 
     /**
-     * Create an instance of {@link DescribeSoftphoneLayoutResult }
+     * Create an instance of {@link ConvertLead }
      * 
      */
-    public DescribeSoftphoneLayoutResult createDescribeSoftphoneLayoutResult() {
-        return new DescribeSoftphoneLayoutResult();
+    public ConvertLead createConvertLead() {
+        return new ConvertLead();
     }
 
     /**
-     * Create an instance of {@link Search }
+     * Create an instance of {@link SetPasswordResult }
      * 
      */
-    public Search createSearch() {
-        return new Search();
+    public SetPasswordResult createSetPasswordResult() {
+        return new SetPasswordResult();
     }
 
     /**
-     * Create an instance of {@link DescribeLayoutItem }
+     * Create an instance of {@link GetServerTimestamp }
      * 
      */
-    public DescribeLayoutItem createDescribeLayoutItem() {
-        return new DescribeLayoutItem();
+    public GetServerTimestamp createGetServerTimestamp() {
+        return new GetServerTimestamp();
     }
 
     /**
-     * Create an instance of {@link DescribeSObjectResult }
+     * Create an instance of {@link SendEmailResult }
      * 
      */
-    public DescribeSObjectResult createDescribeSObjectResult() {
-        return new DescribeSObjectResult();
+    public SendEmailResult createSendEmailResult() {
+        return new SendEmailResult();
     }
 
     /**
-     * Create an instance of {@link ProcessResult }
+     * Create an instance of {@link DescribeSObjectResponse }
      * 
      */
-    public ProcessResult createProcessResult() {
-        return new ProcessResult();
+    public DescribeSObjectResponse createDescribeSObjectResponse() {
+        return new DescribeSObjectResponse();
     }
 
     /**
-     * Create an instance of {@link InvalidateSessions }
+     * Create an instance of {@link EmptyRecycleBinResult }
      * 
      */
-    public InvalidateSessions createInvalidateSessions() {
-        return new InvalidateSessions();
+    public EmptyRecycleBinResult createEmptyRecycleBinResult() {
+        return new EmptyRecycleBinResult();
     }
 
     /**
-     * Create an instance of {@link PackageVersionHeader }
+     * Create an instance of {@link DescribeDataCategoryGroupStructuresResponse }
      * 
      */
-    public PackageVersionHeader createPackageVersionHeader() {
-        return new PackageVersionHeader();
+    public DescribeDataCategoryGroupStructuresResponse createDescribeDataCategoryGroupStructuresResponse() {
+        return new DescribeDataCategoryGroupStructuresResponse();
     }
 
     /**
-     * Create an instance of {@link DescribeTabsResponse }
+     * Create an instance of {@link DisableFeedTrackingHeader }
      * 
      */
-    public DescribeTabsResponse createDescribeTabsResponse() {
-        return new DescribeTabsResponse();
+    public DisableFeedTrackingHeader createDisableFeedTrackingHeader() {
+        return new DisableFeedTrackingHeader();
     }
 
     /**
-     * Create an instance of {@link SendEmailResponse }
+     * Create an instance of {@link DescribeLayout2 }
      * 
      */
-    public SendEmailResponse createSendEmailResponse() {
-        return new SendEmailResponse();
+    public DescribeLayout2 createDescribeLayout2() {
+        return new DescribeLayout2();
     }
 
     /**
-     * Create an instance of {@link PicklistForRecordType }
+     * Create an instance of {@link GetUpdatedResult }
      * 
      */
-    public PicklistForRecordType createPicklistForRecordType() {
-        return new PicklistForRecordType();
+    public GetUpdatedResult createGetUpdatedResult() {
+        return new GetUpdatedResult();
     }
 
     /**
-     * Create an instance of {@link AllowFieldTruncationHeader }
+     * Create an instance of {@link Update }
      * 
      */
-    public AllowFieldTruncationHeader createAllowFieldTruncationHeader() {
-        return new AllowFieldTruncationHeader();
+    public Update createUpdate() {
+        return new Update();
     }
 
     /**
-     * Create an instance of {@link UpdateResponse }
+     * Create an instance of {@link RetrieveResponse }
      * 
      */
-    public UpdateResponse createUpdateResponse() {
-        return new UpdateResponse();
+    public RetrieveResponse createRetrieveResponse() {
+        return new RetrieveResponse();
     }
 
     /**
-     * Create an instance of {@link QueryResponse }
+     * Create an instance of {@link RelatedList }
      * 
      */
-    public QueryResponse createQueryResponse() {
-        return new QueryResponse();
+    public RelatedList createRelatedList() {
+        return new RelatedList();
     }
 
     /**
-     * Create an instance of {@link DescribeSoftphoneLayoutSection }
+     * Create an instance of {@link GetDeleted }
      * 
      */
-    public DescribeSoftphoneLayoutSection createDescribeSoftphoneLayoutSection() {
-        return new DescribeSoftphoneLayoutSection();
+    public GetDeleted createGetDeleted() {
+        return new GetDeleted();
     }
 
     /**
-     * Create an instance of {@link CreateResponse }
+     * Create an instance of {@link UndeleteResult }
      * 
      */
-    public CreateResponse createCreateResponse() {
-        return new CreateResponse();
+    public UndeleteResult createUndeleteResult() {
+        return new UndeleteResult();
     }
 
     /**
-     * Create an instance of {@link QueryResult }
+     * Create an instance of {@link Error }
      * 
      */
-    public QueryResult createQueryResult() {
-        return new QueryResult();
+    public Error createError() {
+        return new Error();
     }
 
     /**
-     * Create an instance of {@link SaveResult }
+     * Create an instance of {@link DebuggingHeader }
      * 
      */
-    public SaveResult createSaveResult() {
-        return new SaveResult();
+    public DebuggingHeader createDebuggingHeader() {
+        return new DebuggingHeader();
     }
 
     /**
-     * Create an instance of {@link DescribeSObject }
+     * Create an instance of {@link DescribeDataCategoryGroupStructureResult }
      * 
      */
-    public DescribeSObject createDescribeSObject() {
-        return new DescribeSObject();
+    public DescribeDataCategoryGroupStructureResult createDescribeDataCategoryGroupStructureResult() {
+        return new DescribeDataCategoryGroupStructureResult();
     }
 
     /**
-     * Create an instance of {@link Process }
+     * Create an instance of {@link UndeleteResponse }
      * 
      */
-    public Process createProcess() {
-        return new Process();
+    public UndeleteResponse createUndeleteResponse() {
+        return new UndeleteResponse();
     }
 
     /**
+     * Create an instance of {@link PicklistForRecordType }
+     * 
+     */
+    public PicklistForRecordType createPicklistForRecordType() {
+        return new PicklistForRecordType();
+    }
+
+    /**
+     * Create an instance of {@link DescribeSoftphoneLayoutInfoField }
+     * 
+     */
+    public DescribeSoftphoneLayoutInfoField createDescribeSoftphoneLayoutInfoField() {
+        return new DescribeSoftphoneLayoutInfoField();
+    }
+
+    /**
+     * Create an instance of {@link DescribeLayoutResult }
+     * 
+     */
+    public DescribeLayoutResult createDescribeLayoutResult() {
+        return new DescribeLayoutResult();
+    }
+
+    /**
+     * Create an instance of {@link DescribeSoftphoneLayoutResult }
+     * 
+     */
+    public DescribeSoftphoneLayoutResult createDescribeSoftphoneLayoutResult() {
+        return new DescribeSoftphoneLayoutResult();
+    }
+
+    /**
+     * Create an instance of {@link DescribeLayoutButton }
+     * 
+     */
+    public DescribeLayoutButton createDescribeLayoutButton() {
+        return new DescribeLayoutButton();
+    }
+
+    /**
+     * Create an instance of {@link DeleteResponse }
+     * 
+     */
+    public DeleteResponse createDeleteResponse() {
+        return new DeleteResponse();
+    }
+
+    /**
+     * Create an instance of {@link MruHeader }
+     * 
+     */
+    public MruHeader createMruHeader() {
+        return new MruHeader();
+    }
+
+    /**
+     * Create an instance of {@link SendEmailResponse }
+     * 
+     */
+    public SendEmailResponse createSendEmailResponse() {
+        return new SendEmailResponse();
+    }
+
+    /**
+     * Create an instance of {@link GetUpdated }
+     * 
+     */
+    public GetUpdated createGetUpdated() {
+        return new GetUpdated();
+    }
+
+    /**
      * Create an instance of {@link AssignmentRuleHeader }
      * 
      */
@@ -734,179 +814,179 @@
     }
 
     /**
-     * Create an instance of {@link GetServerTimestamp }
+     * Create an instance of {@link GetUserInfoResult }
      * 
      */
-    public GetServerTimestamp createGetServerTimestamp() {
-        return new GetServerTimestamp();
+    public GetUserInfoResult createGetUserInfoResult() {
+        return new GetUserInfoResult();
     }
 
     /**
-     * Create an instance of {@link ConvertLeadResponse }
+     * Create an instance of {@link ResetPasswordResult }
      * 
      */
-    public ConvertLeadResponse createConvertLeadResponse() {
-        return new ConvertLeadResponse();
+    public ResetPasswordResult createResetPasswordResult() {
+        return new ResetPasswordResult();
     }
 
     /**
-     * Create an instance of {@link Query }
+     * Create an instance of {@link ProcessResult }
      * 
      */
-    public Query createQuery() {
-        return new Query();
+    public ProcessResult createProcessResult() {
+        return new ProcessResult();
     }
 
     /**
-     * Create an instance of {@link GetUserInfo }
+     * Create an instance of {@link InvalidateSessionsResult }
      * 
      */
-    public GetUserInfo createGetUserInfo() {
-        return new GetUserInfo();
+    public InvalidateSessionsResult createInvalidateSessionsResult() {
+        return new InvalidateSessionsResult();
     }
 
     /**
-     * Create an instance of {@link GetDeletedResponse }
+     * Create an instance of {@link SessionHeader }
      * 
      */
-    public GetDeletedResponse createGetDeletedResponse() {
-        return new GetDeletedResponse();
+    public SessionHeader createSessionHeader() {
+        return new SessionHeader();
     }
 
     /**
-     * Create an instance of {@link Create }
+     * Create an instance of {@link RelatedListColumn }
      * 
      */
-    public Create createCreate() {
-        return new Create();
+    public RelatedListColumn createRelatedListColumn() {
+        return new RelatedListColumn();
     }
 
     /**
-     * Create an instance of {@link MergeResult }
+     * Create an instance of {@link Login }
      * 
      */
-    public MergeResult createMergeResult() {
-        return new MergeResult();
+    public Login createLogin() {
+        return new Login();
     }
 
     /**
-     * Create an instance of {@link DescribeSoftphoneLayoutCallType }
+     * Create an instance of {@link SendEmailError }
      * 
      */
-    public DescribeSoftphoneLayoutCallType createDescribeSoftphoneLayoutCallType() {
-        return new DescribeSoftphoneLayoutCallType();
+    public SendEmailError createSendEmailError() {
+        return new SendEmailError();
     }
 
     /**
-     * Create an instance of {@link DeletedRecord }
+     * Create an instance of {@link GetServerTimestampResponse }
      * 
      */
-    public DeletedRecord createDeletedRecord() {
-        return new DeletedRecord();
+    public GetServerTimestampResponse createGetServerTimestampResponse() {
+        return new GetServerTimestampResponse();
     }
 
     /**
-     * Create an instance of {@link GetUpdated }
+     * Create an instance of {@link CallOptions }
      * 
      */
-    public GetUpdated createGetUpdated() {
-        return new GetUpdated();
+    public CallOptions createCallOptions() {
+        return new CallOptions();
     }
 
     /**
-     * Create an instance of {@link GetDeleted }
+     * Create an instance of {@link DataCategory }
      * 
      */
-    public GetDeleted createGetDeleted() {
-        return new GetDeleted();
+    public DataCategory createDataCategory() {
+        return new DataCategory();
     }
 
     /**
-     * Create an instance of {@link DescribeSoftphoneLayout }
+     * Create an instance of {@link QueryAllResponse }
      * 
      */
-    public DescribeSoftphoneLayout createDescribeSoftphoneLayout() {
-        return new DescribeSoftphoneLayout();
+    public QueryAllResponse createQueryAllResponse() {
+        return new QueryAllResponse();
     }
 
     /**
-     * Create an instance of {@link EmptyRecycleBinResponse }
+     * Create an instance of {@link DescribeGlobalSObjectResult }
      * 
      */
-    public EmptyRecycleBinResponse createEmptyRecycleBinResponse() {
-        return new EmptyRecycleBinResponse();
+    public DescribeGlobalSObjectResult createDescribeGlobalSObjectResult() {
+        return new DescribeGlobalSObjectResult();
     }
 
     /**
-     * Create an instance of {@link ConvertLead }
+     * Create an instance of {@link PicklistEntry }
      * 
      */
-    public ConvertLead createConvertLead() {
-        return new ConvertLead();
+    public PicklistEntry createPicklistEntry() {
+        return new PicklistEntry();
     }
 
     /**
-     * Create an instance of {@link SessionHeader }
+     * Create an instance of {@link DescribeSObjects }
      * 
      */
-    public SessionHeader createSessionHeader() {
-        return new SessionHeader();
+    public DescribeSObjects createDescribeSObjects() {
+        return new DescribeSObjects();
     }
 
     /**
-     * Create an instance of {@link LoginResponse }
+     * Create an instance of {@link Email }
      * 
      */
-    public LoginResponse createLoginResponse() {
-        return new LoginResponse();
+    public Email createEmail() {
+        return new Email();
     }
 
     /**
-     * Create an instance of {@link DescribeGlobalResult }
+     * Create an instance of {@link DescribeTabsResponse }
      * 
      */
-    public DescribeGlobalResult createDescribeGlobalResult() {
-        return new DescribeGlobalResult();
+    public DescribeTabsResponse createDescribeTabsResponse() {
+        return new DescribeTabsResponse();
     }
 
     /**
-     * Create an instance of {@link MergeRequest }
+     * Create an instance of {@link Process }
      * 
      */
-    public MergeRequest createMergeRequest() {
-        return new MergeRequest();
+    public Process createProcess() {
+        return new Process();
     }
 
     /**
-     * Create an instance of {@link GetUserInfoResult }
+     * Create an instance of {@link DescribeLayoutItem }
      * 
      */
-    public GetUserInfoResult createGetUserInfoResult() {
-        return new GetUserInfoResult();
+    public DescribeLayoutItem createDescribeLayoutItem() {
+        return new DescribeLayoutItem();
     }
 
     /**
-     * Create an instance of {@link ProcessWorkitemRequest }
+     * Create an instance of {@link ProcessRequest }
      * 
      */
-    public ProcessWorkitemRequest createProcessWorkitemRequest() {
-        return new ProcessWorkitemRequest();
+    public ProcessRequest createProcessRequest() {
+        return new ProcessRequest();
     }
 
     /**
-     * Create an instance of {@link SetPasswordResponse }
+     * Create an instance of {@link Logout }
      * 
      */
-    public SetPasswordResponse createSetPasswordResponse() {
-        return new SetPasswordResponse();
+    public Logout createLogout() {
+        return new Logout();
     }
 
     /**
-     * Create an instance of {@link ResetPasswordResponse }
+     * Create an instance of {@link RelatedListSort }
      * 
      */
-    public ResetPasswordResponse createResetPasswordResponse() {
-        return new ResetPasswordResponse();
+    public RelatedListSort createRelatedListSort() {
+        return new RelatedListSort();
     }
 
     /**
@@ -918,38 +998,46 @@
     }
 
     /**
-     * Create an instance of {@link DescribeSoftphoneLayoutInfoField }
+     * Create an instance of {@link Undelete }
      * 
      */
-    public DescribeSoftphoneLayoutInfoField createDescribeSoftphoneLayoutInfoField() {
-        return new DescribeSoftphoneLayoutInfoField();
+    public Undelete createUndelete() {
+        return new Undelete();
     }
 
     /**
-     * Create an instance of {@link MydescribeLayout }
+     * Create an instance of {@link DescribeSObjectsResponse }
      * 
      */
-    public MydescribeLayout createMydescribeLayout() {
-        return new MydescribeLayout();
+    public DescribeSObjectsResponse createDescribeSObjectsResponse() {
+        return new DescribeSObjectsResponse();
     }
 
     /**
-     * Create an instance of {@link RelatedList }
+     * Create an instance of {@link GetDeletedResult }
      * 
      */
-    public RelatedList createRelatedList() {
-        return new RelatedList();
+    public GetDeletedResult createGetDeletedResult() {
+        return new GetDeletedResult();
     }
 
     /**
-     * Create an instance of {@link RelatedListColumn }
+     * Create an instance of {@link SearchRecord }
      * 
      */
-    public RelatedListColumn createRelatedListColumn() {
-        return new RelatedListColumn();
+    public SearchRecord createSearchRecord() {
+        return new SearchRecord();
     }
 
     /**
+     * Create an instance of {@link GetDeletedResponse }
+     * 
+     */
+    public GetDeletedResponse createGetDeletedResponse() {
+        return new GetDeletedResponse();
+    }
+
+    /**
      * Create an instance of {@link PackageVersion }
      * 
      */
@@ -958,192 +1046,192 @@
     }
 
     /**
-     * Create an instance of {@link UndeleteResponse }
+     * Create an instance of {@link DescribeLayoutResponse }
      * 
      */
-    public UndeleteResponse createUndeleteResponse() {
-        return new UndeleteResponse();
+    public DescribeLayoutResponse createDescribeLayoutResponse() {
+        return new DescribeLayoutResponse();
     }
 
     /**
-     * Create an instance of {@link EmailFileAttachment }
+     * Create an instance of {@link ResetPassword }
      * 
      */
-    public EmailFileAttachment createEmailFileAttachment() {
-        return new EmailFileAttachment();
+    public ResetPassword createResetPassword() {
+        return new ResetPassword();
     }
 
     /**
-     * Create an instance of {@link DescribeSObjects }
+     * Create an instance of {@link AllowFieldTruncationHeader }
      * 
      */
-    public DescribeSObjects createDescribeSObjects() {
-        return new DescribeSObjects();
+    public AllowFieldTruncationHeader createAllowFieldTruncationHeader() {
+        return new AllowFieldTruncationHeader();
     }
 
     /**
-     * Create an instance of {@link QueryAllResponse }
+     * Create an instance of {@link DescribeGlobal }
      * 
      */
-    public QueryAllResponse createQueryAllResponse() {
-        return new QueryAllResponse();
+    public DescribeGlobal createDescribeGlobal() {
+        return new DescribeGlobal();
     }
 
     /**
-     * Create an instance of {@link DescribeLayoutResponse }
+     * Create an instance of {@link DescribeDataCategoryGroups }
      * 
      */
-    public DescribeLayoutResponse createDescribeLayoutResponse() {
-        return new DescribeLayoutResponse();
+    public DescribeDataCategoryGroups createDescribeDataCategoryGroups() {
+        return new DescribeDataCategoryGroups();
     }
 
     /**
-     * Create an instance of {@link EmptyRecycleBinResult }
+     * Create an instance of {@link SearchResponse }
      * 
      */
-    public EmptyRecycleBinResult createEmptyRecycleBinResult() {
-        return new EmptyRecycleBinResult();
+    public SearchResponse createSearchResponse() {
+        return new SearchResponse();
     }
 
     /**
-     * Create an instance of {@link QueryMoreResponse }
+     * Create an instance of {@link DescribeSObject }
      * 
      */
-    public QueryMoreResponse createQueryMoreResponse() {
-        return new QueryMoreResponse();
+    public DescribeSObject createDescribeSObject() {
+        return new DescribeSObject();
     }
 
     /**
-     * Create an instance of {@link UpsertResult }
+     * Create an instance of {@link AllOrNoneHeader }
      * 
      */
-    public UpsertResult createUpsertResult() {
-        return new UpsertResult();
+    public AllOrNoneHeader createAllOrNoneHeader() {
+        return new AllOrNoneHeader();
     }
 
     /**
-     * Create an instance of {@link RetrieveResponse }
+     * Create an instance of {@link UpdateResponse }
      * 
      */
-    public RetrieveResponse createRetrieveResponse() {
-        return new RetrieveResponse();
+    public UpdateResponse createUpdateResponse() {
+        return new UpdateResponse();
     }
 
     /**
-     * Create an instance of {@link GetServerTimestampResponse }
+     * Create an instance of {@link UpsertResponse }
      * 
      */
-    public GetServerTimestampResponse createGetServerTimestampResponse() {
-        return new GetServerTimestampResponse();
+    public UpsertResponse createUpsertResponse() {
+        return new UpsertResponse();
     }
 
     /**
-     * Create an instance of {@link DescribeLayoutSection }
+     * Create an instance of {@link DescribeSObjectResult }
      * 
      */
-    public DescribeLayoutSection createDescribeLayoutSection() {
-        return new DescribeLayoutSection();
+    public DescribeSObjectResult createDescribeSObjectResult() {
+        return new DescribeSObjectResult();
     }
 
     /**
-     * Create an instance of {@link ChildRelationship }
+     * Create an instance of {@link DescribeSoftphoneLayoutResponse }
      * 
      */
-    public ChildRelationship createChildRelationship() {
-        return new ChildRelationship();
+    public DescribeSoftphoneLayoutResponse createDescribeSoftphoneLayoutResponse() {
+        return new DescribeSoftphoneLayoutResponse();
     }
 
     /**
-     * Create an instance of {@link Field }
+     * Create an instance of {@link QueryMoreResponse }
      * 
      */
-    public Field createField() {
-        return new Field();
+    public QueryMoreResponse createQueryMoreResponse() {
+        return new QueryMoreResponse();
     }
 
     /**
-     * Create an instance of {@link Email }
+     * Create an instance of {@link DescribeTabs }
      * 
      */
-    public Email createEmail() {
-        return new Email();
+    public DescribeTabs createDescribeTabs() {
+        return new DescribeTabs();
     }
 
     /**
-     * Create an instance of {@link SendEmailError }
+     * Create an instance of {@link DescribeSoftphoneScreenPopOption }
      * 
      */
-    public SendEmailError createSendEmailError() {
-        return new SendEmailError();
+    public DescribeSoftphoneScreenPopOption createDescribeSoftphoneScreenPopOption() {
+        return new DescribeSoftphoneScreenPopOption();
     }
 
     /**
-     * Create an instance of {@link DescribeTabs }
+     * Create an instance of {@link DescribeLayout }
      * 
      */
-    public DescribeTabs createDescribeTabs() {
-        return new DescribeTabs();
+    public DescribeLayout createDescribeLayout() {
+        return new DescribeLayout();
     }
 
     /**
-     * Create an instance of {@link GetUpdatedResult }
+     * Create an instance of {@link DescribeDataCategoryGroupsResponse }
      * 
      */
-    public GetUpdatedResult createGetUpdatedResult() {
-        return new GetUpdatedResult();
+    public DescribeDataCategoryGroupsResponse createDescribeDataCategoryGroupsResponse() {
+        return new DescribeDataCategoryGroupsResponse();
     }
 
     /**
-     * Create an instance of {@link UndeleteResult }
+     * Create an instance of {@link ResetPasswordResponse }
      * 
      */
-    public UndeleteResult createUndeleteResult() {
-        return new UndeleteResult();
+    public ResetPasswordResponse createResetPasswordResponse() {
+        return new ResetPasswordResponse();
     }
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "orgWideEmailAddressId", scope = SingleEmailMessage.class)
-    public JAXBElement<String> createSingleEmailMessageOrgWideEmailAddressId(String value) {
-        return new JAXBElement<String>(_SingleEmailMessageOrgWideEmailAddressId_QNAME, String.class, SingleEmailMessage.class, value);
+    @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "contentType", scope = EmailFileAttachment.class)
+    public JAXBElement<String> createEmailFileAttachmentContentType(String value) {
+        return new JAXBElement<String>(_EmailFileAttachmentContentType_QNAME, String.class, EmailFileAttachment.class, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "inReplyTo", scope = SingleEmailMessage.class)
-    public JAXBElement<String> createSingleEmailMessageInReplyTo(String value) {
-        return new JAXBElement<String>(_SingleEmailMessageInReplyTo_QNAME, String.class, SingleEmailMessage.class, value);
+    @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "body", scope = EmailFileAttachment.class)
+    public JAXBElement<byte[]> createEmailFileAttachmentBody(byte[] value) {
+        return new JAXBElement<byte[]>(_EmailFileAttachmentBody_QNAME, byte[].class, EmailFileAttachment.class, ((byte[]) value));
     }
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "references", scope = SingleEmailMessage.class)
-    public JAXBElement<String> createSingleEmailMessageReferences(String value) {
-        return new JAXBElement<String>(_SingleEmailMessageReferences_QNAME, String.class, SingleEmailMessage.class, value);
+    @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "orgWideEmailAddressId", scope = SingleEmailMessage.class)
+    public JAXBElement<String> createSingleEmailMessageOrgWideEmailAddressId(String value) {
+        return new JAXBElement<String>(_SingleEmailMessageOrgWideEmailAddressId_QNAME, String.class, SingleEmailMessage.class, value);
     }
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "contentType", scope = EmailFileAttachment.class)
-    public JAXBElement<String> createEmailFileAttachmentContentType(String value) {
-        return new JAXBElement<String>(_EmailFileAttachmentContentType_QNAME, String.class, EmailFileAttachment.class, value);
+    @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "inReplyTo", scope = SingleEmailMessage.class)
+    public JAXBElement<String> createSingleEmailMessageInReplyTo(String value) {
+        return new JAXBElement<String>(_SingleEmailMessageInReplyTo_QNAME, String.class, SingleEmailMessage.class, value);
     }
 
     /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "body", scope = EmailFileAttachment.class)
-    public JAXBElement<byte[]> createEmailFileAttachmentBody(byte[] value) {
-        return new JAXBElement<byte[]>(_EmailFileAttachmentBody_QNAME, byte[].class, EmailFileAttachment.class, ((byte[]) value));
+    @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "references", scope = SingleEmailMessage.class)
+    public JAXBElement<String> createSingleEmailMessageReferences(String value) {
+        return new JAXBElement<String>(_SingleEmailMessageReferences_QNAME, String.class, SingleEmailMessage.class, value);
     }
 
 }

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SforceService.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SforceService.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SforceService.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -5,18 +5,18 @@
 
 package com.sforce.soap.partner;
 
+import java.net.MalformedURLException;
 import java.net.URL;
-
 import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
 import javax.xml.ws.WebEndpoint;
 import javax.xml.ws.WebServiceClient;
 import javax.xml.ws.WebServiceFeature;
+import javax.xml.ws.Service;
 
 /**
- * This class was generated by Apache CXF 2.2.5
- * Thu Apr 01 14:35:01 EDT 2010
- * Generated source version: 2.2.5
+ * This class was generated by Apache CXF 2.2.12
+ * Thu Sep 01 08:54:15 CDT 2011
+ * Generated source version: 2.2.12
  * 
  */
 
@@ -24,7 +24,7 @@
 @WebServiceClient(name = "SforceService", wsdlLocation = SforceService.PARTNER_WSDL,targetNamespace = "urn:partner.soap.sforce.com") 
 public class SforceService extends Service {
 
-    public static final String PARTNER_WSDL = "partner_v17.wsdl"; //$NON-NLS-1$
+    public static final String PARTNER_WSDL = "partner_v22.wsdl"; //$NON-NLS-1$
 	public final static URL WSDL_LOCATION;
     public final static QName SERVICE = new QName("urn:partner.soap.sforce.com", "SforceService"); //$NON-NLS-1$ //$NON-NLS-2$
     public final static QName Soap = new QName("urn:partner.soap.sforce.com", "Soap");//$NON-NLS-1$ //$NON-NLS-2$
@@ -47,6 +47,7 @@
     public SforceService() {
         super(WSDL_LOCATION, SERVICE);
     }
+    
 
     /**
      * 

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Soap.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Soap.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Soap.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -9,57 +9,50 @@
 import javax.xml.ws.ResponseWrapper;
 
 /**
- * This class was generated by Apache CXF 2.2.5
- * Thu Apr 01 14:35:01 EDT 2010
- * Generated source version: 2.2.5
+ * This class was generated by Apache CXF 2.2.12
+ * Thu Sep 01 08:54:15 CDT 2011
+ * Generated source version: 2.2.12
  * 
  */
  
 @WebService(targetNamespace = "urn:partner.soap.sforce.com", name = "Soap")
- at XmlSeeAlso({ObjectFactory.class,com.sforce.soap.partner.fault.ObjectFactory.class,com.sforce.soap.partner.sobject.ObjectFactory.class})
+ at XmlSeeAlso({ObjectFactory.class, com.sforce.soap.partner.fault.ObjectFactory.class, com.sforce.soap.partner.sobject.ObjectFactory.class})
 public interface Soap {
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "merge", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Merge")
-    @ResponseWrapper(localName = "mergeResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.MergeResponse")
     @WebMethod
+    @ResponseWrapper(localName = "mergeResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.MergeResponse")
     public java.util.List<com.sforce.soap.partner.MergeResult> merge(
         @WebParam(name = "request", targetNamespace = "urn:partner.soap.sforce.com")
-        java.util.List<com.sforce.soap.partner.MergeRequest> request,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        java.util.List<com.sforce.soap.partner.MergeRequest> request
     ) throws InvalidFieldFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "getUserInfo", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetUserInfo")
-    @ResponseWrapper(localName = "getUserInfoResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetUserInfoResponse")
     @WebMethod
-    public com.sforce.soap.partner.GetUserInfoResult getUserInfo(
-    		@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-            SessionHeader sessionHeader
-            ) throws UnexpectedErrorFault;
+    @ResponseWrapper(localName = "getUserInfoResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetUserInfoResponse")
+    public com.sforce.soap.partner.GetUserInfoResult getUserInfo() throws UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "describeSoftphoneLayout", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeSoftphoneLayout")
-    @ResponseWrapper(localName = "describeSoftphoneLayoutResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeSoftphoneLayoutResponse")
     @WebMethod
+    @ResponseWrapper(localName = "describeSoftphoneLayoutResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeSoftphoneLayoutResponse")
     public com.sforce.soap.partner.DescribeSoftphoneLayoutResult describeSoftphoneLayout() throws UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "update", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Update")
-    @ResponseWrapper(localName = "updateResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.UpdateResponse")
     @WebMethod
+    @ResponseWrapper(localName = "updateResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.UpdateResponse")
     public java.util.List<com.sforce.soap.partner.SaveResult> update(
         @WebParam(name = "sObjects", targetNamespace = "urn:partner.soap.sforce.com")
-        java.util.List<com.sforce.soap.partner.sobject.SObject> sObjects,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        java.util.List<com.sforce.soap.partner.sobject.SObject> sObjects
     ) throws InvalidFieldFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "setPassword", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.SetPassword")
-    @ResponseWrapper(localName = "setPasswordResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.SetPasswordResponse")
     @WebMethod
+    @ResponseWrapper(localName = "setPasswordResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.SetPasswordResponse")
     public com.sforce.soap.partner.SetPasswordResult setPassword(
         @WebParam(name = "userId", targetNamespace = "urn:partner.soap.sforce.com")
         java.lang.String userId,
@@ -68,57 +61,49 @@
     ) throws InvalidNewPasswordFault, InvalidIdFault, UnexpectedErrorFault;
 
     @RequestWrapper(localName = "logout", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Logout")
-    @ResponseWrapper(localName = "logoutResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.LogoutResponse")
     @WebMethod
-    public void logout(
-    		@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-            SessionHeader sessionHeader) throws UnexpectedErrorFault;
+    @ResponseWrapper(localName = "logoutResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.LogoutResponse")
+    public void logout() throws UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "retrieve", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Retrieve")
-    @ResponseWrapper(localName = "retrieveResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.RetrieveResponse")
     @WebMethod
+    @ResponseWrapper(localName = "retrieveResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.RetrieveResponse")
     public java.util.List<com.sforce.soap.partner.sobject.SObject> retrieve(
         @WebParam(name = "fieldList", targetNamespace = "urn:partner.soap.sforce.com")
         java.lang.String fieldList,
         @WebParam(name = "sObjectType", targetNamespace = "urn:partner.soap.sforce.com")
         java.lang.String sObjectType,
         @WebParam(name = "ids", targetNamespace = "urn:partner.soap.sforce.com")
-        java.util.List<java.lang.String> ids,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        java.util.List<java.lang.String> ids
     ) throws InvalidFieldFault, MalformedQueryFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "queryAll", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.QueryAll")
-    @ResponseWrapper(localName = "queryAllResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.QueryAllResponse")
     @WebMethod
+    @ResponseWrapper(localName = "queryAllResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.QueryAllResponse")
     public com.sforce.soap.partner.QueryResult queryAll(
         @WebParam(name = "queryString", targetNamespace = "urn:partner.soap.sforce.com")
-        java.lang.String queryString,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        java.lang.String queryString
     ) throws InvalidFieldFault, MalformedQueryFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault, InvalidQueryLocatorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "getUpdated", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetUpdated")
-    @ResponseWrapper(localName = "getUpdatedResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetUpdatedResponse")
     @WebMethod
+    @ResponseWrapper(localName = "getUpdatedResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetUpdatedResponse")
     public com.sforce.soap.partner.GetUpdatedResult getUpdated(
         @WebParam(name = "sObjectType", targetNamespace = "urn:partner.soap.sforce.com")
         java.lang.String sObjectType,
         @WebParam(name = "startDate", targetNamespace = "urn:partner.soap.sforce.com")
         javax.xml.datatype.XMLGregorianCalendar startDate,
         @WebParam(name = "endDate", targetNamespace = "urn:partner.soap.sforce.com")
-        javax.xml.datatype.XMLGregorianCalendar endDate,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        javax.xml.datatype.XMLGregorianCalendar endDate
     ) throws InvalidSObjectFault, UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "undelete", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Undelete")
-    @ResponseWrapper(localName = "undeleteResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.UndeleteResponse")
     @WebMethod
+    @ResponseWrapper(localName = "undeleteResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.UndeleteResponse")
     public java.util.List<com.sforce.soap.partner.UndeleteResult> undelete(
         @WebParam(name = "ids", targetNamespace = "urn:partner.soap.sforce.com")
         java.util.List<java.lang.String> ids
@@ -126,19 +111,17 @@
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "create", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Create")
-    @ResponseWrapper(localName = "createResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.CreateResponse")
     @WebMethod
+    @ResponseWrapper(localName = "createResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.CreateResponse")
     public java.util.List<com.sforce.soap.partner.SaveResult> create(
         @WebParam(name = "sObjects", targetNamespace = "urn:partner.soap.sforce.com")
-        java.util.List<com.sforce.soap.partner.sobject.SObject> sObjects,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        java.util.List<com.sforce.soap.partner.sobject.SObject> sObjects
     ) throws InvalidFieldFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "sendEmail", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.SendEmail")
-    @ResponseWrapper(localName = "sendEmailResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.SendEmailResponse")
     @WebMethod
+    @ResponseWrapper(localName = "sendEmailResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.SendEmailResponse")
     public java.util.List<com.sforce.soap.partner.SendEmailResult> sendEmail(
         @WebParam(name = "messages", targetNamespace = "urn:partner.soap.sforce.com")
         java.util.List<com.sforce.soap.partner.Email> messages
@@ -146,8 +129,8 @@
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "search", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Search")
-    @ResponseWrapper(localName = "searchResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.SearchResponse")
     @WebMethod
+    @ResponseWrapper(localName = "searchResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.SearchResponse")
     public com.sforce.soap.partner.SearchResult search(
         @WebParam(name = "searchString", targetNamespace = "urn:partner.soap.sforce.com")
         java.lang.String searchString
@@ -155,43 +138,50 @@
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "query", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Query")
-    @ResponseWrapper(localName = "queryResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.QueryResponse")
     @WebMethod
+    @ResponseWrapper(localName = "queryResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.QueryResponse")
     public com.sforce.soap.partner.QueryResult query(
         @WebParam(name = "queryString", targetNamespace = "urn:partner.soap.sforce.com")
-        java.lang.String queryString,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        java.lang.String queryString
     ) throws InvalidFieldFault, MalformedQueryFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault, InvalidQueryLocatorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "getDeleted", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetDeleted")
-    @ResponseWrapper(localName = "getDeletedResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetDeletedResponse")
     @WebMethod
+    @ResponseWrapper(localName = "getDeletedResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetDeletedResponse")
     public com.sforce.soap.partner.GetDeletedResult getDeleted(
         @WebParam(name = "sObjectType", targetNamespace = "urn:partner.soap.sforce.com")
         java.lang.String sObjectType,
         @WebParam(name = "startDate", targetNamespace = "urn:partner.soap.sforce.com")
         javax.xml.datatype.XMLGregorianCalendar startDate,
         @WebParam(name = "endDate", targetNamespace = "urn:partner.soap.sforce.com")
-        javax.xml.datatype.XMLGregorianCalendar endDate,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        javax.xml.datatype.XMLGregorianCalendar endDate
     ) throws InvalidSObjectFault, UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "process", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Process")
-    @ResponseWrapper(localName = "processResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.ProcessResponse")
     @WebMethod
+    @ResponseWrapper(localName = "processResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.ProcessResponse")
     public java.util.List<com.sforce.soap.partner.ProcessResult> process(
         @WebParam(name = "actions", targetNamespace = "urn:partner.soap.sforce.com")
         java.util.List<com.sforce.soap.partner.ProcessRequest> actions
     ) throws InvalidIdFault, UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
+    @RequestWrapper(localName = "describeDataCategoryGroupStructures", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeDataCategoryGroupStructures")
+    @WebMethod
+    @ResponseWrapper(localName = "describeDataCategoryGroupStructuresResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeDataCategoryGroupStructuresResponse")
+    public java.util.List<com.sforce.soap.partner.DescribeDataCategoryGroupStructureResult> describeDataCategoryGroupStructures(
+        @WebParam(name = "pairs", targetNamespace = "urn:partner.soap.sforce.com")
+        java.util.List<com.sforce.soap.partner.DataCategoryGroupSobjectTypePair> pairs,
+        @WebParam(name = "topCategoriesOnly", targetNamespace = "urn:partner.soap.sforce.com")
+        boolean topCategoriesOnly
+    ) throws InvalidSObjectFault, UnexpectedErrorFault;
+
+    @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "resetPassword", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.ResetPassword")
-    @ResponseWrapper(localName = "resetPasswordResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.ResetPasswordResponse")
     @WebMethod
+    @ResponseWrapper(localName = "resetPasswordResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.ResetPasswordResponse")
     public com.sforce.soap.partner.ResetPasswordResult resetPassword(
         @WebParam(name = "userId", targetNamespace = "urn:partner.soap.sforce.com")
         java.lang.String userId
@@ -199,17 +189,14 @@
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "describeGlobal", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeGlobal")
-    @ResponseWrapper(localName = "describeGlobalResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeGlobalResponse")
     @WebMethod
-    public com.sforce.soap.partner.DescribeGlobalResult describeGlobal(
-    		@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-            SessionHeader sessionHeader
-            ) throws UnexpectedErrorFault;
+    @ResponseWrapper(localName = "describeGlobalResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeGlobalResponse")
+    public com.sforce.soap.partner.DescribeGlobalResult describeGlobal() throws UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
-    @RequestWrapper(localName = "describeLayout", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.MydescribeLayout")
-    @ResponseWrapper(localName = "describeLayoutResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeLayoutResponse")
+    @RequestWrapper(localName = "describeLayout", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeLayout")
     @WebMethod
+    @ResponseWrapper(localName = "describeLayoutResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeLayoutResponse")
     public com.sforce.soap.partner.DescribeLayoutResult describeLayout(
         @WebParam(name = "sObjectType", targetNamespace = "urn:partner.soap.sforce.com")
         java.lang.String sObjectType,
@@ -219,23 +206,29 @@
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "describeTabs", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeTabs")
-    @ResponseWrapper(localName = "describeTabsResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeTabsResponse")
     @WebMethod
+    @ResponseWrapper(localName = "describeTabsResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeTabsResponse")
     public java.util.List<com.sforce.soap.partner.DescribeTabSetResult> describeTabs() throws UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
+    @RequestWrapper(localName = "describeDataCategoryGroups", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeDataCategoryGroups")
+    @WebMethod
+    @ResponseWrapper(localName = "describeDataCategoryGroupsResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeDataCategoryGroupsResponse")
+    public java.util.List<com.sforce.soap.partner.DescribeDataCategoryGroupResult> describeDataCategoryGroups(
+        @WebParam(name = "sObjectType", targetNamespace = "urn:partner.soap.sforce.com")
+        java.util.List<java.lang.String> sObjectType
+    ) throws InvalidSObjectFault, UnexpectedErrorFault;
+
+    @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "getServerTimestamp", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetServerTimestamp")
-    @ResponseWrapper(localName = "getServerTimestampResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetServerTimestampResponse")
     @WebMethod
-    public com.sforce.soap.partner.GetServerTimestampResult getServerTimestamp(
-    		@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-            SessionHeader sessionHeader
-            ) throws UnexpectedErrorFault;
+    @ResponseWrapper(localName = "getServerTimestampResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetServerTimestampResponse")
+    public com.sforce.soap.partner.GetServerTimestampResult getServerTimestamp() throws UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "invalidateSessions", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.InvalidateSessions")
-    @ResponseWrapper(localName = "invalidateSessionsResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.InvalidateSessionsResponse")
     @WebMethod
+    @ResponseWrapper(localName = "invalidateSessionsResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.InvalidateSessionsResponse")
     public java.util.List<com.sforce.soap.partner.InvalidateSessionsResult> invalidateSessions(
         @WebParam(name = "sessionIds", targetNamespace = "urn:partner.soap.sforce.com")
         java.util.List<java.lang.String> sessionIds
@@ -243,19 +236,17 @@
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "describeSObject", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeSObject")
-    @ResponseWrapper(localName = "describeSObjectResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeSObjectResponse")
     @WebMethod
+    @ResponseWrapper(localName = "describeSObjectResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeSObjectResponse")
     public com.sforce.soap.partner.DescribeSObjectResult describeSObject(
         @WebParam(name = "sObjectType", targetNamespace = "urn:partner.soap.sforce.com")
-        java.lang.String sObjectType,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        java.lang.String sObjectType
     ) throws InvalidSObjectFault, UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "login", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Login")
-    @ResponseWrapper(localName = "loginResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.LoginResponse")
     @WebMethod
+    @ResponseWrapper(localName = "loginResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.LoginResponse")
     public com.sforce.soap.partner.LoginResult login(
         @WebParam(name = "username", targetNamespace = "urn:partner.soap.sforce.com")
         java.lang.String username,
@@ -265,30 +256,26 @@
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "queryMore", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.QueryMore")
-    @ResponseWrapper(localName = "queryMoreResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.QueryMoreResponse")
     @WebMethod
+    @ResponseWrapper(localName = "queryMoreResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.QueryMoreResponse")
     public com.sforce.soap.partner.QueryResult queryMore(
         @WebParam(name = "queryLocator", targetNamespace = "urn:partner.soap.sforce.com")
-        java.lang.String queryLocator,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        java.lang.String queryLocator
     ) throws InvalidFieldFault, UnexpectedErrorFault, InvalidQueryLocatorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "describeSObjects", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeSObjects")
-    @ResponseWrapper(localName = "describeSObjectsResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeSObjectsResponse")
     @WebMethod
+    @ResponseWrapper(localName = "describeSObjectsResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeSObjectsResponse")
     public java.util.List<com.sforce.soap.partner.DescribeSObjectResult> describeSObjects(
         @WebParam(name = "sObjectType", targetNamespace = "urn:partner.soap.sforce.com")
-        java.util.List<java.lang.String> sObjectType,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        java.util.List<java.lang.String> sObjectType
     ) throws InvalidSObjectFault, UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "emptyRecycleBin", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.EmptyRecycleBin")
-    @ResponseWrapper(localName = "emptyRecycleBinResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.EmptyRecycleBinResponse")
     @WebMethod
+    @ResponseWrapper(localName = "emptyRecycleBinResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.EmptyRecycleBinResponse")
     public java.util.List<com.sforce.soap.partner.EmptyRecycleBinResult> emptyRecycleBin(
         @WebParam(name = "ids", targetNamespace = "urn:partner.soap.sforce.com")
         java.util.List<java.lang.String> ids
@@ -296,21 +283,19 @@
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "upsert", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Upsert")
-    @ResponseWrapper(localName = "upsertResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.UpsertResponse")
     @WebMethod
+    @ResponseWrapper(localName = "upsertResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.UpsertResponse")
     public java.util.List<com.sforce.soap.partner.UpsertResult> upsert(
         @WebParam(name = "externalIDFieldName", targetNamespace = "urn:partner.soap.sforce.com")
         java.lang.String externalIDFieldName,
         @WebParam(name = "sObjects", targetNamespace = "urn:partner.soap.sforce.com")
-        java.util.List<com.sforce.soap.partner.sobject.SObject> sObjects,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        java.util.List<com.sforce.soap.partner.sobject.SObject> sObjects
     ) throws InvalidFieldFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault;
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "convertLead", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.ConvertLead")
-    @ResponseWrapper(localName = "convertLeadResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.ConvertLeadResponse")
     @WebMethod
+    @ResponseWrapper(localName = "convertLeadResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.ConvertLeadResponse")
     public java.util.List<com.sforce.soap.partner.LeadConvertResult> convertLead(
         @WebParam(name = "leadConverts", targetNamespace = "urn:partner.soap.sforce.com")
         java.util.List<com.sforce.soap.partner.LeadConvert> leadConverts
@@ -318,12 +303,10 @@
 
     @WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
     @RequestWrapper(localName = "delete", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Delete")
-    @ResponseWrapper(localName = "deleteResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DeleteResponse")
     @WebMethod
+    @ResponseWrapper(localName = "deleteResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DeleteResponse")
     public java.util.List<com.sforce.soap.partner.DeleteResult> delete(
         @WebParam(name = "ids", targetNamespace = "urn:partner.soap.sforce.com")
-        java.util.List<java.lang.String> ids,
-        @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
-        SessionHeader sessionHeader
+        java.util.List<java.lang.String> ids
     ) throws UnexpectedErrorFault;
 }

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/StatusCode.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/StatusCode.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/StatusCode.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -13,6 +13,7 @@
  * <pre>
  * &lt;simpleType name="StatusCode">
  *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     &lt;enumeration value="ALL_OR_NONE_OPERATION_ROLLED_BACK"/>
  *     &lt;enumeration value="ALREADY_IN_PROCESS"/>
  *     &lt;enumeration value="ASSIGNEE_TYPE_REQUIRED"/>
  *     &lt;enumeration value="BAD_CUSTOM_ENTITY_PARENT_DOMAIN"/>
@@ -64,6 +65,7 @@
  *     &lt;enumeration value="ERROR_IN_MAILER"/>
  *     &lt;enumeration value="FAILED_ACTIVATION"/>
  *     &lt;enumeration value="FIELD_CUSTOM_VALIDATION_EXCEPTION"/>
+ *     &lt;enumeration value="FIELD_FILTER_VALIDATION_EXCEPTION"/>
  *     &lt;enumeration value="FIELD_INTEGRITY_EXCEPTION"/>
  *     &lt;enumeration value="FILTERED_LOOKUP_LIMIT_EXCEEDED"/>
  *     &lt;enumeration value="HTML_FILE_UPLOAD_NOT_ALLOWED"/>
@@ -83,6 +85,8 @@
  *     &lt;enumeration value="INVALID_CURRENCY_CONV_RATE"/>
  *     &lt;enumeration value="INVALID_CURRENCY_CORP_RATE"/>
  *     &lt;enumeration value="INVALID_CURRENCY_ISO"/>
+ *     &lt;enumeration value="INVALID_DATA_CATEGORY_GROUP_REFERENCE"/>
+ *     &lt;enumeration value="INVALID_DATA_URI"/>
  *     &lt;enumeration value="INVALID_EMAIL_ADDRESS"/>
  *     &lt;enumeration value="INVALID_EMPTY_KEY_OWNER"/>
  *     &lt;enumeration value="INVALID_FIELD"/>
@@ -100,6 +104,7 @@
  *     &lt;enumeration value="INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST"/>
  *     &lt;enumeration value="INVALID_PARTNER_NETWORK_STATUS"/>
  *     &lt;enumeration value="INVALID_PERSON_ACCOUNT_OPERATION"/>
+ *     &lt;enumeration value="INVALID_READ_ONLY_USER_DML"/>
  *     &lt;enumeration value="INVALID_SAVE_AS_ACTIVITY_FLAG"/>
  *     &lt;enumeration value="INVALID_SESSION_ID"/>
  *     &lt;enumeration value="INVALID_SETUP_OWNER"/>
@@ -140,14 +145,18 @@
  *     &lt;enumeration value="NUMBER_OUTSIDE_VALID_RANGE"/>
  *     &lt;enumeration value="NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED"/>
  *     &lt;enumeration value="OPTED_OUT_OF_MASS_MAIL"/>
+ *     &lt;enumeration value="OP_WITH_INVALID_USER_TYPE_EXCEPTION"/>
  *     &lt;enumeration value="PACKAGE_LICENSE_REQUIRED"/>
+ *     &lt;enumeration value="PORTAL_NO_ACCESS"/>
  *     &lt;enumeration value="PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT"/>
  *     &lt;enumeration value="PRIVATE_CONTACT_ON_ASSET"/>
  *     &lt;enumeration value="RECORD_IN_USE_BY_WORKFLOW"/>
  *     &lt;enumeration value="REQUEST_RUNNING_TOO_LONG"/>
+ *     &lt;enumeration value="REQUIRED_FEATURE_MISSING"/>
  *     &lt;enumeration value="REQUIRED_FIELD_MISSING"/>
  *     &lt;enumeration value="SELF_REFERENCE_FROM_TRIGGER"/>
  *     &lt;enumeration value="SHARE_NEEDED_FOR_CHILD_OWNER"/>
+ *     &lt;enumeration value="SINGLE_EMAIL_LIMIT_EXCEEDED"/>
  *     &lt;enumeration value="STANDARD_PRICE_NOT_DEFINED"/>
  *     &lt;enumeration value="STORAGE_LIMIT_EXCEEDED"/>
  *     &lt;enumeration value="STRING_TOO_LONG"/>
@@ -165,6 +174,8 @@
  *     &lt;enumeration value="UNSPECIFIED_EMAIL_ADDRESS"/>
  *     &lt;enumeration value="UNSUPPORTED_APEX_TRIGGER_OPERATON"/>
  *     &lt;enumeration value="UNVERIFIED_SENDER_ADDRESS"/>
+ *     &lt;enumeration value="USER_OWNS_PORTAL_ACCOUNT_EXCEPTION"/>
+ *     &lt;enumeration value="USER_WITH_APEX_SHARES_EXCEPTION"/>
  *     &lt;enumeration value="WEBLINK_SIZE_LIMIT_EXCEEDED"/>
  *     &lt;enumeration value="WRONG_CONTROLLER_TYPE"/>
  *   &lt;/restriction>
@@ -176,6 +187,7 @@
 @XmlEnum
 public enum StatusCode {
 
+    ALL_OR_NONE_OPERATION_ROLLED_BACK,
     ALREADY_IN_PROCESS,
     ASSIGNEE_TYPE_REQUIRED,
     BAD_CUSTOM_ENTITY_PARENT_DOMAIN,
@@ -227,6 +239,7 @@
     ERROR_IN_MAILER,
     FAILED_ACTIVATION,
     FIELD_CUSTOM_VALIDATION_EXCEPTION,
+    FIELD_FILTER_VALIDATION_EXCEPTION,
     FIELD_INTEGRITY_EXCEPTION,
     FILTERED_LOOKUP_LIMIT_EXCEEDED,
     HTML_FILE_UPLOAD_NOT_ALLOWED,
@@ -246,6 +259,8 @@
     INVALID_CURRENCY_CONV_RATE,
     INVALID_CURRENCY_CORP_RATE,
     INVALID_CURRENCY_ISO,
+    INVALID_DATA_CATEGORY_GROUP_REFERENCE,
+    INVALID_DATA_URI,
     INVALID_EMAIL_ADDRESS,
     INVALID_EMPTY_KEY_OWNER,
     INVALID_FIELD,
@@ -263,6 +278,7 @@
     INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST,
     INVALID_PARTNER_NETWORK_STATUS,
     INVALID_PERSON_ACCOUNT_OPERATION,
+    INVALID_READ_ONLY_USER_DML,
     INVALID_SAVE_AS_ACTIVITY_FLAG,
     INVALID_SESSION_ID,
     INVALID_SETUP_OWNER,
@@ -303,14 +319,18 @@
     NUMBER_OUTSIDE_VALID_RANGE,
     NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED,
     OPTED_OUT_OF_MASS_MAIL,
+    OP_WITH_INVALID_USER_TYPE_EXCEPTION,
     PACKAGE_LICENSE_REQUIRED,
+    PORTAL_NO_ACCESS,
     PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT,
     PRIVATE_CONTACT_ON_ASSET,
     RECORD_IN_USE_BY_WORKFLOW,
     REQUEST_RUNNING_TOO_LONG,
+    REQUIRED_FEATURE_MISSING,
     REQUIRED_FIELD_MISSING,
     SELF_REFERENCE_FROM_TRIGGER,
     SHARE_NEEDED_FOR_CHILD_OWNER,
+    SINGLE_EMAIL_LIMIT_EXCEEDED,
     STANDARD_PRICE_NOT_DEFINED,
     STORAGE_LIMIT_EXCEEDED,
     STRING_TOO_LONG,
@@ -328,6 +348,8 @@
     UNSPECIFIED_EMAIL_ADDRESS,
     UNSUPPORTED_APEX_TRIGGER_OPERATON,
     UNVERIFIED_SENDER_ADDRESS,
+    USER_OWNS_PORTAL_ACCOUNT_EXCEPTION,
+    USER_WITH_APEX_SHARES_EXCEPTION,
     WEBLINK_SIZE_LIMIT_EXCEEDED,
     WRONG_CONTROLLER_TYPE;
 

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UnexpectedErrorFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UnexpectedErrorFault.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UnexpectedErrorFault.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -5,15 +5,15 @@
 
 
 /**
- * This class was generated by Apache CXF 2.2.5
- * Thu Apr 01 14:35:01 EDT 2010
- * Generated source version: 2.2.5
+ * This class was generated by Apache CXF 2.2.12
+ * Thu Sep 01 08:54:15 CDT 2011
+ * Generated source version: 2.2.12
  * 
  */
 
 @WebFault(name = "UnexpectedErrorFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
 public class UnexpectedErrorFault extends Exception {
-    public static final long serialVersionUID = 20100401143501L;
+    public static final long serialVersionUID = 20110901085415L;
     
     private com.sforce.soap.partner.fault.UnexpectedErrorFault unexpectedErrorFault;
 

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ExceptionCode.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ExceptionCode.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ExceptionCode.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -21,6 +21,9 @@
  *     &lt;enumeration value="CLIENT_NOT_ACCESSIBLE_FOR_USER"/>
  *     &lt;enumeration value="CLIENT_REQUIRE_UPDATE_FOR_USER"/>
  *     &lt;enumeration value="CUSTOM_METADATA_LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="DATACLOUD_API_CLIENT_EXCEPTION"/>
+ *     &lt;enumeration value="DATACLOUD_API_SERVER_EXCEPTION"/>
+ *     &lt;enumeration value="DATACLOUD_API_UNAVAILABLE"/>
  *     &lt;enumeration value="DUPLICATE_VALUE"/>
  *     &lt;enumeration value="EMAIL_BATCH_SIZE_LIMIT_EXCEEDED"/>
  *     &lt;enumeration value="EMAIL_TO_CASE_INVALID_ROUTING"/>
@@ -32,6 +35,7 @@
  *     &lt;enumeration value="EXCEEDED_MAX_TYPES_LIMIT"/>
  *     &lt;enumeration value="EXCEEDED_QUOTA"/>
  *     &lt;enumeration value="FUNCTIONALITY_NOT_ENABLED"/>
+ *     &lt;enumeration value="FUNCTIONALITY_TEMPORARILY_UNAVAILABLE"/>
  *     &lt;enumeration value="INACTIVE_OWNER_OR_USER"/>
  *     &lt;enumeration value="INACTIVE_PORTAL"/>
  *     &lt;enumeration value="INSUFFICIENT_ACCESS"/>
@@ -60,6 +64,9 @@
  *     &lt;enumeration value="INVALID_SSO_GATEWAY_URL"/>
  *     &lt;enumeration value="INVALID_TYPE"/>
  *     &lt;enumeration value="INVALID_TYPE_FOR_OPERATION"/>
+ *     &lt;enumeration value="JIGSAW_IMPORT_LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="JIGSAW_REQUEST_NOT_SUPPORTED"/>
+ *     &lt;enumeration value="JSON_PARSER_ERROR"/>
  *     &lt;enumeration value="LIMIT_EXCEEDED"/>
  *     &lt;enumeration value="LOGIN_CHALLENGE_ISSUED"/>
  *     &lt;enumeration value="LOGIN_CHALLENGE_PENDING"/>
@@ -74,6 +81,8 @@
  *     &lt;enumeration value="NO_SOFTPHONE_LAYOUT"/>
  *     &lt;enumeration value="NUMBER_OUTSIDE_VALID_RANGE"/>
  *     &lt;enumeration value="OPERATION_TOO_LARGE"/>
+ *     &lt;enumeration value="ORG_IN_MAINTENANCE"/>
+ *     &lt;enumeration value="ORG_IS_DOT_ORG"/>
  *     &lt;enumeration value="ORG_LOCKED"/>
  *     &lt;enumeration value="ORG_NOT_OWNED_BY_INSTANCE"/>
  *     &lt;enumeration value="PASSWORD_LOCKOUT"/>
@@ -83,12 +92,17 @@
  *     &lt;enumeration value="REQUEST_LIMIT_EXCEEDED"/>
  *     &lt;enumeration value="REQUEST_RUNNING_TOO_LONG"/>
  *     &lt;enumeration value="SERVER_UNAVAILABLE"/>
+ *     &lt;enumeration value="SOCIALCRM_FEEDSERVICE_API_CLIENT_EXCEPTION"/>
+ *     &lt;enumeration value="SOCIALCRM_FEEDSERVICE_API_SERVER_EXCEPTION"/>
+ *     &lt;enumeration value="SOCIALCRM_FEEDSERVICE_API_UNAVAILABLE"/>
  *     &lt;enumeration value="SSO_SERVICE_DOWN"/>
  *     &lt;enumeration value="TOO_MANY_APEX_REQUESTS"/>
  *     &lt;enumeration value="TRIAL_EXPIRED"/>
  *     &lt;enumeration value="UNKNOWN_EXCEPTION"/>
  *     &lt;enumeration value="UNSUPPORTED_API_VERSION"/>
  *     &lt;enumeration value="UNSUPPORTED_CLIENT"/>
+ *     &lt;enumeration value="UNSUPPORTED_MEDIA_TYPE"/>
+ *     &lt;enumeration value="XML_PARSER_ERROR"/>
  *   &lt;/restriction>
  * &lt;/simpleType>
  * </pre>
@@ -106,6 +120,9 @@
     CLIENT_NOT_ACCESSIBLE_FOR_USER,
     CLIENT_REQUIRE_UPDATE_FOR_USER,
     CUSTOM_METADATA_LIMIT_EXCEEDED,
+    DATACLOUD_API_CLIENT_EXCEPTION,
+    DATACLOUD_API_SERVER_EXCEPTION,
+    DATACLOUD_API_UNAVAILABLE,
     DUPLICATE_VALUE,
     EMAIL_BATCH_SIZE_LIMIT_EXCEEDED,
     EMAIL_TO_CASE_INVALID_ROUTING,
@@ -117,6 +134,7 @@
     EXCEEDED_MAX_TYPES_LIMIT,
     EXCEEDED_QUOTA,
     FUNCTIONALITY_NOT_ENABLED,
+    FUNCTIONALITY_TEMPORARILY_UNAVAILABLE,
     INACTIVE_OWNER_OR_USER,
     INACTIVE_PORTAL,
     INSUFFICIENT_ACCESS,
@@ -145,6 +163,9 @@
     INVALID_SSO_GATEWAY_URL,
     INVALID_TYPE,
     INVALID_TYPE_FOR_OPERATION,
+    JIGSAW_IMPORT_LIMIT_EXCEEDED,
+    JIGSAW_REQUEST_NOT_SUPPORTED,
+    JSON_PARSER_ERROR,
     LIMIT_EXCEEDED,
     LOGIN_CHALLENGE_ISSUED,
     LOGIN_CHALLENGE_PENDING,
@@ -159,6 +180,8 @@
     NO_SOFTPHONE_LAYOUT,
     NUMBER_OUTSIDE_VALID_RANGE,
     OPERATION_TOO_LARGE,
+    ORG_IN_MAINTENANCE,
+    ORG_IS_DOT_ORG,
     ORG_LOCKED,
     ORG_NOT_OWNED_BY_INSTANCE,
     PASSWORD_LOCKOUT,
@@ -168,12 +191,17 @@
     REQUEST_LIMIT_EXCEEDED,
     REQUEST_RUNNING_TOO_LONG,
     SERVER_UNAVAILABLE,
+    SOCIALCRM_FEEDSERVICE_API_CLIENT_EXCEPTION,
+    SOCIALCRM_FEEDSERVICE_API_SERVER_EXCEPTION,
+    SOCIALCRM_FEEDSERVICE_API_UNAVAILABLE,
     SSO_SERVICE_DOWN,
     TOO_MANY_APEX_REQUESTS,
     TRIAL_EXPIRED,
     UNKNOWN_EXCEPTION,
     UNSUPPORTED_API_VERSION,
-    UNSUPPORTED_CLIENT;
+    UNSUPPORTED_CLIENT,
+    UNSUPPORTED_MEDIA_TYPE,
+    XML_PARSER_ERROR;
 
     public String value() {
         return name();

Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ObjectFactory.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ObjectFactory.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ObjectFactory.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -43,27 +43,27 @@
     }
 
     /**
-     * Create an instance of {@link ApiFault }
+     * Create an instance of {@link InvalidFieldFault }
      * 
      */
-    public ApiFault createApiFault() {
-        return new ApiFault();
+    public InvalidFieldFault createInvalidFieldFault() {
+        return new InvalidFieldFault();
     }
 
     /**
-     * Create an instance of {@link MalformedSearchFault }
+     * Create an instance of {@link InvalidIdFault }
      * 
      */
-    public MalformedSearchFault createMalformedSearchFault() {
-        return new MalformedSearchFault();
+    public InvalidIdFault createInvalidIdFault() {
+        return new InvalidIdFault();
     }
 
     /**
-     * Create an instance of {@link InvalidIdFault }
+     * Create an instance of {@link InvalidSObjectFault }
      * 
      */
-    public InvalidIdFault createInvalidIdFault() {
-        return new InvalidIdFault();
+    public InvalidSObjectFault createInvalidSObjectFault() {
+        return new InvalidSObjectFault();
     }
 
     /**
@@ -75,59 +75,59 @@
     }
 
     /**
-     * Create an instance of {@link InvalidSObjectFault }
+     * Create an instance of {@link InvalidNewPasswordFault }
      * 
      */
-    public InvalidSObjectFault createInvalidSObjectFault() {
-        return new InvalidSObjectFault();
+    public InvalidNewPasswordFault createInvalidNewPasswordFault() {
+        return new InvalidNewPasswordFault();
     }
 
     /**
-     * Create an instance of {@link InvalidFieldFault }
+     * Create an instance of {@link LoginFault }
      * 
      */
-    public InvalidFieldFault createInvalidFieldFault() {
-        return new InvalidFieldFault();
+    public LoginFault createLoginFault() {
+        return new LoginFault();
     }
 
     /**
-     * Create an instance of {@link UnexpectedErrorFault }
+     * Create an instance of {@link MalformedSearchFault }
      * 
      */
-    public UnexpectedErrorFault createUnexpectedErrorFault() {
-        return new UnexpectedErrorFault();
+    public MalformedSearchFault createMalformedSearchFault() {
+        return new MalformedSearchFault();
     }
 
     /**
-     * Create an instance of {@link InvalidQueryLocatorFault }
+     * Create an instance of {@link ApiFault }
      * 
      */
-    public InvalidQueryLocatorFault createInvalidQueryLocatorFault() {
-        return new InvalidQueryLocatorFault();
+    public ApiFault createApiFault() {
+        return new ApiFault();
     }
 
     /**
-     * Create an instance of {@link ApiQueryFault }
+     * Create an instance of {@link InvalidQueryLocatorFault }
      * 
      */
-    public ApiQueryFault createApiQueryFault() {
-        return new ApiQueryFault();
+    public InvalidQueryLocatorFault createInvalidQueryLocatorFault() {
+        return new InvalidQueryLocatorFault();
     }
 
     /**
-     * Create an instance of {@link LoginFault }
+     * Create an instance of {@link UnexpectedErrorFault }
      * 
      */
-    public LoginFault createLoginFault() {
-        return new LoginFault();
+    public UnexpectedErrorFault createUnexpectedErrorFault() {
+        return new UnexpectedErrorFault();
     }
 
     /**
-     * Create an instance of {@link InvalidNewPasswordFault }
+     * Create an instance of {@link ApiQueryFault }
      * 
      */
-    public InvalidNewPasswordFault createInvalidNewPasswordFault() {
-        return new InvalidNewPasswordFault();
+    public ApiQueryFault createApiQueryFault() {
+        return new ApiQueryFault();
     }
 
     /**

Deleted: trunk/connectors/salesforce-api/src/main/resources/partner_v17.wsdl
===================================================================
--- trunk/connectors/salesforce-api/src/main/resources/partner_v17.wsdl	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/connectors/salesforce-api/src/main/resources/partner_v17.wsdl	2011-10-03 12:04:56 UTC (rev 3510)
@@ -1,2930 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Salesforce.com Partner Web Services API Version 17.0
-Generated on 2010-02-11 17:24:10 +0000.
-
-Copyright 1999-2010 salesforce.com, inc.
-All Rights Reserved
--->
-<definitions targetNamespace="urn:partner.soap.sforce.com" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:fns="urn:fault.partner.soap.sforce.com" xmlns:tns="urn:partner.soap.sforce.com" xmlns:ens="urn:sobject.partner.soap.sforce.com">
-    <types>
-
-        <schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:sobject.partner.soap.sforce.com">
-
-            <import namespace="urn:partner.soap.sforce.com"/>
-
-
-            <!-- Dynamic sObject -->
-            <complexType name="sObject">
-                <sequence>
-                    <element name="type" type="xsd:string"/>
-                    <element name="fieldsToNull" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="Id" type="tns:ID" nillable="true"/>
-                    <any namespace="##targetNamespace" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
-                </sequence>
-            </complexType>
-
-        </schema>
-
-        <schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:partner.soap.sforce.com">
-
-            <import namespace="urn:sobject.partner.soap.sforce.com"/>
-
-            <!-- Our simple ID Type -->
-            <simpleType name="ID">
-                <restriction base="xsd:string">
-                    <length value="18"/>
-                    <pattern value="[a-zA-Z0-9]{18}"/>
-                </restriction>
-            </simpleType>
-
-            <simpleType name="QueryLocator">
-                <restriction base="xsd:string"/>
-            </simpleType>
-
-            <!-- Shared Result Types -->
-            <complexType name="QueryResult">
-                <sequence>
-                    <element name="done" type="xsd:boolean"/>
-                    <element name="queryLocator" type="tns:QueryLocator" nillable="true"/>
-                    <element name="records" type="ens:sObject" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="size" type="xsd:int"/>
-                </sequence>
-            </complexType>
-
-
-
-            <!-- Search Result -->
-            <complexType name="SearchResult">
-                <sequence>
-                    <element name="searchRecords" minOccurs="0" maxOccurs="unbounded" type="tns:SearchRecord"/>
-                    <element name="sforceReserved" minOccurs="0" maxOccurs="1" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="SearchRecord">
-                <sequence>
-                    <element name="record" type="ens:sObject"/>
-                </sequence>
-            </complexType>
-
-            <!-- GetUpdated Result -->
-            <complexType name="GetUpdatedResult">
-                <sequence>
-                    <element name="ids" minOccurs="0" maxOccurs="unbounded" type="tns:ID"/>
-                    <element name="latestDateCovered" type="xsd:dateTime"/>
-                    <element name="sforceReserved" minOccurs="0" maxOccurs="1" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-            <!-- GetDeleted Result -->
-            <complexType name="GetDeletedResult">
-                <sequence>
-                    <element name="deletedRecords" minOccurs="0" maxOccurs="unbounded" type="tns:DeletedRecord"/>
-                    <element name="earliestDateAvailable" type="xsd:dateTime"/>
-                    <element name="latestDateCovered" type="xsd:dateTime"/>
-                    <element name="sforceReserved" minOccurs="0" maxOccurs="1" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DeletedRecord">
-                <sequence>
-                    <element name="deletedDate" type="xsd:dateTime"/>
-                    <element name="id" type="tns:ID"/>
-                </sequence>
-            </complexType>
-
-
-            <complexType name="GetServerTimestampResult">
-                <sequence>
-                    <element name="timestamp" type="xsd:dateTime"/>
-                </sequence>
-            </complexType>
-
-
-            <!-- InvalidateSessions Result -->
-            <complexType name="InvalidateSessionsResult">
-                <sequence>
-                    <element name="errors" type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="success" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="SetPasswordResult">
-            </complexType>
-
-            <complexType name="ResetPasswordResult">
-                <sequence>
-                    <element name="password" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="GetUserInfoResult">
-                <sequence>
-                    <element name="accessibilityMode" type="xsd:boolean"/>
-                    <element name="currencySymbol" type="xsd:string" nillable="true"/>
-                    <element name="orgDefaultCurrencyIsoCode" type="xsd:string" nillable="true"/>
-                    <element name="orgDisallowHtmlAttachments" type="xsd:boolean"/>
-                    <element name="orgHasPersonAccounts" type="xsd:boolean"/>
-                    <element name="organizationId" type="tns:ID"/>
-                    <element name="organizationMultiCurrency" type="xsd:boolean"/>
-                    <element name="organizationName" type="xsd:string"/>
-                    <element name="profileId" type="tns:ID"/>
-                    <element name="roleId" type="tns:ID" nillable="true"/>
-                    <element name="userDefaultCurrencyIsoCode" type="xsd:string" nillable="true"/>
-                    <element name="userEmail" type="xsd:string"/>
-                    <element name="userFullName" type="xsd:string"/>
-                    <element name="userId" type="tns:ID"/>
-                    <element name="userLanguage" type="xsd:string"/>
-                    <element name="userLocale" type="xsd:string"/>
-                    <element name="userName" type="xsd:string"/>
-                    <element name="userTimeZone" type="xsd:string"/>
-                    <element name="userType" type="xsd:string"/>
-                    <element name="userUiSkin" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="LoginResult">
-                <sequence>
-                    <element name="metadataServerUrl" type="xsd:string" nillable="true"/>
-                    <element name="passwordExpired" type="xsd:boolean"/>
-                    <element name="sandbox" type="xsd:boolean"/>
-                    <element name="serverUrl" type="xsd:string" nillable="true"/>
-                    <element name="sessionId" type="xsd:string" nillable="true"/>
-
-                    <element name="userId" type="tns:ID" nillable="true"/>
-                    <element name="userInfo" type="tns:GetUserInfoResult" minOccurs="0"/>
-                </sequence>
-            </complexType>
-
-            <simpleType name="StatusCode">
-                <restriction base="xsd:string">
-                    <enumeration value="ALREADY_IN_PROCESS"/>
-                    <enumeration value="ASSIGNEE_TYPE_REQUIRED"/>
-                    <enumeration value="BAD_CUSTOM_ENTITY_PARENT_DOMAIN"/>
-                    <enumeration value="BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED"/>
-                    <enumeration value="CANNOT_CASCADE_PRODUCT_ACTIVE"/>
-                    <enumeration value="CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD"/>
-                    <enumeration value="CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE"/>
-                    <enumeration value="CANNOT_DEACTIVATE_DIVISION"/>
-                    <enumeration value="CANNOT_DELETE_LAST_DATED_CONVERSION_RATE"/>
-                    <enumeration value="CANNOT_DELETE_MANAGED_OBJECT"/>
-                    <enumeration value="CANNOT_DISABLE_LAST_ADMIN"/>
-                    <enumeration value="CANNOT_ENABLE_IP_RESTRICT_REQUESTS"/>
-                    <enumeration value="CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY"/>
-                    <enumeration value="CANNOT_MODIFY_MANAGED_OBJECT"/>
-                    <enumeration value="CANNOT_RENAME_APEX_REFERENCED_FIELD"/>
-                    <enumeration value="CANNOT_RENAME_APEX_REFERENCED_OBJECT"/>
-                    <enumeration value="CANNOT_REPARENT_RECORD"/>
-                    <enumeration value="CANNOT_UPDATE_CONVERTED_LEAD"/>
-                    <enumeration value="CANT_DISABLE_CORP_CURRENCY"/>
-                    <enumeration value="CANT_UNSET_CORP_CURRENCY"/>
-                    <enumeration value="CHILD_SHARE_FAILS_PARENT"/>
-                    <enumeration value="CIRCULAR_DEPENDENCY"/>
-                    <enumeration value="COMMUNITY_NOT_ACCESSIBLE"/>
-                    <enumeration value="CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED"/>
-                    <enumeration value="CUSTOM_ENTITY_OR_FIELD_LIMIT"/>
-                    <enumeration value="CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED"/>
-                    <enumeration value="CUSTOM_INDEX_EXISTS"/>
-                    <enumeration value="CUSTOM_LINK_LIMIT_EXCEEDED"/>
-                    <enumeration value="CUSTOM_TAB_LIMIT_EXCEEDED"/>
-                    <enumeration value="DELETE_FAILED"/>
-                    <enumeration value="DELETE_REQUIRED_ON_CASCADE"/>
-                    <enumeration value="DEPENDENCY_EXISTS"/>
-                    <enumeration value="DUPLICATE_CASE_SOLUTION"/>
-                    <enumeration value="DUPLICATE_COMM_NICKNAME"/>
-                    <enumeration value="DUPLICATE_CUSTOM_ENTITY_DEFINITION"/>
-                    <enumeration value="DUPLICATE_CUSTOM_TAB_MOTIF"/>
-                    <enumeration value="DUPLICATE_DEVELOPER_NAME"/>
-                    <enumeration value="DUPLICATE_EXTERNAL_ID"/>
-                    <enumeration value="DUPLICATE_MASTER_LABEL"/>
-                    <enumeration value="DUPLICATE_SENDER_DISPLAY_NAME"/>
-                    <enumeration value="DUPLICATE_USERNAME"/>
-                    <enumeration value="DUPLICATE_VALUE"/>
-                    <enumeration value="EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR"/>
-                    <enumeration value="EMPTY_SCONTROL_FILE_NAME"/>
-                    <enumeration value="ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE"/>
-                    <enumeration value="ENTITY_IS_ARCHIVED"/>
-                    <enumeration value="ENTITY_IS_DELETED"/>
-                    <enumeration value="ENTITY_IS_LOCKED"/>
-                    <enumeration value="ERROR_IN_MAILER"/>
-                    <enumeration value="FAILED_ACTIVATION"/>
-                    <enumeration value="FIELD_CUSTOM_VALIDATION_EXCEPTION"/>
-                    <enumeration value="FIELD_INTEGRITY_EXCEPTION"/>
-                    <enumeration value="FILTERED_LOOKUP_LIMIT_EXCEEDED"/>
-                    <enumeration value="HTML_FILE_UPLOAD_NOT_ALLOWED"/>
-                    <enumeration value="IMAGE_TOO_LARGE"/>
-                    <enumeration value="INACTIVE_OWNER_OR_USER"/>
-                    <enumeration value="INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY"/>
-                    <enumeration value="INSUFFICIENT_ACCESS_OR_READONLY"/>
-                    <enumeration value="INVALID_ACCESS_LEVEL"/>
-                    <enumeration value="INVALID_ARGUMENT_TYPE"/>
-                    <enumeration value="INVALID_ASSIGNEE_TYPE"/>
-                    <enumeration value="INVALID_ASSIGNMENT_RULE"/>
-                    <enumeration value="INVALID_BATCH_OPERATION"/>
-                    <enumeration value="INVALID_CONTENT_TYPE"/>
-                    <enumeration value="INVALID_CREDIT_CARD_INFO"/>
-                    <enumeration value="INVALID_CROSS_REFERENCE_KEY"/>
-                    <enumeration value="INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD"/>
-                    <enumeration value="INVALID_CURRENCY_CONV_RATE"/>
-                    <enumeration value="INVALID_CURRENCY_CORP_RATE"/>
-                    <enumeration value="INVALID_CURRENCY_ISO"/>
-                    <enumeration value="INVALID_EMAIL_ADDRESS"/>
-                    <enumeration value="INVALID_EMPTY_KEY_OWNER"/>
-                    <enumeration value="INVALID_FIELD"/>
-                    <enumeration value="INVALID_FIELD_FOR_INSERT_UPDATE"/>
-                    <enumeration value="INVALID_FIELD_WHEN_USING_TEMPLATE"/>
-                    <enumeration value="INVALID_FILTER_ACTION"/>
-                    <enumeration value="INVALID_GOOGLE_DOCS_URL"/>
-                    <enumeration value="INVALID_ID_FIELD"/>
-                    <enumeration value="INVALID_INET_ADDRESS"/>
-                    <enumeration value="INVALID_LINEITEM_CLONE_STATE"/>
-                    <enumeration value="INVALID_MASTER_OR_TRANSLATED_SOLUTION"/>
-                    <enumeration value="INVALID_MESSAGE_ID_REFERENCE"/>
-                    <enumeration value="INVALID_OPERATION"/>
-                    <enumeration value="INVALID_OPERATOR"/>
-                    <enumeration value="INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST"/>
-                    <enumeration value="INVALID_PARTNER_NETWORK_STATUS"/>
-                    <enumeration value="INVALID_PERSON_ACCOUNT_OPERATION"/>
-                    <enumeration value="INVALID_SAVE_AS_ACTIVITY_FLAG"/>
-                    <enumeration value="INVALID_SESSION_ID"/>
-                    <enumeration value="INVALID_SETUP_OWNER"/>
-                    <enumeration value="INVALID_STATUS"/>
-                    <enumeration value="INVALID_TYPE"/>
-                    <enumeration value="INVALID_TYPE_FOR_OPERATION"/>
-                    <enumeration value="INVALID_TYPE_ON_FIELD_IN_RECORD"/>
-                    <enumeration value="IP_RANGE_LIMIT_EXCEEDED"/>
-                    <enumeration value="LICENSE_LIMIT_EXCEEDED"/>
-                    <enumeration value="LIGHT_PORTAL_USER_EXCEPTION"/>
-                    <enumeration value="LIMIT_EXCEEDED"/>
-                    <enumeration value="MALFORMED_ID"/>
-                    <enumeration value="MANAGER_NOT_DEFINED"/>
-                    <enumeration value="MASSMAIL_RETRY_LIMIT_EXCEEDED"/>
-                    <enumeration value="MASS_MAIL_LIMIT_EXCEEDED"/>
-                    <enumeration value="MAXIMUM_CCEMAILS_EXCEEDED"/>
-                    <enumeration value="MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED"/>
-                    <enumeration value="MAXIMUM_HIERARCHY_LEVELS_REACHED"/>
-                    <enumeration value="MAXIMUM_SIZE_OF_ATTACHMENT"/>
-                    <enumeration value="MAXIMUM_SIZE_OF_DOCUMENT"/>
-                    <enumeration value="MAX_ACTIONS_PER_RULE_EXCEEDED"/>
-                    <enumeration value="MAX_ACTIVE_RULES_EXCEEDED"/>
-                    <enumeration value="MAX_APPROVAL_STEPS_EXCEEDED"/>
-                    <enumeration value="MAX_FORMULAS_PER_RULE_EXCEEDED"/>
-                    <enumeration value="MAX_RULES_EXCEEDED"/>
-                    <enumeration value="MAX_RULE_ENTRIES_EXCEEDED"/>
-                    <enumeration value="MAX_TASK_DESCRIPTION_EXCEEEDED"/>
-                    <enumeration value="MAX_TM_RULES_EXCEEDED"/>
-                    <enumeration value="MAX_TM_RULE_ITEMS_EXCEEDED"/>
-                    <enumeration value="MERGE_FAILED"/>
-                    <enumeration value="MISSING_ARGUMENT"/>
-                    <enumeration value="MIXED_DML_OPERATION"/>
-                    <enumeration value="NONUNIQUE_SHIPPING_ADDRESS"/>
-                    <enumeration value="NO_APPLICABLE_PROCESS"/>
-                    <enumeration value="NO_ATTACHMENT_PERMISSION"/>
-                    <enumeration value="NO_INACTIVE_DIVISION_MEMBERS"/>
-                    <enumeration value="NO_MASS_MAIL_PERMISSION"/>
-                    <enumeration value="NUMBER_OUTSIDE_VALID_RANGE"/>
-                    <enumeration value="NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED"/>
-                    <enumeration value="OPTED_OUT_OF_MASS_MAIL"/>
-                    <enumeration value="PACKAGE_LICENSE_REQUIRED"/>
-                    <enumeration value="PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT"/>
-                    <enumeration value="PRIVATE_CONTACT_ON_ASSET"/>
-                    <enumeration value="RECORD_IN_USE_BY_WORKFLOW"/>
-                    <enumeration value="REQUEST_RUNNING_TOO_LONG"/>
-                    <enumeration value="REQUIRED_FIELD_MISSING"/>
-                    <enumeration value="SELF_REFERENCE_FROM_TRIGGER"/>
-                    <enumeration value="SHARE_NEEDED_FOR_CHILD_OWNER"/>
-                    <enumeration value="STANDARD_PRICE_NOT_DEFINED"/>
-                    <enumeration value="STORAGE_LIMIT_EXCEEDED"/>
-                    <enumeration value="STRING_TOO_LONG"/>
-                    <enumeration value="TABSET_LIMIT_EXCEEDED"/>
-                    <enumeration value="TEMPLATE_NOT_ACTIVE"/>
-                    <enumeration value="TERRITORY_REALIGN_IN_PROGRESS"/>
-                    <enumeration value="TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET"/>
-                    <enumeration value="TOO_MANY_APEX_REQUESTS"/>
-                    <enumeration value="TOO_MANY_ENUM_VALUE"/>
-                    <enumeration value="TRANSFER_REQUIRES_READ"/>
-                    <enumeration value="UNABLE_TO_LOCK_ROW"/>
-                    <enumeration value="UNAVAILABLE_RECORDTYPE_EXCEPTION"/>
-                    <enumeration value="UNDELETE_FAILED"/>
-                    <enumeration value="UNKNOWN_EXCEPTION"/>
-                    <enumeration value="UNSPECIFIED_EMAIL_ADDRESS"/>
-                    <enumeration value="UNSUPPORTED_APEX_TRIGGER_OPERATON"/>
-                    <enumeration value="UNVERIFIED_SENDER_ADDRESS"/>
-                    <enumeration value="WEBLINK_SIZE_LIMIT_EXCEEDED"/>
-                    <enumeration value="WRONG_CONTROLLER_TYPE"/>
-                </restriction>
-            </simpleType>
-
-
-            <complexType name="Error">
-                <sequence>
-                    <element name="fields" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="message" type="xsd:string"/>
-                    <element name="statusCode" type="tns:StatusCode"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="SendEmailError">
-                <sequence>
-                    <element name="fields" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="message" type="xsd:string"/>
-                    <element name="statusCode" type="tns:StatusCode"/>
-                    <element name="targetObjectId" type="tns:ID" nillable="true"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="SaveResult">
-                <sequence>
-                    <element name="errors" type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="id" type="tns:ID" nillable="true"/>
-                    <element name="success" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="UpsertResult">
-                <sequence>
-                    <element name="created" type="xsd:boolean"/>
-                    <element name="errors" type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="id" type="tns:ID" nillable="true"/>
-                    <element name="success" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="MergeRequest">
-                <sequence>
-                    <element name="masterRecord" type="ens:sObject"/>
-                    <element name="recordToMergeIds" type="tns:ID" minOccurs="1" maxOccurs="unbounded"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="MergeResult">
-                <sequence>
-                    <element name="errors" type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="id" type="tns:ID" nillable="true"/>
-                    <element name="mergedRecordIds" type="tns:ID" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="success" type="xsd:boolean"/>
-                    <element name="updatedRelatedIds" type="tns:ID" minOccurs="0" maxOccurs="unbounded"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="ProcessRequest">
-                <sequence>
-                    <element name="comments" type="xsd:string" nillable="true"/>
-                    <element name="nextApproverIds" type="tns:ID" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="ProcessSubmitRequest">
-                <complexContent>
-                    <extension base="tns:ProcessRequest">
-                        <sequence>
-                            <element name="objectId" type="tns:ID"/>
-                        </sequence>
-                    </extension>
-                </complexContent>
-            </complexType>
-
-            <complexType name="ProcessWorkitemRequest">
-                <complexContent>
-                    <extension base="tns:ProcessRequest">
-                        <sequence>
-                            <element name="action" type="xsd:string"/>
-                            <element name="workitemId" type="tns:ID"/>
-                        </sequence>
-                    </extension>
-                </complexContent>
-            </complexType>
-
-
-
-            <complexType name="ProcessResult">
-                <sequence>
-                    <element name="actorIds" type="tns:ID" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="entityId" type="tns:ID" nillable="true"/>
-                    <element name="errors" type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="instanceId" type="tns:ID" nillable="true"/>
-                    <element name="instanceStatus" type="xsd:string" nillable="true"/>
-                    <element name="newWorkitemIds" type="tns:ID" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="success" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-
-
-
-
-            <complexType name="DeleteResult">
-                <sequence>
-                    <element name="errors" type="tns:Error" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="id" type="tns:ID" nillable="true"/>
-                    <element name="success" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="UndeleteResult">
-                <sequence>
-                    <element name="errors" type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="id" type="tns:ID" nillable="true"/>
-                    <element name="success" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="EmptyRecycleBinResult">
-                <sequence>
-                    <element name="errors" type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="id" type="tns:ID" nillable="true"/>
-                    <element name="success" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="LeadConvert">
-                <sequence>
-                    <element name="accountId" type="tns:ID" nillable="true"/>
-                    <element name="contactId" type="tns:ID" nillable="true"/>
-                    <element name="convertedStatus" type="xsd:string"/>
-                    <element name="doNotCreateOpportunity" type="xsd:boolean"/>
-                    <element name="leadId" type="tns:ID"/>
-                    <element name="opportunityName" type="xsd:string" nillable="true"/>
-                    <element name="overwriteLeadSource" type="xsd:boolean"/>
-                    <element name="ownerId" type="tns:ID" nillable="true"/>
-                    <element name="sendNotificationEmail" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="LeadConvertResult">
-                <sequence>
-                    <element name="accountId" type="tns:ID" nillable="true"/>
-                    <element name="contactId" type="tns:ID" nillable="true"/>
-                    <element name="errors" type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="leadId" type="tns:ID" nillable="true"/>
-                    <element name="opportunityId" type="tns:ID" nillable="true"/>
-                    <element name="success" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeSObjectResult">
-                <sequence>
-                    <element name="activateable" type="xsd:boolean"/>
-                    <element name="childRelationships" type="tns:ChildRelationship" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="createable" type="xsd:boolean"/>
-                    <element name="custom" type="xsd:boolean"/>
-                    <element name="customSetting" type="xsd:boolean"/>
-                    <element name="deletable" type="xsd:boolean"/>
-                    <element name="deprecatedAndHidden" type="xsd:boolean"/>
-                    <element name="fields" type="tns:Field" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="keyPrefix" type="xsd:string" nillable="true"/>
-                    <element name="label" type="xsd:string"/>
-                    <element name="labelPlural" type="xsd:string"/>
-                    <element name="layoutable" type="xsd:boolean"/>
-                    <element name="mergeable" type="xsd:boolean"/>
-                    <element name="name" type="xsd:string"/>
-                    <element name="queryable" type="xsd:boolean"/>
-                    <element name="recordTypeInfos" type="tns:RecordTypeInfo" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="replicateable" type="xsd:boolean"/>
-                    <element name="retrieveable" type="xsd:boolean"/>
-                    <element name="searchable" type="xsd:boolean"/>
-                    <element name="triggerable" type="xsd:boolean" minOccurs="0"/>
-                    <element name="undeletable" type="xsd:boolean"/>
-                    <element name="updateable" type="xsd:boolean"/>
-                    <element name="urlDetail" type="xsd:string" nillable="true"/>
-                    <element name="urlEdit" type="xsd:string" nillable="true"/>
-                    <element name="urlNew" type="xsd:string" nillable="true"/>
-                </sequence>
-            </complexType>
-
-			<!-- this is a subset of properties for each SObject that is returned by the describeGlobal call -->
-            <complexType name="DescribeGlobalSObjectResult">
-                <sequence>
-                    <element name="activateable" type="xsd:boolean"/>
-                    <element name="createable" type="xsd:boolean"/>
-                    <element name="custom" type="xsd:boolean"/>
-                    <element name="customSetting" type="xsd:boolean"/>
-                    <element name="deletable" type="xsd:boolean"/>
-                    <element name="deprecatedAndHidden" type="xsd:boolean"/>
-                    <element name="keyPrefix" type="xsd:string" nillable="true"/>
-                    <element name="label" type="xsd:string"/>
-                    <element name="labelPlural" type="xsd:string"/>
-                    <element name="layoutable" type="xsd:boolean"/>
-					<element name="mergeable" type="xsd:boolean"/>
-                    <element name="name" type="xsd:string"/>
-                    <element name="queryable" type="xsd:boolean"/>
-                    <element name="replicateable" type="xsd:boolean"/>
-                    <element name="retrieveable" type="xsd:boolean"/>
-					<element name="searchable" type="xsd:boolean"/>
-                    <element name="triggerable" type="xsd:boolean"/>
-                    <element name="undeletable" type="xsd:boolean"/>
-                    <element name="updateable" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="ChildRelationship">
-                <sequence>
-                    <element name="cascadeDelete" type="xsd:boolean"/>
-                    <element name="childSObject" type="xsd:string"/>
-                    <element name="deprecatedAndHidden" type="xsd:boolean"/>
-                    <element name="field" type="xsd:string"/>
-                    <element name="relationshipName" type="xsd:string" minOccurs="0"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeGlobalResult">
-                <sequence>
-                    <element name="encoding" type="xsd:string" nillable="true"/>
-                    <element name="maxBatchSize" type="xsd:int"/>
-                    <element name="sobjects" type="tns:DescribeGlobalSObjectResult" minOccurs="0" maxOccurs="unbounded"/>
-                </sequence>
-            </complexType>
-
-            <simpleType name="fieldType">
-                <restriction base="xsd:string">
-                    <enumeration value="string"/>
-                    <enumeration value="picklist"/>
-                    <enumeration value="multipicklist"/>
-                    <enumeration value="combobox"/>
-                    <enumeration value="reference"/>
-                    <enumeration value="base64"/>
-                    <enumeration value="boolean"/>
-                    <enumeration value="currency"/>
-                    <enumeration value="textarea"/>
-                    <enumeration value="int"/>
-                    <enumeration value="double"/>
-                    <enumeration value="percent"/>
-                    <enumeration value="phone"/>
-                    <enumeration value="id"/>
-                    <enumeration value="date"/>
-                    <enumeration value="datetime"/>
-                    <enumeration value="time"/>
-                    <enumeration value="url"/>
-                    <enumeration value="email"/>
-                    <enumeration value="encryptedstring"/>
-                    <enumeration value="anyType"/> <!-- can be string, picklist, reference, boolean, currency, int, double, percent, id, date, datetime, url, email -->
-                </restriction>
-            </simpleType>
-
-            <simpleType name="soapType">
-                <restriction base="xsd:string">
-                    <enumeration value="tns:ID"/>
-                    <enumeration value="xsd:base64Binary"/>
-                    <enumeration value="xsd:boolean"/>
-                    <enumeration value="xsd:double"/>
-                    <enumeration value="xsd:int"/>
-                    <enumeration value="xsd:string"/>
-                    <enumeration value="xsd:date"/>
-                    <enumeration value="xsd:dateTime"/>
-                    <enumeration value="xsd:time"/>
-                    <enumeration value="xsd:anyType"/> <!-- can be id, booolean, double, int, string, date, dateTime -->
-                </restriction>
-            </simpleType>
-
-            <complexType name="Field">
-                <sequence>
-                    <element name="autoNumber" type="xsd:boolean"/>
-                    <element name="byteLength" type="xsd:int"/>
-                    <element name="calculated" type="xsd:boolean"/>
-                    <element name="calculatedFormula" type="xsd:string" minOccurs="0"/>
-                    <element name="caseSensitive" type="xsd:boolean"/>
-                    <element name="controllerName" type="xsd:string" minOccurs="0"/>
-                    <element name="createable" type="xsd:boolean"/>
-                    <element name="custom" type="xsd:boolean"/>
-                    <element name="defaultValueFormula" type="xsd:string" minOccurs="0"/>
-                    <element name="defaultedOnCreate" type="xsd:boolean"/>
-                    <element name="dependentPicklist" type="xsd:boolean" minOccurs="0"/>
-                    <element name="deprecatedAndHidden" type="xsd:boolean"/>
-                    <element name="digits" type="xsd:int"/>
-                    <element name="externalId" type="xsd:boolean" minOccurs="0"/>
-                    <element name="filterable" type="xsd:boolean"/>
-                    <element name="htmlFormatted" type="xsd:boolean" minOccurs="0"/>
-                    <element name="idLookup" type="xsd:boolean"/>
-                    <element name="inlineHelpText" type="xsd:string" minOccurs="0"/>
-                    <element name="label" type="xsd:string"/>
-                    <element name="length" type="xsd:int"/>
-                    <element name="name" type="xsd:string"/>
-                    <element name="nameField" type="xsd:boolean"/>
-                    <element name="namePointing" type="xsd:boolean" minOccurs="0"/>
-                    <element name="nillable" type="xsd:boolean"/>
-                    <element name="picklistValues" type="tns:PicklistEntry" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="precision" type="xsd:int"/>
-                    <element name="referenceTo" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="relationshipName" type="xsd:string" minOccurs="0"/>
-                    <element name="relationshipOrder" type="xsd:int" minOccurs="0"/>
-                    <element name="restrictedPicklist" type="xsd:boolean"/>
-                    <element name="scale" type="xsd:int"/>
-                    <element name="soapType" type="tns:soapType"/>
-                    <element name="sortable" type="xsd:boolean" minOccurs="0"/>
-                    <element name="type" type="tns:fieldType"/>
-                    <element name="unique" type="xsd:boolean"/>
-                    <element name="updateable" type="xsd:boolean"/>
-                    <element name="writeRequiresMasterRead" type="xsd:boolean" minOccurs="0"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="PicklistEntry">
-                <sequence>
-                    <element name="active" type="xsd:boolean"/>
-                    <element name="defaultValue" type="xsd:boolean"/>
-                    <element name="label" type="xsd:string" nillable="true"/>
-                    <element name="validFor" type="xsd:base64Binary" minOccurs="0"/>
-                    <element name="value" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeSoftphoneLayoutResult">
-                <sequence>
-                    <element name="callTypes" type="tns:DescribeSoftphoneLayoutCallType" maxOccurs="unbounded"/>
-                    <element name="id" type="tns:ID"/>
-                    <element name="name" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeSoftphoneLayoutCallType">
-                <sequence>
-                    <element name="infoFields" type="tns:DescribeSoftphoneLayoutInfoField" maxOccurs="unbounded"/>
-                    <element name="name" type="xsd:string"/>
-                    <element name="sections" type="tns:DescribeSoftphoneLayoutSection" minOccurs="0" maxOccurs="unbounded"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeSoftphoneLayoutInfoField">
-                <sequence>
-                    <element name="name" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeSoftphoneLayoutSection">
-                <sequence>
-                    <element name="entityApiName" type="xsd:string"/>
-                    <element name="items" type="tns:DescribeSoftphoneLayoutItem" maxOccurs="unbounded"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeSoftphoneLayoutItem">
-                <sequence>
-                    <element name="itemApiName" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeLayoutResult">
-                <sequence>
-                    <element name="layouts" type="tns:DescribeLayout" maxOccurs="unbounded"/>
-                    <element name="recordTypeMappings" type="tns:RecordTypeMapping" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="recordTypeSelectorRequired" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeLayout">
-                <sequence>
-                    <element name="buttonLayoutSection" type="tns:DescribeLayoutButtonSection" minOccurs="0"/>
-                    <element name="detailLayoutSections" type="tns:DescribeLayoutSection" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="editLayoutSections" type="tns:DescribeLayoutSection" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="id" type="tns:ID"/>
-
-
-                    <element name="relatedLists" type="tns:RelatedList" minOccurs="0" maxOccurs="unbounded"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeLayoutSection">
-                <sequence>
-                    <element name="columns" type="xsd:int"/>
-                    <element name="heading" type="xsd:string"/>
-                    <element name="layoutRows" type="tns:DescribeLayoutRow" maxOccurs="unbounded"/>
-                    <element name="rows" type="xsd:int"/>
-                    <element name="useCollapsibleSection" type="xsd:boolean"/>
-                    <element name="useHeading" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeLayoutButtonSection">
-                <sequence>
-                    <element name="detailButtons" type="tns:DescribeLayoutButton" maxOccurs="unbounded"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeLayoutRow">
-                <sequence>
-                    <element name="layoutItems" type="tns:DescribeLayoutItem" maxOccurs="unbounded"/>
-                    <element name="numItems" type="xsd:int"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeLayoutItem">
-                <sequence>
-                    <element name="editable" type="xsd:boolean"/>
-                    <element name="label" type="xsd:string" nillable="true"/>
-                    <element name="layoutComponents" type="tns:DescribeLayoutComponent" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="placeholder" type="xsd:boolean"/>
-                    <element name="required" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeLayoutButton">
-                <sequence>
-                    <element name="custom" type="xsd:boolean"/>
-                    <element name="label" type="xsd:string" nillable="true"/>
-                    <element name="name" type="xsd:string" nillable="true"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeLayoutComponent">
-                <sequence>
-                    <element name="displayLines" type="xsd:int"/>
-                    <element name="tabOrder" type="xsd:int"/>
-                    <element name="type" type="tns:layoutComponentType"/>
-                    <element name="value" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-            <simpleType name="layoutComponentType">
-                <restriction base="xsd:string">
-                    <enumeration value="Field"/>
-                    <enumeration value="Separator"/>
-                    <enumeration value="SControl"/>
-                    <enumeration value="EmptySpace"/>
-                </restriction>
-            </simpleType>
-
-            <complexType name="RecordTypeInfo">
-                <sequence>
-                    <element name="available" type="xsd:boolean"/>
-                    <element name="defaultRecordTypeMapping" type="xsd:boolean"/>
-                    <element name="name" type="xsd:string"/>
-                    <element name="recordTypeId" type="tns:ID" nillable="true"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="RecordTypeMapping">
-                <sequence>
-                    <element name="available" type="xsd:boolean"/>
-                    <element name="defaultRecordTypeMapping" type="xsd:boolean"/>
-                    <element name="layoutId" type="tns:ID"/>
-                    <element name="name" type="xsd:string"/>
-                    <element name="picklistsForRecordType" type="tns:PicklistForRecordType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    <element name="recordTypeId" type="tns:ID" nillable="true"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="PicklistForRecordType">
-                <sequence>
-                    <element name="picklistName" type="xsd:string"/>
-                    <element name="picklistValues" type="tns:PicklistEntry" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="RelatedList">
-                <sequence>
-                    <element name="columns" type="tns:RelatedListColumn" maxOccurs="unbounded"/>
-                    <element name="custom" type="xsd:boolean"/>
-                    <element name="field" type="xsd:string" nillable="true"/>
-                    <element name="label" type="xsd:string"/>
-                    <element name="limitRows" type="xsd:int"/>
-                    <element name="name" type="xsd:string"/>
-                    <element name="sobject" type="xsd:string" nillable="true"/>
-                    <element name="sort" type="tns:RelatedListSort" minOccurs="0" maxOccurs="unbounded"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="RelatedListColumn">
-                <sequence>
-                    <element name="field" type="xsd:string" nillable="true"/>
-                    <element name="format" type="xsd:string" nillable="true"/>
-                    <element name="label" type="xsd:string"/>
-                    <element name="name" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="RelatedListSort">
-                <sequence>
-                    <element name="ascending" type="xsd:boolean"/>
-                    <element name="column" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-
-
-            <complexType name="EmailFileAttachment">
-                <sequence>
-                    <element name="body" nillable="true" minOccurs="0" type="xsd:base64Binary"/>
-                    <element name="contentType" nillable="true" minOccurs="0" type="xsd:string"/>
-                    <element name="fileName" type="xsd:string"/>
-                    <element name="inline" type="xsd:boolean" minOccurs="0"/>
-                </sequence>
-            </complexType>
-            <simpleType name="EmailPriority">
-                <restriction base="xsd:string">
-                    <enumeration value="Highest"/>
-                    <enumeration value="High"/>
-                    <enumeration value="Normal"/>
-                    <enumeration value="Low"/>
-                    <enumeration value="Lowest"/>
-                </restriction>
-            </simpleType>
-
-            <complexType name="Email">
-                <sequence>
-                    <element name="bccSender" type="xsd:boolean" nillable="true"/>
-                    <element name="emailPriority" type="tns:EmailPriority" nillable="true"/>
-                    <element name="replyTo" type="xsd:string" nillable="true"/>
-                    <element name="saveAsActivity" type="xsd:boolean" nillable="true"/>
-                    <element name="senderDisplayName" type="xsd:string" nillable="true"/>
-                    <element name="subject" type="xsd:string" nillable="true"/>
-                    <element name="useSignature" type="xsd:boolean" nillable="true"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="MassEmailMessage">
-                <complexContent>
-                    <extension base="tns:Email">
-                        <sequence>
-                            <element name="description" type="xsd:string" nillable="true"/>
-                            <element name="targetObjectIds" minOccurs="0" maxOccurs="250" type="tns:ID"/>
-                            <element name="templateId" type="tns:ID"/>
-                            <element name="whatIds" minOccurs="0" maxOccurs="250" type="tns:ID"/>
-                        </sequence>
-                    </extension>
-                </complexContent>
-            </complexType>
-
-            <complexType name="SingleEmailMessage">
-                <complexContent>
-                    <extension base="tns:Email">
-                        <sequence>
-                            <element name="bccAddresses" minOccurs="0" maxOccurs="25" type="xsd:string" nillable="true"/>
-                            <element name="ccAddresses" minOccurs="0" maxOccurs="25" type="xsd:string" nillable="true"/>
-                            <element name="charset" type="xsd:string" nillable="true"/>
-                            <element name="documentAttachments" minOccurs="0" maxOccurs="unbounded" type="tns:ID"/>
-                            <element name="htmlBody" type="xsd:string" nillable="true"/>
-                            <element name="inReplyTo" minOccurs="0" type="xsd:string" nillable="true"/>
-                            <element name="fileAttachments" minOccurs="0" maxOccurs="unbounded" type="tns:EmailFileAttachment"/>
-                            <element name="orgWideEmailAddressId" minOccurs="0" maxOccurs="1" type="tns:ID" nillable="true"/>
-                            <element name="plainTextBody" type="xsd:string" nillable="true"/>
-                            <element name="references" minOccurs="0" type="xsd:string" nillable="true"/>
-                            <element name="targetObjectId" type="tns:ID" nillable="true"/>
-                            <element name="templateId" type="tns:ID" nillable="true"/>
-                            <element name="toAddresses" minOccurs="0" maxOccurs="100" type="xsd:string" nillable="true"/>
-                            <element name="whatId" type="tns:ID" nillable="true"/>
-                        </sequence>
-                    </extension>
-                </complexContent>
-            </complexType>
-
-            <complexType name="SendEmailResult">
-                <sequence>
-                    <element name="errors" minOccurs="0" maxOccurs="unbounded" type="tns:SendEmailError"/>
-                    <element name="success" type="xsd:boolean"/>
-                </sequence>
-            </complexType>
-
-
-
-            <complexType name="DescribeTabSetResult">
-                <sequence>
-                    <element name="label" type="xsd:string"/>
-                    <element name="logoUrl" type="xsd:string"/>
-                    <element name="namespace" type="xsd:string" minOccurs="0"/>
-                    <element name="selected" type="xsd:boolean"/>
-                    <element name="tabs" type="tns:DescribeTab" minOccurs="0" maxOccurs="unbounded"/>
-                </sequence>
-            </complexType>
-
-            <complexType name="DescribeTab">
-                <sequence>
-                    <element name="custom" type="xsd:boolean"/>
-                    <element name="iconUrl" type="xsd:string"/>
-                    <element name="label" type="xsd:string"/>
-                    <element name="miniIconUrl" type="xsd:string"/>
-                    <element name="sobjectName" type="xsd:string" nillable="true"/>
-                    <element name="url" type="xsd:string"/>
-                </sequence>
-            </complexType>
-
-
-
-
-
-            <!-- Login Message Types -->
-            <element name="login">
-                <complexType>
-                    <sequence>
-                        <element name="username" type="xsd:string"/>
-                        <element name="password" type="xsd:string"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="loginResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:LoginResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Describe Message Types -->
-            <element name="describeSObject">
-                <complexType>
-                    <sequence>
-                        <element name="sObjectType" type="xsd:string"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="describeSObjectResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:DescribeSObjectResult" nillable="true"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- DescibeSObjects Message Types -->
-            <element name="describeSObjects">
-                <complexType>
-                    <sequence>
-                        <element name="sObjectType" type="xsd:string" minOccurs="0" maxOccurs="100"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="describeSObjectsResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:DescribeSObjectResult" nillable="true" minOccurs="0" maxOccurs="100"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Describe Global Message Types -->
-            <element name="describeGlobal">
-                <complexType>
-                    <sequence/>
-                </complexType>
-            </element>
-            <element name="describeGlobalResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:DescribeGlobalResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <element name="describeLayout">
-                <complexType>
-                    <sequence>
-                        <element name="sObjectType" type="xsd:string"/>
-                        <element name="recordTypeIds" type="tns:ID" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="describeLayoutResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:DescribeLayoutResult" nillable="true"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <element name="describeSoftphoneLayout">
-                <complexType>
-                    <sequence/>
-                </complexType>
-            </element>
-            <element name="describeSoftphoneLayoutResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:DescribeSoftphoneLayoutResult" nillable="true"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-
-            <element name="describeTabs">
-                <complexType>
-                    <sequence/>
-                </complexType>
-            </element>
-            <element name="describeTabsResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:DescribeTabSetResult" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Create Message Types -->
-            <element name="create">
-                <complexType>
-                    <sequence>
-                        <element name="sObjects" type="ens:sObject" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="createResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:SaveResult" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-
-
-            <!-- Send Email Types -->
-            <element name="sendEmail">
-                <complexType>
-                    <sequence>
-                        <element name="messages" type="tns:Email" minOccurs="0" maxOccurs="10"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="sendEmailResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" minOccurs="0" maxOccurs="10" type="tns:SendEmailResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-
-            <!-- Update Message Types -->
-            <element name="update">
-                <complexType>
-                    <sequence>
-                        <element name="sObjects" type="ens:sObject" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="updateResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:SaveResult" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Upsert Message Types -->
-            <element name="upsert">
-                <complexType>
-                    <sequence>
-                        <element name="externalIDFieldName" type="xsd:string"/>
-                        <element name="sObjects" type="ens:sObject" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="upsertResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:UpsertResult" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Merge Message Types -->
-            <element name="merge">
-                <complexType>
-                    <sequence>
-                        <element name="request" type="tns:MergeRequest" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="mergeResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:MergeResult" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Delete Message Types -->
-            <element name="delete">
-                <complexType>
-                    <sequence>
-                        <element name="ids" type="tns:ID" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="deleteResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:DeleteResult" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Undelete Message Types -->
-            <element name="undelete">
-                <complexType>
-                    <sequence>
-                        <element name="ids" type="tns:ID" minOccurs="1" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="undeleteResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:UndeleteResult" minOccurs="1" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- EmptyRecycleBin Message Types -->
-            <element name="emptyRecycleBin">
-                <complexType>
-                    <sequence>
-                        <element name="ids" type="tns:ID" minOccurs="1" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="emptyRecycleBinResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:EmptyRecycleBinResult" minOccurs="1" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Process Message Types -->
-            <element name="process">
-                <complexType>
-                    <sequence>
-                        <element name="actions" type="tns:ProcessRequest" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="processResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:ProcessResult" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-
-
-
-            <!-- Retrieve (ID List) Message Types -->
-            <element name="retrieve">
-                <complexType>
-                    <sequence>
-                        <element name="fieldList" type="xsd:string"/>
-                        <element name="sObjectType" type="xsd:string"/>
-                        <element name="ids" type="tns:ID" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="retrieveResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="ens:sObject" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Convert Lead Message Types -->
-            <element name="convertLead">
-                <complexType>
-                    <sequence>
-                        <element name="leadConverts" type="tns:LeadConvert" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="convertLeadResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:LeadConvertResult" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Get Updated Message Types -->
-            <element name="getUpdated">
-                <complexType>
-                    <sequence>
-                        <element name="sObjectType" type="xsd:string"/>
-                        <element name="startDate" type="xsd:dateTime"/>
-                        <element name="endDate" type="xsd:dateTime"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="getUpdatedResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:GetUpdatedResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Get Deleted Message Types -->
-            <element name="getDeleted">
-                <complexType>
-                    <sequence>
-                        <element name="sObjectType" type="xsd:string"/>
-                        <element name="startDate" type="xsd:dateTime"/>
-                        <element name="endDate" type="xsd:dateTime"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="getDeletedResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:GetDeletedResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-
-            <!-- Logout current session -->
-            <element name="logout">
-                <complexType>
-                </complexType>
-            </element>
-
-            <element name="logoutResponse">
-                <complexType>
-                </complexType>
-            </element>
-
-            <!-- Invalidate a list of session ids -->
-            <element name="invalidateSessions">
-                <complexType>
-                    <sequence>
-                        <element name="sessionIds" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <element name="invalidateSessionsResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:InvalidateSessionsResult" minOccurs="0" maxOccurs="unbounded"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Create Query -->
-            <element name="query">
-                <complexType>
-                    <sequence>
-                        <element name="queryString" type="xsd:string"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="queryResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:QueryResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Create Query All -->
-            <element name="queryAll">
-                <complexType>
-                    <sequence>
-                        <element name="queryString" type="xsd:string"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="queryAllResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:QueryResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <!-- Next Batch of sObjects from a query -->
-            <element name="queryMore">
-                <complexType>
-                    <sequence>
-                        <element name="queryLocator" type="tns:QueryLocator"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="queryMoreResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:QueryResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-
-
-            <!-- Create Search -->
-            <element name="search">
-                <complexType>
-                    <sequence>
-                        <element name="searchString" type="xsd:string"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="searchResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:SearchResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-
-
-            <element name="getServerTimestamp">
-                <complexType>
-                    <sequence/>
-                </complexType>
-            </element>
-            <element name="getServerTimestampResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:GetServerTimestampResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <element name="setPassword">
-                <complexType>
-                    <sequence>
-                        <element name="userId" type="tns:ID"/>
-                        <element name="password" type="xsd:string"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="setPasswordResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:SetPasswordResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <element name="resetPassword">
-                <complexType>
-                    <sequence>
-                        <element name="userId" type="tns:ID"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="resetPasswordResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:ResetPasswordResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <element name="getUserInfo">
-                <complexType>
-                    <sequence/>
-                </complexType>
-            </element>
-            <element name="getUserInfoResponse">
-                <complexType>
-                    <sequence>
-                        <element name="result" type="tns:GetUserInfoResult"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-
-
-            <!-- Header Elements -->
-            <element name="SessionHeader">
-                <complexType>
-                    <sequence>
-                        <element name="sessionId" type="xsd:string"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <element name="LoginScopeHeader">
-                <complexType>
-                    <sequence>
-                        <element name="organizationId" type="tns:ID"/>
-                        <element name="portalId" type="tns:ID" minOccurs="0"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-
-            <element name="CallOptions">
-                <complexType>
-                    <sequence>
-                        <element name="client" type="xsd:string" nillable="true"/>
-                        <element name="defaultNamespace" type="xsd:string" nillable="true"/>
-
-                    </sequence>
-                </complexType>
-            </element>
-
-
-            <element name="QueryOptions">
-                <complexType>
-                    <sequence>
-                        <element name="batchSize" type="xsd:int" minOccurs="0"/>
-
-                    </sequence>
-                </complexType>
-            </element>
-
-
-            <simpleType name="DebugLevel">
-                <restriction base="xsd:string">
-                    <enumeration value="None"/>
-                    <enumeration value="DebugOnly"/>
-                    <enumeration value="Db"/>
-                </restriction>
-            </simpleType>
-            <element name="DebuggingHeader">
-                <complexType>
-                    <sequence>
-                        <element name="debugLevel" type="tns:DebugLevel"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="DebuggingInfo">
-                <complexType>
-                    <sequence>
-                        <element name="debugLog" type="xsd:string"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-   <xsd:complexType name="PackageVersion">
-    <xsd:sequence>
-     <xsd:element name="majorNumber" type="xsd:int"/>
-     <xsd:element name="minorNumber" type="xsd:int"/>
-     <xsd:element name="namespace" type="xsd:string"/>
-    </xsd:sequence>
-   </xsd:complexType>
-   <xsd:element name="PackageVersionHeader">
-    <xsd:complexType>
-     <xsd:sequence>
-      <xsd:element name="packageVersions" minOccurs="0" maxOccurs="unbounded" type="tns:PackageVersion"/>
-     </xsd:sequence>
-    </xsd:complexType>
-   </xsd:element>
-
-            <element name="AllowFieldTruncationHeader">
-                <complexType>
-                    <sequence>
-                        <element name="allowFieldTruncation" type="xsd:boolean"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-
-
-            <!-- ideally this could of just been elem name="..." type="xsd:boolean"
-                 but is required to be nested within a complexType for .NET 1.1 compatibility -->
-            <element name="MruHeader">
-                <complexType>
-                    <sequence>
-                        <element name="updateMru" type="xsd:boolean"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <element name="EmailHeader">
-                <complexType>
-                    <sequence>
-                        <element name="triggerAutoResponseEmail" type="xsd:boolean"/>
-                        <element name="triggerOtherEmail" type="xsd:boolean"/>
-                        <element name="triggerUserEmail" type="xsd:boolean"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <element name="AssignmentRuleHeader">
-                <complexType>
-                    <sequence>
-                        <element name="assignmentRuleId" type="tns:ID" nillable="true"/>
-                        <element name="useDefaultRule" type="xsd:boolean" nillable="true"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-            <element name="UserTerritoryDeleteHeader">
-                <complexType>
-                    <sequence>
-                        <element name="transferToUserId" type="tns:ID" nillable="true"/>
-                    </sequence>
-                </complexType>
-            </element>
-
-
-
-            <element name="LocaleOptions">
-                <complexType>
-                    <sequence>
-                        <element name="language" type="xsd:string" minOccurs="0"/>
-                    </sequence>
-                </complexType>
-            </element>
-        </schema>
-
-        <schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:fault.partner.soap.sforce.com" xmlns:fns="urn:fault.partner.soap.sforce.com">
-
-            <simpleType name="ExceptionCode">
-                <restriction base="xsd:string">
-                    <enumeration value="API_CURRENTLY_DISABLED"/>
-                    <enumeration value="API_DISABLED_FOR_ORG"/>
-                    <enumeration value="CANT_ADD_STANDADRD_PORTAL_USER_TO_TERRITORY"/>
-                    <enumeration value="CANT_ADD_STANDARD_PORTAL_USER_TO_TERRITORY"/>
-                    <enumeration value="CIRCULAR_OBJECT_GRAPH"/>
-                    <enumeration value="CLIENT_NOT_ACCESSIBLE_FOR_USER"/>
-                    <enumeration value="CLIENT_REQUIRE_UPDATE_FOR_USER"/>
-                    <enumeration value="CUSTOM_METADATA_LIMIT_EXCEEDED"/>
-                    <enumeration value="DUPLICATE_VALUE"/>
-                    <enumeration value="EMAIL_BATCH_SIZE_LIMIT_EXCEEDED"/>
-                    <enumeration value="EMAIL_TO_CASE_INVALID_ROUTING"/>
-                    <enumeration value="EMAIL_TO_CASE_LIMIT_EXCEEDED"/>
-                    <enumeration value="EMAIL_TO_CASE_NOT_ENABLED"/>
-                    <enumeration value="EXCEEDED_ID_LIMIT"/>
-                    <enumeration value="EXCEEDED_LEAD_CONVERT_LIMIT"/>
-                    <enumeration value="EXCEEDED_MAX_SIZE_REQUEST"/>
-                    <enumeration value="EXCEEDED_MAX_TYPES_LIMIT"/>
-                    <enumeration value="EXCEEDED_QUOTA"/>
-                    <enumeration value="FUNCTIONALITY_NOT_ENABLED"/>
-                    <enumeration value="INACTIVE_OWNER_OR_USER"/>
-                    <enumeration value="INACTIVE_PORTAL"/>
-                    <enumeration value="INSUFFICIENT_ACCESS"/>
-                    <enumeration value="INVALID_ASSIGNMENT_RULE"/>
-                    <enumeration value="INVALID_BATCH_SIZE"/>
-                    <enumeration value="INVALID_CLIENT"/>
-                    <enumeration value="INVALID_CROSS_REFERENCE_KEY"/>
-                    <enumeration value="INVALID_FIELD"/>
-                    <enumeration value="INVALID_FILTER_LANGUAGE"/>
-                    <enumeration value="INVALID_FILTER_VALUE"/>
-                    <enumeration value="INVALID_ID_FIELD"/>
-                    <enumeration value="INVALID_LOCALE_LANGUAGE"/>
-                    <enumeration value="INVALID_LOCATOR"/>
-                    <enumeration value="INVALID_LOGIN"/>
-                    <enumeration value="INVALID_NEW_PASSWORD"/>
-                    <enumeration value="INVALID_OPERATION"/>
-                    <enumeration value="INVALID_OPERATION_WITH_EXPIRED_PASSWORD"/>
-                    <enumeration value="INVALID_QUERY_FILTER_OPERATOR"/>
-                    <enumeration value="INVALID_QUERY_LOCATOR"/>
-                    <enumeration value="INVALID_QUERY_SCOPE"/>
-                    <enumeration value="INVALID_REPLICATION_DATE"/>
-                    <enumeration value="INVALID_SEARCH"/>
-                    <enumeration value="INVALID_SEARCH_SCOPE"/>
-                    <enumeration value="INVALID_SESSION_ID"/>
-                    <enumeration value="INVALID_SOAP_HEADER"/>
-                    <enumeration value="INVALID_SSO_GATEWAY_URL"/>
-                    <enumeration value="INVALID_TYPE"/>
-                    <enumeration value="INVALID_TYPE_FOR_OPERATION"/>
-                    <enumeration value="LIMIT_EXCEEDED"/>
-                    <enumeration value="LOGIN_CHALLENGE_ISSUED"/>
-                    <enumeration value="LOGIN_CHALLENGE_PENDING"/>
-                    <enumeration value="LOGIN_DURING_RESTRICTED_DOMAIN"/>
-                    <enumeration value="LOGIN_DURING_RESTRICTED_TIME"/>
-                    <enumeration value="LOGIN_MUST_USE_SECURITY_TOKEN"/>
-                    <enumeration value="MALFORMED_ID"/>
-                    <enumeration value="MALFORMED_QUERY"/>
-                    <enumeration value="MALFORMED_SEARCH"/>
-                    <enumeration value="MISSING_ARGUMENT"/>
-                    <enumeration value="NOT_MODIFIED"/>
-                    <enumeration value="NO_SOFTPHONE_LAYOUT"/>
-                    <enumeration value="NUMBER_OUTSIDE_VALID_RANGE"/>
-                    <enumeration value="OPERATION_TOO_LARGE"/>
-                    <enumeration value="ORG_LOCKED"/>
-                    <enumeration value="ORG_NOT_OWNED_BY_INSTANCE"/>
-                    <enumeration value="PASSWORD_LOCKOUT"/>
-                    <enumeration value="PORTAL_NO_ACCESS"/>
-                    <enumeration value="QUERY_TIMEOUT"/>
-                    <enumeration value="QUERY_TOO_COMPLICATED"/>
-                    <enumeration value="REQUEST_LIMIT_EXCEEDED"/>
-                    <enumeration value="REQUEST_RUNNING_TOO_LONG"/>
-                    <enumeration value="SERVER_UNAVAILABLE"/>
-                    <enumeration value="SSO_SERVICE_DOWN"/>
-                    <enumeration value="TOO_MANY_APEX_REQUESTS"/>
-                    <enumeration value="TRIAL_EXPIRED"/>
-                    <enumeration value="UNKNOWN_EXCEPTION"/>
-                    <enumeration value="UNSUPPORTED_API_VERSION"/>
-                    <enumeration value="UNSUPPORTED_CLIENT"/>
-                </restriction>
-            </simpleType>
-            <!-- For convenience these QNames are returned in the standard soap faultcode element -->
-            <simpleType name="FaultCode">
-                <restriction base="xsd:QName">
-                    <enumeration value="fns:API_CURRENTLY_DISABLED"/>
-                    <enumeration value="fns:API_DISABLED_FOR_ORG"/>
-                    <enumeration value="fns:CANT_ADD_STANDADRD_PORTAL_USER_TO_TERRITORY"/>
-                    <enumeration value="fns:CANT_ADD_STANDARD_PORTAL_USER_TO_TERRITORY"/>
-                    <enumeration value="fns:CIRCULAR_OBJECT_GRAPH"/>
-                    <enumeration value="fns:CLIENT_NOT_ACCESSIBLE_FOR_USER"/>
-                    <enumeration value="fns:CLIENT_REQUIRE_UPDATE_FOR_USER"/>
-                    <enumeration value="fns:CUSTOM_METADATA_LIMIT_EXCEEDED"/>
-                    <enumeration value="fns:DUPLICATE_VALUE"/>
-                    <enumeration value="fns:EMAIL_BATCH_SIZE_LIMIT_EXCEEDED"/>
-                    <enumeration value="fns:EMAIL_TO_CASE_INVALID_ROUTING"/>
-                    <enumeration value="fns:EMAIL_TO_CASE_LIMIT_EXCEEDED"/>
-                    <enumeration value="fns:EMAIL_TO_CASE_NOT_ENABLED"/>
-                    <enumeration value="fns:EXCEEDED_ID_LIMIT"/>
-                    <enumeration value="fns:EXCEEDED_LEAD_CONVERT_LIMIT"/>
-                    <enumeration value="fns:EXCEEDED_MAX_SIZE_REQUEST"/>
-                    <enumeration value="fns:EXCEEDED_MAX_TYPES_LIMIT"/>
-                    <enumeration value="fns:EXCEEDED_QUOTA"/>
-                    <enumeration value="fns:FUNCTIONALITY_NOT_ENABLED"/>
-                    <enumeration value="fns:INACTIVE_OWNER_OR_USER"/>
-                    <enumeration value="fns:INACTIVE_PORTAL"/>
-                    <enumeration value="fns:INSUFFICIENT_ACCESS"/>
-                    <enumeration value="fns:INVALID_ASSIGNMENT_RULE"/>
-                    <enumeration value="fns:INVALID_BATCH_SIZE"/>
-                    <enumeration value="fns:INVALID_CLIENT"/>
-                    <enumeration value="fns:INVALID_CROSS_REFERENCE_KEY"/>
-                    <enumeration value="fns:INVALID_FIELD"/>
-                    <enumeration value="fns:INVALID_FILTER_LANGUAGE"/>
-                    <enumeration value="fns:INVALID_FILTER_VALUE"/>
-                    <enumeration value="fns:INVALID_ID_FIELD"/>
-                    <enumeration value="fns:INVALID_LOCALE_LANGUAGE"/>
-                    <enumeration value="fns:INVALID_LOCATOR"/>
-                    <enumeration value="fns:INVALID_LOGIN"/>
-                    <enumeration value="fns:INVALID_NEW_PASSWORD"/>
-                    <enumeration value="fns:INVALID_OPERATION"/>
-                    <enumeration value="fns:INVALID_OPERATION_WITH_EXPIRED_PASSWORD"/>
-                    <enumeration value="fns:INVALID_QUERY_FILTER_OPERATOR"/>
-                    <enumeration value="fns:INVALID_QUERY_LOCATOR"/>
-                    <enumeration value="fns:INVALID_QUERY_SCOPE"/>
-                    <enumeration value="fns:INVALID_REPLICATION_DATE"/>
-                    <enumeration value="fns:INVALID_SEARCH"/>
-                    <enumeration value="fns:INVALID_SEARCH_SCOPE"/>
-                    <enumeration value="fns:INVALID_SESSION_ID"/>
-                    <enumeration value="fns:INVALID_SOAP_HEADER"/>
-                    <enumeration value="fns:INVALID_SSO_GATEWAY_URL"/>
-                    <enumeration value="fns:INVALID_TYPE"/>
-                    <enumeration value="fns:INVALID_TYPE_FOR_OPERATION"/>
-                    <enumeration value="fns:LIMIT_EXCEEDED"/>
-                    <enumeration value="fns:LOGIN_CHALLENGE_ISSUED"/>
-                    <enumeration value="fns:LOGIN_CHALLENGE_PENDING"/>
-                    <enumeration value="fns:LOGIN_DURING_RESTRICTED_DOMAIN"/>
-                    <enumeration value="fns:LOGIN_DURING_RESTRICTED_TIME"/>
-                    <enumeration value="fns:LOGIN_MUST_USE_SECURITY_TOKEN"/>
-                    <enumeration value="fns:MALFORMED_ID"/>
-                    <enumeration value="fns:MALFORMED_QUERY"/>
-                    <enumeration value="fns:MALFORMED_SEARCH"/>
-                    <enumeration value="fns:MISSING_ARGUMENT"/>
-                    <enumeration value="fns:NOT_MODIFIED"/>
-                    <enumeration value="fns:NO_SOFTPHONE_LAYOUT"/>
-                    <enumeration value="fns:NUMBER_OUTSIDE_VALID_RANGE"/>
-                    <enumeration value="fns:OPERATION_TOO_LARGE"/>
-                    <enumeration value="fns:ORG_LOCKED"/>
-                    <enumeration value="fns:ORG_NOT_OWNED_BY_INSTANCE"/>
-                    <enumeration value="fns:PASSWORD_LOCKOUT"/>
-                    <enumeration value="fns:PORTAL_NO_ACCESS"/>
-                    <enumeration value="fns:QUERY_TIMEOUT"/>
-                    <enumeration value="fns:QUERY_TOO_COMPLICATED"/>
-                    <enumeration value="fns:REQUEST_LIMIT_EXCEEDED"/>
-                    <enumeration value="fns:REQUEST_RUNNING_TOO_LONG"/>
-                    <enumeration value="fns:SERVER_UNAVAILABLE"/>
-                    <enumeration value="fns:SSO_SERVICE_DOWN"/>
-                    <enumeration value="fns:TOO_MANY_APEX_REQUESTS"/>
-                    <enumeration value="fns:TRIAL_EXPIRED"/>
-                    <enumeration value="fns:UNKNOWN_EXCEPTION"/>
-                    <enumeration value="fns:UNSUPPORTED_API_VERSION"/>
-                    <enumeration value="fns:UNSUPPORTED_CLIENT"/>
-                </restriction>
-            </simpleType>
-
-
-            <!-- Fault -->
-            <complexType name="ApiFault">
-                <sequence>
-                    <element name="exceptionCode" type="fns:ExceptionCode"/>
-                    <element name="exceptionMessage" type="xsd:string"/>
-
-                </sequence>
-            </complexType>
-
-            <element name="fault" type="fns:ApiFault"/>
-
-            <complexType name="ApiQueryFault">
-                <complexContent>
-                    <extension base="fns:ApiFault">
-                        <sequence>
-                        <element name="row" type="xsd:int"/>
-                        <element name="column" type="xsd:int"/>
-                        </sequence>
-                    </extension>
-                </complexContent>
-            </complexType>
-
-            <complexType name="LoginFault">
-                <complexContent>
-                    <extension base="fns:ApiFault"/>
-                </complexContent>
-            </complexType>
-            <element name="LoginFault" type="fns:LoginFault"/>
-
-            <complexType name="InvalidQueryLocatorFault">
-                <complexContent>
-                    <extension base="fns:ApiFault"/>
-                </complexContent>
-            </complexType>
-            <element name="InvalidQueryLocatorFault" type="fns:InvalidQueryLocatorFault"/>
-
-            <complexType name="InvalidNewPasswordFault">
-                <complexContent>
-                    <extension base="fns:ApiFault"/>
-                </complexContent>
-            </complexType>
-            <element name="InvalidNewPasswordFault" type="fns:InvalidNewPasswordFault"/>
-
-            <complexType name="InvalidIdFault">
-                <complexContent>
-                    <extension base="fns:ApiFault"/>
-                </complexContent>
-            </complexType>
-            <element name="InvalidIdFault" type="fns:InvalidIdFault"/>
-
-            <complexType name="UnexpectedErrorFault">
-                <complexContent>
-                    <extension base="fns:ApiFault"/>
-                </complexContent>
-            </complexType>
-            <element name="UnexpectedErrorFault" type="fns:UnexpectedErrorFault"/>
-
-            <complexType name="InvalidFieldFault">
-                <complexContent>
-                    <extension base="fns:ApiQueryFault"/>
-                </complexContent>
-            </complexType>
-            <element name="InvalidFieldFault" type="fns:InvalidFieldFault"/>
-
-            <complexType name="InvalidSObjectFault">
-                <complexContent>
-                    <extension base="fns:ApiQueryFault"/>
-                </complexContent>
-            </complexType>
-            <element name="InvalidSObjectFault" type="fns:InvalidSObjectFault"/>
-
-            <complexType name="MalformedQueryFault">
-                <complexContent>
-                    <extension base="fns:ApiQueryFault"/>
-                </complexContent>
-            </complexType>
-            <element name="MalformedQueryFault" type="fns:MalformedQueryFault"/>
-
-            <complexType name="MalformedSearchFault">
-                <complexContent>
-                    <extension base="fns:ApiQueryFault"/>
-                </complexContent>
-            </complexType>
-            <element name="MalformedSearchFault" type="fns:MalformedSearchFault"/>
-
-
-        </schema>
-    </types>
-
-    <!-- Header Message -->
-    <message name="Header">
-        <part element="tns:LoginScopeHeader" name="LoginScopeHeader"/>
-        <part element="tns:SessionHeader" name="SessionHeader"/>
-
-        <part element="tns:CallOptions" name="CallOptions"/>
-
-        <part element="tns:QueryOptions" name="QueryOptions"/>
-        <part element="tns:AssignmentRuleHeader" name="AssignmentRuleHeader"/>
-        <part element="tns:AllowFieldTruncationHeader" name="AllowFieldTruncationHeader"/>
-
-        <part element="tns:MruHeader" name="MruHeader"/>
-        <part element="tns:EmailHeader" name="EmailHeader"/>
-
-        <part element="tns:UserTerritoryDeleteHeader" name="UserTerritoryDeleteHeader"/>
-
-        <part element="tns:DebuggingHeader" name="DebuggingHeader"/>
-        <part element="tns:PackageVersionHeader" name="PackageVersionHeader"/>
-        <part element="tns:DebuggingInfo" name="DebuggingInfo"/>
-        <part element="tns:LocaleOptions" name="LocaleOptions"/>
-    </message>
-
-    <!-- Fault Messages -->
-
-    <message name="ApiFault">
-        <part name="fault" element="fns:fault"/>
-    </message>
-
-    <message name="LoginFault">
-        <part name="fault" element="fns:LoginFault"/>
-    </message>
-    <message name="InvalidQueryLocatorFault">
-        <part name="fault" element="fns:InvalidQueryLocatorFault"/>
-    </message>
-    <message name="InvalidNewPasswordFault">
-        <part name="fault" element="fns:InvalidNewPasswordFault"/>
-    </message>
-    <message name="InvalidIdFault">
-        <part name="fault" element="fns:InvalidIdFault"/>
-    </message>
-    <message name="UnexpectedErrorFault">
-        <part name="fault" element="fns:UnexpectedErrorFault"/>
-    </message>
-    <message name="InvalidFieldFault">
-        <part name="fault" element="fns:InvalidFieldFault"/>
-    </message>
-    <message name="InvalidSObjectFault">
-        <part name="fault" element="fns:InvalidSObjectFault"/>
-    </message>
-    <message name="MalformedQueryFault">
-        <part name="fault" element="fns:MalformedQueryFault"/>
-    </message>
-    <message name="MalformedSearchFault">
-        <part name="fault" element="fns:MalformedSearchFault"/>
-    </message>
-
-
-    <!-- Method Messages -->
-    <message name="loginRequest">
-        <part element="tns:login" name="parameters"/>
-    </message>
-    <message name="loginResponse">
-        <part element="tns:loginResponse" name="parameters"/>
-    </message>
-
-    <message name="describeSObjectRequest">
-        <part element="tns:describeSObject" name="parameters"/>
-    </message>
-    <message name="describeSObjectResponse">
-        <part element="tns:describeSObjectResponse" name="parameters"/>
-    </message>
-
-    <message name="describeSObjectsRequest">
-        <part element="tns:describeSObjects" name="parameters"/>
-    </message>
-    <message name="describeSObjectsResponse">
-        <part element="tns:describeSObjectsResponse" name="parameters"/>
-    </message>
-
-    <message name="describeGlobalRequest">
-        <part element="tns:describeGlobal" name="parameters"/>
-    </message>
-    <message name="describeGlobalResponse">
-        <part element="tns:describeGlobalResponse" name="parameters"/>
-    </message>
-
-    <message name="describeLayoutRequest">
-        <part element="tns:describeLayout" name="parameters"/>
-    </message>
-    <message name="describeLayoutResponse">
-        <part element="tns:describeLayoutResponse" name="parameters"/>
-    </message>
-
-    <message name="describeSoftphoneLayoutRequest">
-        <part element="tns:describeSoftphoneLayout" name="parameters"/>
-    </message>
-    <message name="describeSoftphoneLayoutResponse">
-        <part element="tns:describeSoftphoneLayoutResponse" name="parameters"/>
-    </message>
-
-    <message name="describeTabsRequest">
-        <part element="tns:describeTabs" name="parameters"/>
-    </message>
-    <message name="describeTabsResponse">
-        <part element="tns:describeTabsResponse" name="parameters"/>
-    </message>
-
-    <message name="createRequest">
-        <part element="tns:create" name="parameters"/>
-    </message>
-    <message name="createResponse">
-        <part element="tns:createResponse" name="parameters"/>
-    </message>
-
-    <message name="updateRequest">
-        <part element="tns:update" name="parameters"/>
-    </message>
-    <message name="updateResponse">
-        <part element="tns:updateResponse" name="parameters"/>
-    </message>
-
-    <message name="upsertRequest">
-        <part element="tns:upsert" name="parameters"/>
-    </message>
-    <message name="upsertResponse">
-        <part element="tns:upsertResponse" name="parameters"/>
-    </message>
-
-    <message name="mergeRequest">
-        <part element="tns:merge" name="parameters"/>
-    </message>
-    <message name="mergeResponse">
-        <part element="tns:mergeResponse" name="parameters"/>
-    </message>
-
-    <message name="deleteRequest">
-        <part element="tns:delete" name="parameters"/>
-    </message>
-    <message name="deleteResponse">
-        <part element="tns:deleteResponse" name="parameters"/>
-    </message>
-
-    <message name="undeleteRequest">
-        <part element="tns:undelete" name="parameters"/>
-    </message>
-    <message name="undeleteResponse">
-        <part element="tns:undeleteResponse" name="parameters"/>
-    </message>
-
-    <message name="emptyRecycleBinRequest">
-        <part element="tns:emptyRecycleBin" name="parameters"/>
-    </message>
-    <message name="emptyRecycleBinResponse">
-        <part element="tns:emptyRecycleBinResponse" name="parameters"/>
-    </message>
-
-    <message name="retrieveRequest">
-        <part element="tns:retrieve" name="parameters"/>
-    </message>
-    <message name="retrieveResponse">
-        <part element="tns:retrieveResponse" name="parameters"/>
-    </message>
-
-    <message name="processRequest">
-        <part element="tns:process" name="parameters"/>
-    </message>
-    <message name="processResponse">
-        <part element="tns:processResponse" name="parameters"/>
-    </message>
-
-    <message name="convertLeadRequest">
-        <part element="tns:convertLead" name="parameters"/>
-    </message>
-    <message name="convertLeadResponse">
-        <part element="tns:convertLeadResponse" name="parameters"/>
-    </message>
-
-    <message name="logoutRequest">
-        <part element="tns:logout" name="parameters"/>
-    </message>
-    <message name="logoutResponse">
-        <part element="tns:logoutResponse" name="parameters"/>
-    </message>
-
-    <message name="invalidateSessionsRequest">
-        <part element="tns:invalidateSessions" name="parameters"/>
-    </message>
-    <message name="invalidateSessionsResponse">
-        <part element="tns:invalidateSessionsResponse" name="parameters"/>
-    </message>
-
-    <message name="getDeletedRequest">
-        <part element="tns:getDeleted" name="parameters"/>
-    </message>
-    <message name="getDeletedResponse">
-        <part element="tns:getDeletedResponse" name="parameters"/>
-    </message>
-
-    <message name="getUpdatedRequest">
-        <part element="tns:getUpdated" name="parameters"/>
-    </message>
-    <message name="getUpdatedResponse">
-        <part element="tns:getUpdatedResponse" name="parameters"/>
-    </message>
-
-    <message name="queryRequest">
-        <part element="tns:query" name="parameters"/>
-    </message>
-    <message name="queryResponse">
-        <part element="tns:queryResponse" name="parameters"/>
-    </message>
-
-    <message name="queryAllRequest">
-        <part element="tns:queryAll" name="parameters"/>
-    </message>
-    <message name="queryAllResponse">
-        <part element="tns:queryAllResponse" name="parameters"/>
-    </message>
-
-    <message name="queryMoreRequest">
-        <part element="tns:queryMore" name="parameters"/>
-    </message>
-    <message name="queryMoreResponse">
-        <part element="tns:queryMoreResponse" name="parameters"/>
-    </message>
-
-    <message name="searchRequest">
-        <part element="tns:search" name="parameters"/>
-    </message>
-    <message name="searchResponse">
-        <part element="tns:searchResponse" name="parameters"/>
-    </message>
-
-    <message name="getServerTimestampRequest">
-        <part element="tns:getServerTimestamp" name="parameters"/>
-    </message>
-    <message name="getServerTimestampResponse">
-        <part element="tns:getServerTimestampResponse" name="parameters"/>
-    </message>
-
-    <message name="setPasswordRequest">
-        <part element="tns:setPassword" name="parameters"/>
-    </message>
-    <message name="setPasswordResponse">
-        <part element="tns:setPasswordResponse" name="parameters"/>
-    </message>
-
-    <message name="resetPasswordRequest">
-        <part element="tns:resetPassword" name="parameters"/>
-    </message>
-    <message name="resetPasswordResponse">
-        <part element="tns:resetPasswordResponse" name="parameters"/>
-    </message>
-
-    <message name="getUserInfoRequest">
-        <part element="tns:getUserInfo" name="parameters"/>
-    </message>
-    <message name="getUserInfoResponse">
-        <part element="tns:getUserInfoResponse" name="parameters"/>
-    </message>
-
-    <message name="sendEmailRequest">
-        <part element="tns:sendEmail" name="parameters"/>
-    </message>
-    <message name="sendEmailResponse">
-        <part element="tns:sendEmailResponse" name="parameters"/>
-    </message>
-
-
-
-    <!-- Soap PortType -->
-    <portType name="Soap">
-        <operation name="login">
-            <documentation>Login to the Salesforce.com SOAP Api</documentation>
-            <input message="tns:loginRequest"/>
-            <output message="tns:loginResponse"/>
-            <fault message="tns:LoginFault" name="LoginFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-        </operation>
-
-        <operation name="describeSObject">
-            <documentation>Describe an sObject</documentation>
-            <input message="tns:describeSObjectRequest"/>
-            <output message="tns:describeSObjectResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="describeSObjects">
-            <documentation>Describe a number sObjects</documentation>
-            <input message="tns:describeSObjectsRequest"/>
-            <output message="tns:describeSObjectsResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="describeGlobal">
-            <documentation>Describe the Global state</documentation>
-            <input message="tns:describeGlobalRequest"/>
-            <output message="tns:describeGlobalResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="describeLayout">
-            <documentation>Describe the layout of an sObject</documentation>
-            <input message="tns:describeLayoutRequest"/>
-            <output message="tns:describeLayoutResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-        </operation>
-
-        <operation name="describeSoftphoneLayout">
-            <documentation>Describe the layout of the SoftPhone</documentation>
-            <input message="tns:describeSoftphoneLayoutRequest"/>
-            <output message="tns:describeSoftphoneLayoutResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="describeTabs">
-            <documentation>Describe the tabs that appear on a users page</documentation>
-            <input message="tns:describeTabsRequest"/>
-            <output message="tns:describeTabsResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="create">
-            <documentation>Create a set of new sObjects</documentation>
-            <input message="tns:createRequest"/>
-            <output message="tns:createResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-            <fault message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
-        </operation>
-
-        <operation name="update">
-            <documentation>Update a set of sObjects</documentation>
-            <input message="tns:updateRequest"/>
-            <output message="tns:updateResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-            <fault message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
-        </operation>
-
-        <operation name="upsert">
-            <documentation>Update or insert a set of sObjects based on object id</documentation>
-            <input message="tns:upsertRequest"/>
-            <output message="tns:upsertResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-            <fault message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
-        </operation>
-
-        <operation name="merge">
-            <documentation>Merge and update a set of sObjects based on object id</documentation>
-            <input message="tns:mergeRequest"/>
-            <output message="tns:mergeResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-            <fault message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
-        </operation>
-
-        <operation name="delete">
-            <documentation>Delete a set of sObjects</documentation>
-            <input message="tns:deleteRequest"/>
-            <output message="tns:deleteResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="undelete">
-            <documentation>Undelete a set of sObjects</documentation>
-            <input message="tns:undeleteRequest"/>
-            <output message="tns:undeleteResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="emptyRecycleBin">
-            <documentation>Empty a set of sObjects from the recycle bin</documentation>
-            <input message="tns:emptyRecycleBinRequest"/>
-            <output message="tns:emptyRecycleBinResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="retrieve">
-            <documentation>Get a set of sObjects</documentation>
-            <input message="tns:retrieveRequest"/>
-            <output message="tns:retrieveResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
-            <fault message="tns:MalformedQueryFault" name="MalformedQueryFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-        </operation>
-
-        <operation name="process">
-            <documentation>Submit an entity to a workflow process or process a workitem</documentation>
-            <input message="tns:processRequest"/>
-            <output message="tns:processResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-        </operation>
-
-        <operation name="convertLead">
-            <documentation>convert a set of leads</documentation>
-            <input message="tns:convertLeadRequest"/>
-            <output message="tns:convertLeadResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="logout">
-            <documentation>Logout the current user, invalidating the current session.</documentation>
-            <input message="tns:logoutRequest"/>
-            <output message="tns:logoutResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="invalidateSessions">
-            <documentation>Logs out and invalidates session ids</documentation>
-            <input message="tns:invalidateSessionsRequest"/>
-            <output message="tns:invalidateSessionsResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="getDeleted">
-            <documentation>Get the IDs for deleted sObjects</documentation>
-            <input message="tns:getDeletedRequest"/>
-            <output message="tns:getDeletedResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="getUpdated">
-            <documentation>Get the IDs for updated sObjects</documentation>
-            <input message="tns:getUpdatedRequest"/>
-            <output message="tns:getUpdatedResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="query">
-            <documentation>Create a Query Cursor</documentation>
-            <input message="tns:queryRequest"/>
-            <output message="tns:queryResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
-            <fault message="tns:MalformedQueryFault" name="MalformedQueryFault"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-            <fault message="tns:InvalidQueryLocatorFault" name="InvalidQueryLocatorFault"/>
-        </operation>
-
-        <operation name="queryAll">
-            <documentation>Create a Query Cursor, including deleted sObjects</documentation>
-            <input message="tns:queryAllRequest"/>
-            <output message="tns:queryAllResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
-            <fault message="tns:MalformedQueryFault" name="MalformedQueryFault"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-            <fault message="tns:InvalidQueryLocatorFault" name="InvalidQueryLocatorFault"/>
-        </operation>
-
-        <operation name="queryMore">
-            <documentation>Gets the next batch of sObjects from a query</documentation>
-            <input message="tns:queryMoreRequest"/>
-            <output message="tns:queryMoreResponse"/>
-            <fault message="tns:InvalidQueryLocatorFault" name="InvalidQueryLocatorFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-            <fault message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
-        </operation>
-
-        <operation name="search">
-            <documentation>Search for sObjects</documentation>
-            <input message="tns:searchRequest"/>
-            <output message="tns:searchResponse"/>
-            <fault message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
-            <fault message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
-            <fault message="tns:MalformedSearchFault" name="MalformedSearchFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="getServerTimestamp">
-            <documentation>Gets server timestamp</documentation>
-            <input message="tns:getServerTimestampRequest"/>
-            <output message="tns:getServerTimestampResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="setPassword">
-            <documentation>Set a user's password</documentation>
-            <input message="tns:setPasswordRequest"/>
-            <output message="tns:setPasswordResponse"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-            <fault message="tns:InvalidNewPasswordFault" name="InvalidNewPasswordFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="resetPassword">
-            <documentation>Reset a user's password</documentation>
-            <input message="tns:resetPasswordRequest"/>
-            <output message="tns:resetPasswordResponse"/>
-            <fault message="tns:InvalidIdFault" name="InvalidIdFault"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="getUserInfo">
-            <documentation>Returns standard information relevant to the current user</documentation>
-            <input message="tns:getUserInfoRequest"/>
-            <output message="tns:getUserInfoResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-        <operation name="sendEmail">
-            <documentation>Send outbound email</documentation>
-            <input message="tns:sendEmailRequest"/>
-            <output message="tns:sendEmailResponse"/>
-            <fault message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
-        </operation>
-
-    </portType>
-
-    <!-- Soap Binding -->
-    <binding name="SoapBinding" type="tns:Soap">
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <operation name="login">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="LoginScopeHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="LoginFault">
-                <soap:fault name="LoginFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="describeSObject">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="LocaleOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="describeSObjects">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="LocaleOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="describeGlobal">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="describeLayout">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="describeSoftphoneLayout">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="describeTabs">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="create">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="AssignmentRuleHeader"/>
-                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
-                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
-                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-            <fault name="InvalidFieldFault">
-                <soap:fault name="InvalidFieldFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="update">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="AssignmentRuleHeader"/>
-                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
-                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
-                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-            <fault name="InvalidFieldFault">
-                <soap:fault name="InvalidFieldFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="upsert">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="AssignmentRuleHeader"/>
-                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
-                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
-                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-            <fault name="InvalidFieldFault">
-                <soap:fault name="InvalidFieldFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="merge">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="AssignmentRuleHeader"/>
-                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
-                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
-                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-            <fault name="InvalidFieldFault">
-                <soap:fault name="InvalidFieldFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="delete">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="UserTerritoryDeleteHeader"/>
-                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
-                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
-                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="undelete">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
-                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="emptyRecycleBin">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="retrieve">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="QueryOptions"/>
-                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="InvalidFieldFault">
-                <soap:fault name="InvalidFieldFault" use="literal"/>
-            </fault>
-            <fault name="MalformedQueryFault">
-                <soap:fault name="MalformedQueryFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="process">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
-                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="convertLead">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
-                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="logout">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="invalidateSessions">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="getDeleted">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="getUpdated">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="query">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="QueryOptions"/>
-                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="InvalidFieldFault">
-                <soap:fault name="InvalidFieldFault" use="literal"/>
-            </fault>
-            <fault name="MalformedQueryFault">
-                <soap:fault name="MalformedQueryFault" use="literal"/>
-            </fault>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-            <fault name="InvalidQueryLocatorFault">
-                <soap:fault name="InvalidQueryLocatorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="queryAll">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="QueryOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="InvalidFieldFault">
-                <soap:fault name="InvalidFieldFault" use="literal"/>
-            </fault>
-            <fault name="MalformedQueryFault">
-                <soap:fault name="MalformedQueryFault" use="literal"/>
-            </fault>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-            <fault name="InvalidQueryLocatorFault">
-                <soap:fault name="InvalidQueryLocatorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="queryMore">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="QueryOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidQueryLocatorFault">
-                <soap:fault name="InvalidQueryLocatorFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-            <fault name="InvalidFieldFault">
-                <soap:fault name="InvalidFieldFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="search">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidSObjectFault">
-                <soap:fault name="InvalidSObjectFault" use="literal"/>
-            </fault>
-            <fault name="InvalidFieldFault">
-                <soap:fault name="InvalidFieldFault" use="literal"/>
-            </fault>
-            <fault name="MalformedSearchFault">
-                <soap:fault name="MalformedSearchFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="getServerTimestamp">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="setPassword">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-            <fault name="InvalidNewPasswordFault">
-                <soap:fault name="InvalidNewPasswordFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="resetPassword">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="InvalidIdFault">
-                <soap:fault name="InvalidIdFault" use="literal"/>
-            </fault>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="getUserInfo">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-        <operation name="sendEmail">
-            <soap:operation soapAction=""/>
-            <input>
-                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
-                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
-                <soap:body parts="parameters" use="literal"/>
-            </input>
-            <output>
-                <soap:body use="literal"/>
-            </output>
-            <fault name="UnexpectedErrorFault">
-                <soap:fault name="UnexpectedErrorFault" use="literal"/>
-            </fault>
-        </operation>
-
-    </binding>
-
-    <!-- Soap Service Endpoint -->
-    <service name="SforceService">
-        <documentation>Sforce SOAP API</documentation>
-        <port binding="tns:SoapBinding" name="Soap">
-            <soap:address location="https://www.salesforce.com/services/Soap/u/17.0"/>
-        </port>
-    </service>
-</definitions>
\ No newline at end of file

Copied: trunk/connectors/salesforce-api/src/main/resources/partner_v22.wsdl (from rev 3455, branches/7.4.x/connectors/salesforce-api/src/main/resources/partner_v22.wsdl)
===================================================================
--- trunk/connectors/salesforce-api/src/main/resources/partner_v22.wsdl	                        (rev 0)
+++ trunk/connectors/salesforce-api/src/main/resources/partner_v22.wsdl	2011-10-03 12:04:56 UTC (rev 3510)
@@ -0,0 +1,3164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+<!--
+Salesforce.com Partner Web Services API Version 22.0
+Generated on 2011-08-31 16:53:00 +0000.
+
+Copyright 1999-2011 salesforce.com, inc.
+All Rights Reserved
+-->
+
+<definitions targetNamespace="urn:partner.soap.sforce.com"
+             xmlns="http://schemas.xmlsoap.org/wsdl/"
+             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+             xmlns:fns="urn:fault.partner.soap.sforce.com"
+             xmlns:tns="urn:partner.soap.sforce.com"
+             xmlns:ens="urn:sobject.partner.soap.sforce.com">
+    <types>
+
+        <schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:sobject.partner.soap.sforce.com">
+
+            <import namespace="urn:partner.soap.sforce.com"/>
+
+
+            <!-- Dynamic sObject -->
+            <complexType name="sObject">
+                <sequence>
+                    <element name="type"               type="xsd:string"/>
+                    <element name="fieldsToNull"       type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="Id"                 type="tns:ID" nillable="true" />
+                    <any namespace="##targetNamespace" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
+                </sequence>
+            </complexType>
+
+        </schema>
+
+        <schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:partner.soap.sforce.com">
+
+            <import namespace="urn:sobject.partner.soap.sforce.com"/>
+
+            <!-- Our simple ID Type -->
+            <simpleType name="ID">
+                <restriction base="xsd:string">
+                    <length value="18"/>
+                    <pattern value='[a-zA-Z0-9]{18}'/>
+                </restriction>
+            </simpleType>
+
+            <simpleType name="QueryLocator">
+                <restriction base="xsd:string"/>
+            </simpleType>
+
+            <!-- Shared Result Types -->
+            <complexType name="QueryResult">
+                <sequence>
+                    <element name="done"         type="xsd:boolean"/>
+                    <element name="queryLocator" type="tns:QueryLocator" nillable="true"/>
+                    <element name="records"      type="ens:sObject" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="size"         type="xsd:int"/>
+                </sequence>
+            </complexType>
+
+
+
+            <!-- Search Result -->
+            <complexType name="SearchResult">
+                <sequence>
+                    <element name="searchRecords"  minOccurs="0" maxOccurs="unbounded" type="tns:SearchRecord"/>
+                    <element name="sforceReserved" minOccurs="0" maxOccurs="1" type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="SearchRecord">
+                <sequence>
+                    <element name="record" type="ens:sObject"/>
+                </sequence>
+            </complexType>
+
+            <!-- GetUpdated Result -->
+            <complexType name="GetUpdatedResult">
+                <sequence>
+                    <element name="ids" minOccurs="0" maxOccurs="unbounded" type="tns:ID"/>
+                    <element name="latestDateCovered" type="xsd:dateTime"/>
+                    <element name="sforceReserved" minOccurs="0" maxOccurs="1" type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <!-- GetDeleted Result -->
+            <complexType name="GetDeletedResult">
+                <sequence>
+                    <element name="deletedRecords" minOccurs="0" maxOccurs="unbounded" type="tns:DeletedRecord"/>
+                    <element name="earliestDateAvailable" type="xsd:dateTime"/>
+                    <element name="latestDateCovered" type="xsd:dateTime"/>
+                    <element name="sforceReserved" minOccurs="0" maxOccurs="1" type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DeletedRecord">
+                <sequence>
+                    <element name="deletedDate" type="xsd:dateTime"/>
+                    <element name="id"          type="tns:ID"/>
+                </sequence>
+            </complexType>
+
+
+            <complexType name="GetServerTimestampResult">
+                <sequence>
+                    <element name="timestamp" type="xsd:dateTime"/>
+                </sequence>
+            </complexType>
+
+
+            <!-- InvalidateSessions Result -->
+            <complexType name="InvalidateSessionsResult">
+                <sequence>
+                    <element name="errors"  type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="success"   type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="SetPasswordResult">
+            </complexType>
+
+            <complexType name="ResetPasswordResult">
+                <sequence>
+                    <element name="password" type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="GetUserInfoResult">
+                <sequence>
+                    <element name="accessibilityMode"          type="xsd:boolean"/>
+                    <element name="currencySymbol"             type="xsd:string" nillable="true"/>
+                    <element name="orgAttachmentFileSizeLimit" type="xsd:int"/>
+                    <element name="orgDefaultCurrencyIsoCode"  type="xsd:string" nillable="true"/>
+                    <element name="orgDisallowHtmlAttachments" type="xsd:boolean"/>
+                    <element name="orgHasPersonAccounts"       type="xsd:boolean"/>
+                    <element name="organizationId"             type="tns:ID"/>
+                    <element name="organizationMultiCurrency"  type="xsd:boolean"/>
+                    <element name="organizationName"           type="xsd:string"/>
+                    <element name="profileId"                  type="tns:ID"/>
+                    <element name="roleId"                     type="tns:ID" nillable="true"/>
+                    <element name="sessionSecondsValid"        type="xsd:int"/>
+                    <element name="userDefaultCurrencyIsoCode" type="xsd:string" nillable="true"/>
+                    <element name="userEmail"                  type="xsd:string"/>
+                    <element name="userFullName"               type="xsd:string"/>
+                    <element name="userId"                     type="tns:ID"/>
+                    <element name="userLanguage"               type="xsd:string"/>
+                    <element name="userLocale"                 type="xsd:string"/>
+                    <element name="userName"                   type="xsd:string"/>
+                    <element name="userTimeZone"               type="xsd:string"/>
+                    <element name="userType"                   type="xsd:string"/>
+                    <element name="userUiSkin"                 type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="LoginResult">
+                <sequence>
+                    <element name="metadataServerUrl" type="xsd:string" nillable="true"/>
+                    <element name="passwordExpired"   type="xsd:boolean" />
+                    <element name="sandbox"      type="xsd:boolean"/>
+                    <element name="serverUrl"         type="xsd:string" nillable="true"/>
+                    <element name="sessionId"         type="xsd:string" nillable="true"/>
+
+                    <element name="userId"           type="tns:ID" nillable="true"/>
+                    <element name="userInfo"         type="tns:GetUserInfoResult" minOccurs="0"/>
+                </sequence>
+            </complexType>
+
+            <simpleType name="StatusCode">
+                <restriction base="xsd:string">
+                    <enumeration value="ALL_OR_NONE_OPERATION_ROLLED_BACK"/>
+                    <enumeration value="ALREADY_IN_PROCESS"/>
+                    <enumeration value="ASSIGNEE_TYPE_REQUIRED"/>
+                    <enumeration value="BAD_CUSTOM_ENTITY_PARENT_DOMAIN"/>
+                    <enumeration value="BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED"/>
+                    <enumeration value="CANNOT_CASCADE_PRODUCT_ACTIVE"/>
+                    <enumeration value="CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD"/>
+                    <enumeration value="CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE"/>
+                    <enumeration value="CANNOT_DEACTIVATE_DIVISION"/>
+                    <enumeration value="CANNOT_DELETE_LAST_DATED_CONVERSION_RATE"/>
+                    <enumeration value="CANNOT_DELETE_MANAGED_OBJECT"/>
+                    <enumeration value="CANNOT_DISABLE_LAST_ADMIN"/>
+                    <enumeration value="CANNOT_ENABLE_IP_RESTRICT_REQUESTS"/>
+                    <enumeration value="CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY"/>
+                    <enumeration value="CANNOT_MODIFY_MANAGED_OBJECT"/>
+                    <enumeration value="CANNOT_RENAME_APEX_REFERENCED_FIELD"/>
+                    <enumeration value="CANNOT_RENAME_APEX_REFERENCED_OBJECT"/>
+                    <enumeration value="CANNOT_REPARENT_RECORD"/>
+                    <enumeration value="CANNOT_UPDATE_CONVERTED_LEAD"/>
+                    <enumeration value="CANT_DISABLE_CORP_CURRENCY"/>
+                    <enumeration value="CANT_UNSET_CORP_CURRENCY"/>
+                    <enumeration value="CHILD_SHARE_FAILS_PARENT"/>
+                    <enumeration value="CIRCULAR_DEPENDENCY"/>
+                    <enumeration value="COMMUNITY_NOT_ACCESSIBLE"/>
+                    <enumeration value="CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED"/>
+                    <enumeration value="CUSTOM_ENTITY_OR_FIELD_LIMIT"/>
+                    <enumeration value="CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED"/>
+                    <enumeration value="CUSTOM_INDEX_EXISTS"/>
+                    <enumeration value="CUSTOM_LINK_LIMIT_EXCEEDED"/>
+                    <enumeration value="CUSTOM_TAB_LIMIT_EXCEEDED"/>
+                    <enumeration value="DELETE_FAILED"/>
+                    <enumeration value="DELETE_REQUIRED_ON_CASCADE"/>
+                    <enumeration value="DEPENDENCY_EXISTS"/>
+                    <enumeration value="DUPLICATE_CASE_SOLUTION"/>
+                    <enumeration value="DUPLICATE_COMM_NICKNAME"/>
+                    <enumeration value="DUPLICATE_CUSTOM_ENTITY_DEFINITION"/>
+                    <enumeration value="DUPLICATE_CUSTOM_TAB_MOTIF"/>
+                    <enumeration value="DUPLICATE_DEVELOPER_NAME"/>
+                    <enumeration value="DUPLICATE_EXTERNAL_ID"/>
+                    <enumeration value="DUPLICATE_MASTER_LABEL"/>
+                    <enumeration value="DUPLICATE_SENDER_DISPLAY_NAME"/>
+                    <enumeration value="DUPLICATE_USERNAME"/>
+                    <enumeration value="DUPLICATE_VALUE"/>
+                    <enumeration value="EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR"/>
+                    <enumeration value="EMPTY_SCONTROL_FILE_NAME"/>
+                    <enumeration value="ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE"/>
+                    <enumeration value="ENTITY_IS_ARCHIVED"/>
+                    <enumeration value="ENTITY_IS_DELETED"/>
+                    <enumeration value="ENTITY_IS_LOCKED"/>
+                    <enumeration value="ERROR_IN_MAILER"/>
+                    <enumeration value="FAILED_ACTIVATION"/>
+                    <enumeration value="FIELD_CUSTOM_VALIDATION_EXCEPTION"/>
+                    <enumeration value="FIELD_FILTER_VALIDATION_EXCEPTION"/>
+                    <enumeration value="FIELD_INTEGRITY_EXCEPTION"/>
+                    <enumeration value="FILTERED_LOOKUP_LIMIT_EXCEEDED"/>
+                    <enumeration value="HTML_FILE_UPLOAD_NOT_ALLOWED"/>
+                    <enumeration value="IMAGE_TOO_LARGE"/>
+                    <enumeration value="INACTIVE_OWNER_OR_USER"/>
+                    <enumeration value="INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY"/>
+                    <enumeration value="INSUFFICIENT_ACCESS_OR_READONLY"/>
+                    <enumeration value="INVALID_ACCESS_LEVEL"/>
+                    <enumeration value="INVALID_ARGUMENT_TYPE"/>
+                    <enumeration value="INVALID_ASSIGNEE_TYPE"/>
+                    <enumeration value="INVALID_ASSIGNMENT_RULE"/>
+                    <enumeration value="INVALID_BATCH_OPERATION"/>
+                    <enumeration value="INVALID_CONTENT_TYPE"/>
+                    <enumeration value="INVALID_CREDIT_CARD_INFO"/>
+                    <enumeration value="INVALID_CROSS_REFERENCE_KEY"/>
+                    <enumeration value="INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD"/>
+                    <enumeration value="INVALID_CURRENCY_CONV_RATE"/>
+                    <enumeration value="INVALID_CURRENCY_CORP_RATE"/>
+                    <enumeration value="INVALID_CURRENCY_ISO"/>
+                    <enumeration value="INVALID_DATA_CATEGORY_GROUP_REFERENCE"/>
+                    <enumeration value="INVALID_DATA_URI"/>
+                    <enumeration value="INVALID_EMAIL_ADDRESS"/>
+                    <enumeration value="INVALID_EMPTY_KEY_OWNER"/>
+                    <enumeration value="INVALID_FIELD"/>
+                    <enumeration value="INVALID_FIELD_FOR_INSERT_UPDATE"/>
+                    <enumeration value="INVALID_FIELD_WHEN_USING_TEMPLATE"/>
+                    <enumeration value="INVALID_FILTER_ACTION"/>
+                    <enumeration value="INVALID_GOOGLE_DOCS_URL"/>
+                    <enumeration value="INVALID_ID_FIELD"/>
+                    <enumeration value="INVALID_INET_ADDRESS"/>
+                    <enumeration value="INVALID_LINEITEM_CLONE_STATE"/>
+                    <enumeration value="INVALID_MASTER_OR_TRANSLATED_SOLUTION"/>
+                    <enumeration value="INVALID_MESSAGE_ID_REFERENCE"/>
+                    <enumeration value="INVALID_OPERATION"/>
+                    <enumeration value="INVALID_OPERATOR"/>
+                    <enumeration value="INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST"/>
+                    <enumeration value="INVALID_PARTNER_NETWORK_STATUS"/>
+                    <enumeration value="INVALID_PERSON_ACCOUNT_OPERATION"/>
+                    <enumeration value="INVALID_READ_ONLY_USER_DML"/>
+                    <enumeration value="INVALID_SAVE_AS_ACTIVITY_FLAG"/>
+                    <enumeration value="INVALID_SESSION_ID"/>
+                    <enumeration value="INVALID_SETUP_OWNER"/>
+                    <enumeration value="INVALID_STATUS"/>
+                    <enumeration value="INVALID_TYPE"/>
+                    <enumeration value="INVALID_TYPE_FOR_OPERATION"/>
+                    <enumeration value="INVALID_TYPE_ON_FIELD_IN_RECORD"/>
+                    <enumeration value="IP_RANGE_LIMIT_EXCEEDED"/>
+                    <enumeration value="LICENSE_LIMIT_EXCEEDED"/>
+                    <enumeration value="LIGHT_PORTAL_USER_EXCEPTION"/>
+                    <enumeration value="LIMIT_EXCEEDED"/>
+                    <enumeration value="MALFORMED_ID"/>
+                    <enumeration value="MANAGER_NOT_DEFINED"/>
+                    <enumeration value="MASSMAIL_RETRY_LIMIT_EXCEEDED"/>
+                    <enumeration value="MASS_MAIL_LIMIT_EXCEEDED"/>
+                    <enumeration value="MAXIMUM_CCEMAILS_EXCEEDED"/>
+                    <enumeration value="MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED"/>
+                    <enumeration value="MAXIMUM_HIERARCHY_LEVELS_REACHED"/>
+                    <enumeration value="MAXIMUM_SIZE_OF_ATTACHMENT"/>
+                    <enumeration value="MAXIMUM_SIZE_OF_DOCUMENT"/>
+                    <enumeration value="MAX_ACTIONS_PER_RULE_EXCEEDED"/>
+                    <enumeration value="MAX_ACTIVE_RULES_EXCEEDED"/>
+                    <enumeration value="MAX_APPROVAL_STEPS_EXCEEDED"/>
+                    <enumeration value="MAX_FORMULAS_PER_RULE_EXCEEDED"/>
+                    <enumeration value="MAX_RULES_EXCEEDED"/>
+                    <enumeration value="MAX_RULE_ENTRIES_EXCEEDED"/>
+                    <enumeration value="MAX_TASK_DESCRIPTION_EXCEEEDED"/>
+                    <enumeration value="MAX_TM_RULES_EXCEEDED"/>
+                    <enumeration value="MAX_TM_RULE_ITEMS_EXCEEDED"/>
+                    <enumeration value="MERGE_FAILED"/>
+                    <enumeration value="MISSING_ARGUMENT"/>
+                    <enumeration value="MIXED_DML_OPERATION"/>
+                    <enumeration value="NONUNIQUE_SHIPPING_ADDRESS"/>
+                    <enumeration value="NO_APPLICABLE_PROCESS"/>
+                    <enumeration value="NO_ATTACHMENT_PERMISSION"/>
+                    <enumeration value="NO_INACTIVE_DIVISION_MEMBERS"/>
+                    <enumeration value="NO_MASS_MAIL_PERMISSION"/>
+                    <enumeration value="NUMBER_OUTSIDE_VALID_RANGE"/>
+                    <enumeration value="NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED"/>
+                    <enumeration value="OPTED_OUT_OF_MASS_MAIL"/>
+                    <enumeration value="OP_WITH_INVALID_USER_TYPE_EXCEPTION"/>
+                    <enumeration value="PACKAGE_LICENSE_REQUIRED"/>
+                    <enumeration value="PORTAL_NO_ACCESS"/>
+                    <enumeration value="PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT"/>
+                    <enumeration value="PRIVATE_CONTACT_ON_ASSET"/>
+                    <enumeration value="RECORD_IN_USE_BY_WORKFLOW"/>
+                    <enumeration value="REQUEST_RUNNING_TOO_LONG"/>
+                    <enumeration value="REQUIRED_FEATURE_MISSING"/>
+                    <enumeration value="REQUIRED_FIELD_MISSING"/>
+                    <enumeration value="SELF_REFERENCE_FROM_TRIGGER"/>
+                    <enumeration value="SHARE_NEEDED_FOR_CHILD_OWNER"/>
+                    <enumeration value="SINGLE_EMAIL_LIMIT_EXCEEDED"/>
+                    <enumeration value="STANDARD_PRICE_NOT_DEFINED"/>
+                    <enumeration value="STORAGE_LIMIT_EXCEEDED"/>
+                    <enumeration value="STRING_TOO_LONG"/>
+                    <enumeration value="TABSET_LIMIT_EXCEEDED"/>
+                    <enumeration value="TEMPLATE_NOT_ACTIVE"/>
+                    <enumeration value="TERRITORY_REALIGN_IN_PROGRESS"/>
+                    <enumeration value="TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET"/>
+                    <enumeration value="TOO_MANY_APEX_REQUESTS"/>
+                    <enumeration value="TOO_MANY_ENUM_VALUE"/>
+                    <enumeration value="TRANSFER_REQUIRES_READ"/>
+                    <enumeration value="UNABLE_TO_LOCK_ROW"/>
+                    <enumeration value="UNAVAILABLE_RECORDTYPE_EXCEPTION"/>
+                    <enumeration value="UNDELETE_FAILED"/>
+                    <enumeration value="UNKNOWN_EXCEPTION"/>
+                    <enumeration value="UNSPECIFIED_EMAIL_ADDRESS"/>
+                    <enumeration value="UNSUPPORTED_APEX_TRIGGER_OPERATON"/>
+                    <enumeration value="UNVERIFIED_SENDER_ADDRESS"/>
+                    <enumeration value="USER_OWNS_PORTAL_ACCOUNT_EXCEPTION"/>
+                    <enumeration value="USER_WITH_APEX_SHARES_EXCEPTION"/>
+                    <enumeration value="WEBLINK_SIZE_LIMIT_EXCEEDED"/>
+                    <enumeration value="WRONG_CONTROLLER_TYPE"/>
+                </restriction>
+            </simpleType>
+
+
+            <complexType name="Error">
+                <sequence>
+                    <element name="fields"     type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="message"    type="xsd:string"/>
+                    <element name="statusCode" type="tns:StatusCode"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="SendEmailError">
+                <sequence>
+                    <element name="fields"     type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="message"    type="xsd:string"/>
+                    <element name="statusCode" type="tns:StatusCode"/>
+                    <element name="targetObjectId"     type="tns:ID"  nillable="true"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="SaveResult">
+                <sequence>
+                    <element name="errors"    type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="id"        type="tns:ID" nillable="true"/>
+                    <element name="success"   type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="UpsertResult">
+                <sequence>
+                    <element name="created"  type="xsd:boolean"/>
+                    <element name="errors"    type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="id"       type="tns:ID" nillable="true"/>
+                    <element name="success"   type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="MergeRequest">
+                <sequence>
+                    <element name="masterRecord" type="ens:sObject"/>
+                    <element name="recordToMergeIds" type="tns:ID" minOccurs="1" maxOccurs="unbounded"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="MergeResult">
+                <sequence>
+                    <element name="errors"    type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="id"        type="tns:ID" nillable="true"/>
+                    <element name="mergedRecordIds" type="tns:ID" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="success"   type="xsd:boolean"/>
+                    <element name="updatedRelatedIds" type="tns:ID" minOccurs="0" maxOccurs="unbounded"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="ProcessRequest">
+                <sequence>
+                    <element name="comments"       type="xsd:string" nillable="true"/>
+                    <element name="nextApproverIds" type="tns:ID" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="ProcessSubmitRequest">
+                <complexContent>
+                    <extension base="tns:ProcessRequest">
+                        <sequence>
+                            <element name="objectId"     type="tns:ID"/>
+                        </sequence>
+                    </extension>
+                </complexContent>
+            </complexType>
+
+            <complexType name="ProcessWorkitemRequest">
+                <complexContent>
+                    <extension base="tns:ProcessRequest">
+                        <sequence>
+                            <element name="action"         type="xsd:string"/>
+                            <element name="workitemId"     type="tns:ID"/>
+                        </sequence>
+                    </extension>
+                </complexContent>
+            </complexType>
+
+
+
+            <complexType name="ProcessResult">
+                <sequence>
+                    <element name="actorIds"        type="tns:ID" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="entityId"        type="tns:ID" nillable="true"/>
+                    <element name="errors"          type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="instanceId"      type="tns:ID" nillable="true"/>
+                    <element name="instanceStatus"  type="xsd:string" nillable="true"/>
+                    <element name="newWorkitemIds"  type="tns:ID" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="success"         type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+
+
+
+
+            <complexType name="DeleteResult">
+                <sequence>
+                    <element name="errors"    type="tns:Error" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="id"        type="tns:ID" nillable="true"/>
+                    <element name="success"   type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="UndeleteResult">
+                <sequence>
+                    <element name="errors"    type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="id"        type="tns:ID" nillable="true"/>
+                    <element name="success"   type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="EmptyRecycleBinResult">
+                <sequence>
+                    <element name="errors"    type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="id"        type="tns:ID" nillable="true"/>
+                    <element name="success"   type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="LeadConvert">
+                <sequence>
+                    <element name="accountId"              type="tns:ID" nillable="true"/>
+                    <element name="contactId"              type="tns:ID" nillable="true"/>
+                    <element name="convertedStatus"        type="xsd:string"/>
+                    <element name="doNotCreateOpportunity" type="xsd:boolean"/>
+                    <element name="leadId"                 type="tns:ID"/>
+                    <element name="opportunityName"        type="xsd:string" nillable="true"/>
+                    <element name="overwriteLeadSource"    type="xsd:boolean"/>
+                    <element name="ownerId"                type="tns:ID"     nillable="true"/>
+                    <element name="sendNotificationEmail"  type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="LeadConvertResult">
+                <sequence>
+                    <element name="accountId"     type="tns:ID" nillable="true"/>
+                    <element name="contactId"     type="tns:ID" nillable="true"/>
+                    <element name="errors"        type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="leadId"        type="tns:ID" nillable="true"/>
+                    <element name="opportunityId" type="tns:ID" nillable="true"/>
+                    <element name="success"       type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeSObjectResult">
+                <sequence>
+                    <element name="activateable"        type="xsd:boolean"/>
+                    <element name="childRelationships"  type="tns:ChildRelationship" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="createable"          type="xsd:boolean"/>
+                    <element name="custom"              type="xsd:boolean"/>
+                    <element name="customSetting"       type="xsd:boolean"/>
+                    <element name="deletable"           type="xsd:boolean"/>
+                    <element name="deprecatedAndHidden" type="xsd:boolean"/>
+                    <element name="feedEnabled"         type="xsd:boolean"/>
+                    <element name="fields"              type="tns:Field" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="keyPrefix"           type="xsd:string" nillable="true"/>
+                    <element name="label"               type="xsd:string"/>
+                    <element name="labelPlural"         type="xsd:string"/>
+                    <element name="layoutable"          type="xsd:boolean"/>
+                    <element name="mergeable"           type="xsd:boolean"/>
+                    <element name="name"                type="xsd:string"/>
+                    <element name="queryable"           type="xsd:boolean"/>
+                    <element name="recordTypeInfos"     type="tns:RecordTypeInfo" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="replicateable"       type="xsd:boolean"/>
+                    <element name="retrieveable"        type="xsd:boolean"/>
+                    <element name="searchable"          type="xsd:boolean" />
+                    <element name="triggerable"         type="xsd:boolean" minOccurs="0"/>
+                    <element name="undeletable"         type="xsd:boolean"/>
+                    <element name="updateable"          type="xsd:boolean"/>
+                    <element name="urlDetail"           type="xsd:string" nillable="true"/>
+                    <element name="urlEdit"             type="xsd:string" nillable="true"/>
+                    <element name="urlNew"              type="xsd:string" nillable="true"/>
+                </sequence>
+            </complexType>
+
+            <!-- this is a subset of properties for each SObject that is returned by the describeGlobal call -->
+            <complexType name="DescribeGlobalSObjectResult">
+                <sequence>
+                    <element name="activateable"        type="xsd:boolean"/>
+                    <element name="createable"          type="xsd:boolean"/>
+                    <element name="custom"              type="xsd:boolean"/>
+                    <element name="customSetting"       type="xsd:boolean"/>
+                    <element name="deletable"           type="xsd:boolean"/>
+                    <element name="deprecatedAndHidden" type="xsd:boolean"/>
+                    <element name="feedEnabled"         type="xsd:boolean"/>
+                    <element name="keyPrefix"           type="xsd:string" nillable="true"/>
+                    <element name="label"               type="xsd:string"/>
+                    <element name="labelPlural"         type="xsd:string"/>
+                    <element name="layoutable"          type="xsd:boolean"/>
+                    <element name="mergeable"           type="xsd:boolean"/>
+                    <element name="name"                type="xsd:string"/>
+                    <element name="queryable"           type="xsd:boolean"/>
+                    <element name="replicateable"       type="xsd:boolean"/>
+                    <element name="retrieveable"        type="xsd:boolean"/>
+                    <element name="searchable"          type="xsd:boolean"/>
+                    <element name="triggerable"         type="xsd:boolean"/>
+                    <element name="undeletable"         type="xsd:boolean"/>
+                    <element name="updateable"          type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="ChildRelationship">
+                <sequence>
+                    <element name="cascadeDelete"    type="xsd:boolean"/>
+                    <element name="childSObject"     type="xsd:string"/>
+                    <element name="deprecatedAndHidden" type="xsd:boolean"/>
+                    <element name="field"            type="xsd:string"/>
+                    <element name="relationshipName" type="xsd:string" minOccurs="0"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeGlobalResult">
+                <sequence>
+                    <element name="encoding"       type="xsd:string" nillable="true"/>
+                    <element name="maxBatchSize"   type="xsd:int"/>
+                    <element name="sobjects"       type="tns:DescribeGlobalSObjectResult" minOccurs="0" maxOccurs="unbounded"/>
+                </sequence>
+            </complexType>
+
+            <simpleType name="fieldType">
+                <restriction base="xsd:string">
+                    <enumeration value="string"/>
+                    <enumeration value="picklist"/>
+                    <enumeration value="multipicklist"/>
+                    <enumeration value="combobox"/>
+                    <enumeration value="reference"/>
+                    <enumeration value="base64"/>
+                    <enumeration value="boolean"/>
+                    <enumeration value="currency"/>
+                    <enumeration value="textarea"/>
+                    <enumeration value="int"/>
+                    <enumeration value="double"/>
+                    <enumeration value="percent"/>
+                    <enumeration value="phone"/>
+                    <enumeration value="id"/>
+                    <enumeration value="date"/>
+                    <enumeration value="datetime"/>
+                    <enumeration value="time"/>
+                    <enumeration value="url"/>
+                    <enumeration value="email"/>
+                    <enumeration value="encryptedstring"/>
+                    <enumeration value="datacategorygroupreference"/>
+                    <enumeration value="anyType"/> <!-- can be string, picklist, reference, boolean, currency, int, double, percent, id, date, datetime, url, email -->
+                </restriction>
+            </simpleType>
+
+            <simpleType name="soapType">
+                <restriction base="xsd:string">
+                    <enumeration value="tns:ID"/>
+                    <enumeration value="xsd:base64Binary"/>
+                    <enumeration value="xsd:boolean"/>
+                    <enumeration value="xsd:double"/>
+                    <enumeration value="xsd:int"/>
+                    <enumeration value="xsd:string"/>
+                    <enumeration value="xsd:date"/>
+                    <enumeration value="xsd:dateTime"/>
+                    <enumeration value="xsd:time"/>
+                    <enumeration value="xsd:anyType"/> <!-- can be id, booolean, double, int, string, date, dateTime -->
+                </restriction>
+            </simpleType>
+
+            <complexType name="Field">
+                <sequence>
+                    <element name="autoNumber"         type="xsd:boolean"/>
+                    <element name="byteLength"         type="xsd:int"/>
+                    <element name="calculated"         type="xsd:boolean"/>
+                    <element name="calculatedFormula"  type="xsd:string" minOccurs="0"/>
+                    <element name="caseSensitive"      type="xsd:boolean"/>
+                    <element name="controllerName"     type="xsd:string" minOccurs="0"/>
+                    <element name="createable"         type="xsd:boolean"/>
+                    <element name="custom"             type="xsd:boolean"/>
+                    <element name="defaultValueFormula" type="xsd:string" minOccurs="0"/>
+                    <element name="defaultedOnCreate"  type="xsd:boolean"/>
+                    <element name="dependentPicklist"  type="xsd:boolean" minOccurs="0"/>
+                    <element name="deprecatedAndHidden" type="xsd:boolean"/>
+                    <element name="digits"             type="xsd:int"/>
+                    <element name="externalId"         type="xsd:boolean" minOccurs="0"/>
+                    <element name="filterable"         type="xsd:boolean"/>
+                    <element name="groupable"          type="xsd:boolean"/>
+                    <element name="htmlFormatted"      type="xsd:boolean" minOccurs="0"/>
+                    <element name="idLookup"           type="xsd:boolean"/>
+                    <element name="inlineHelpText"     type="xsd:string" minOccurs="0"/>
+                    <element name="label"              type="xsd:string"/>
+                    <element name="length"             type="xsd:int"/>
+                    <element name="name"               type="xsd:string"/>
+                    <element name="nameField"          type="xsd:boolean"/>
+                    <element name="namePointing"       type="xsd:boolean" minOccurs="0"/>
+                    <element name="nillable"           type="xsd:boolean"/>
+                    <element name="picklistValues"     type="tns:PicklistEntry" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="precision"          type="xsd:int"/>
+                    <element name="referenceTo"        type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="relationshipName"   type="xsd:string" minOccurs="0"/>
+                    <element name="relationshipOrder"  type="xsd:int" minOccurs="0"/>
+                    <element name="restrictedPicklist" type="xsd:boolean"/>
+                    <element name="scale"              type="xsd:int"/>
+                    <element name="soapType"           type="tns:soapType"/>
+                    <element name="sortable"           type="xsd:boolean" minOccurs="0"/>
+                    <element name="type"               type="tns:fieldType"/>
+                    <element name="unique"             type="xsd:boolean"/>
+                    <element name="updateable"         type="xsd:boolean"/>
+                    <element name="writeRequiresMasterRead" type="xsd:boolean" minOccurs="0"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="PicklistEntry">
+                <sequence>
+                    <element name="active"       type="xsd:boolean"/>
+                    <element name="defaultValue" type="xsd:boolean"/>
+                    <element name="label"        type="xsd:string" nillable="true"/>
+                    <element name="validFor"     type="xsd:base64Binary" minOccurs="0"/>
+                    <element name="value"        type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeDataCategoryGroupResult">
+                <sequence>
+                    <element name="categoryCount" type="xsd:int"/>
+                    <element name="description"   type="xsd:string"/>
+                    <element name="label"         type="xsd:string"/>
+                    <element name="name"          type="xsd:string"/>
+                    <element name="sobject"       type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeDataCategoryGroupStructureResult">
+                <sequence>
+                    <element name="description"   type="xsd:string"/>
+                    <element name="label"         type="xsd:string"/>
+                    <element name="name"          type="xsd:string"/>
+                    <element name="sobject"       type="xsd:string"/>
+                    <element name="topCategories" type="tns:DataCategory" minOccurs="0" maxOccurs="unbounded"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DataCategoryGroupSobjectTypePair">
+                <sequence>
+                    <element name="dataCategoryGroupName" type="xsd:string"/>
+                    <element name="sobject"               type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DataCategory">
+                <sequence>
+                    <element name="childCategories" type="tns:DataCategory" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="label"           type="xsd:string"/>
+                    <element name="name"            type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeSoftphoneLayoutResult">
+                <sequence>
+                    <element name="callTypes" type="tns:DescribeSoftphoneLayoutCallType" maxOccurs="unbounded"/>
+                    <element name="id" type="tns:ID"/>
+                    <element name="name" type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeSoftphoneLayoutCallType">
+                <sequence>
+                    <element name="infoFields" type="tns:DescribeSoftphoneLayoutInfoField" maxOccurs="unbounded"/>
+                    <element name="name" type="xsd:string"/>
+                    <element name="screenPopOptions" type="tns:DescribeSoftphoneScreenPopOption" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="screenPopsOpenWithin" type="xsd:string" minOccurs="0"/>
+                    <element name="sections" type="tns:DescribeSoftphoneLayoutSection" minOccurs="0" maxOccurs="unbounded"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeSoftphoneScreenPopOption">
+                <sequence>
+                    <element name="matchType" type="xsd:string"/>
+                    <element name="screenPopData" type="xsd:string"/>
+                    <element name="screenPopType" type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeSoftphoneLayoutInfoField">
+                <sequence>
+                    <element name="name" type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeSoftphoneLayoutSection">
+                <sequence>
+                    <element name="entityApiName" type="xsd:string"/>
+                    <element name="items" type="tns:DescribeSoftphoneLayoutItem" maxOccurs="unbounded"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeSoftphoneLayoutItem">
+                <sequence>
+                    <element name="itemApiName" type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeLayoutResult">
+                <sequence>
+                    <element name="layouts"            type="tns:DescribeLayout" maxOccurs="unbounded"/>
+                    <element name="recordTypeMappings" type="tns:RecordTypeMapping" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="recordTypeSelectorRequired" type="xsd:boolean" />
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeLayout">
+                <sequence>
+                    <element name="buttonLayoutSection"  type="tns:DescribeLayoutButtonSection" minOccurs="0"/>
+                    <element name="detailLayoutSections" type="tns:DescribeLayoutSection" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="editLayoutSections"   type="tns:DescribeLayoutSection" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="id"                   type="tns:ID"/>
+
+
+                    <element name="relatedLists"                type="tns:RelatedList" minOccurs="0" maxOccurs="unbounded"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeLayoutSection">
+                <sequence>
+                    <element name="columns"                 type="xsd:int"/>
+                    <element name="heading"                 type="xsd:string"/>
+                    <element name="layoutRows"              type="tns:DescribeLayoutRow" maxOccurs="unbounded"/>
+                    <element name="rows"                    type="xsd:int"/>
+                    <element name="useCollapsibleSection"   type="xsd:boolean"/>
+                    <element name="useHeading"              type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeLayoutButtonSection">
+                <sequence>
+                    <element name="detailButtons"         type="tns:DescribeLayoutButton" maxOccurs="unbounded"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeLayoutRow">
+                <sequence>
+                    <element name="layoutItems"      type="tns:DescribeLayoutItem" maxOccurs="unbounded"/>
+                    <element name="numItems"         type="xsd:int"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeLayoutItem">
+                <sequence>
+                    <element name="editable"         type="xsd:boolean"/>
+                    <element name="label"            type="xsd:string" nillable="true"/>
+                    <element name="layoutComponents" type="tns:DescribeLayoutComponent" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="placeholder"      type="xsd:boolean"/>
+                    <element name="required"         type="xsd:boolean"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeLayoutButton">
+                <sequence>
+                    <element name="custom"           type="xsd:boolean"/>
+                    <element name="label"            type="xsd:string" nillable="true"/>
+                    <element name="name"             type="xsd:string" nillable="true"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeLayoutComponent">
+                <sequence>
+                    <element name="displayLines"      type="xsd:int"/>
+                    <element name="tabOrder"          type="xsd:int"/>
+                    <element name="type"              type="tns:layoutComponentType"/>
+                    <element name="value"             type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <simpleType name="layoutComponentType">
+                <restriction base="xsd:string">
+                    <enumeration value="Field"/>
+                    <enumeration value="Separator"/>
+                    <enumeration value="SControl"/>
+                    <enumeration value="EmptySpace"/>
+                </restriction>
+            </simpleType>
+
+            <complexType name="RecordTypeInfo">
+                <sequence>
+                    <element name="available"                 type="xsd:boolean"/>
+                    <element name="defaultRecordTypeMapping"  type="xsd:boolean"/>
+                    <element name="name"                      type="xsd:string"/>
+                    <element name="recordTypeId"              type="tns:ID" nillable="true"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="RecordTypeMapping">
+                <sequence>
+                    <element name="available"                 type="xsd:boolean"/>
+                    <element name="defaultRecordTypeMapping"  type="xsd:boolean"/>
+                    <element name="layoutId"                  type="tns:ID"/>
+                    <element name="name"                      type="xsd:string"/>
+                    <element name="picklistsForRecordType"    type="tns:PicklistForRecordType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    <element name="recordTypeId"              type="tns:ID" nillable="true"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="PicklistForRecordType">
+                <sequence>
+                    <element name="picklistName"      type="xsd:string"/>
+                    <element name="picklistValues"    type="tns:PicklistEntry" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="RelatedList">
+                <sequence>
+                    <element name="columns"         type="tns:RelatedListColumn" maxOccurs="unbounded"/>
+                    <element name="custom"          type="xsd:boolean"/>
+                    <element name="field"           type="xsd:string" nillable="true"/>
+                    <element name="label"           type="xsd:string"/>
+                    <element name="limitRows"       type="xsd:int"/>
+                    <element name="name"            type="xsd:string"/>
+                    <element name="sobject"         type="xsd:string" nillable="true"/>
+                    <element name="sort"            type="tns:RelatedListSort" minOccurs="0" maxOccurs="unbounded"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="RelatedListColumn">
+                <sequence>
+                    <element name="field"           type="xsd:string" nillable="true"/>
+                    <element name="format"          type="xsd:string" nillable="true"/>
+                    <element name="label"           type="xsd:string"/>
+                    <element name="name"            type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="RelatedListSort">
+                <sequence>
+                    <element name="ascending"       type="xsd:boolean"/>
+                    <element name="column"          type="xsd:string"/>
+                </sequence>
+            </complexType>
+
+
+
+            <complexType name="EmailFileAttachment">
+                <sequence>
+                    <element name="body"                nillable="true" minOccurs="0" type="xsd:base64Binary"/>
+                    <element name="contentType"         nillable="true" minOccurs="0" type="xsd:string" />
+                    <element name="fileName"            type="xsd:string" />
+                    <element name="inline"				type="xsd:boolean" minOccurs="0"/>
+                </sequence>
+            </complexType>
+            <simpleType name="EmailPriority">
+                <restriction base="xsd:string">
+                    <enumeration value="Highest"/>
+                    <enumeration value="High"/>
+                    <enumeration value="Normal"/>
+                    <enumeration value="Low"/>
+                    <enumeration value="Lowest"/>
+                </restriction>
+            </simpleType>
+
+            <complexType name="Email">
+                <sequence>
+                    <element name="bccSender"         type="xsd:boolean" nillable="true"/>
+                    <element name="emailPriority"      type="tns:EmailPriority" nillable="true"/>
+                    <element name="replyTo"            type="xsd:string" nillable="true"/>
+                    <element name="saveAsActivity"     type="xsd:boolean" nillable="true"/>
+                    <element name="senderDisplayName"  type="xsd:string" nillable="true"/>
+                    <element name="subject"            type="xsd:string" nillable="true"/>
+                    <element name="useSignature"       type="xsd:boolean" nillable="true"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="MassEmailMessage">
+                <complexContent>
+                    <extension base="tns:Email">
+                        <sequence>
+                            <element name="description"  type="xsd:string" nillable="true"/>
+                            <element name="targetObjectIds"     minOccurs="0" maxOccurs="250" type="tns:ID" />
+                            <element name="templateId"          type="tns:ID"/>
+                            <element name="whatIds"             minOccurs="0" maxOccurs="250" type="tns:ID" />
+                        </sequence>
+                    </extension>
+                </complexContent>
+            </complexType>
+
+            <complexType name="SingleEmailMessage">
+                <complexContent>
+                    <extension base="tns:Email">
+                        <sequence>
+                            <element name="bccAddresses"        minOccurs="0" maxOccurs="25" type="xsd:string" nillable="true"/>
+                            <element name="ccAddresses"         minOccurs="0" maxOccurs="25" type="xsd:string" nillable="true"/>
+                            <element name="charset"             type="xsd:string" nillable="true"/>
+                            <element name="documentAttachments" minOccurs="0" maxOccurs="unbounded" type="tns:ID" />
+                            <element name="htmlBody"       type="xsd:string" nillable="true"/>
+                            <element name="inReplyTo"           minOccurs="0" type="xsd:string" nillable="true"/>
+                            <element name="fileAttachments"     minOccurs="0" maxOccurs="unbounded" type="tns:EmailFileAttachment"/>
+                            <element name="orgWideEmailAddressId" minOccurs="0" maxOccurs="1" type="tns:ID" nillable="true"/>
+                            <element name="plainTextBody"       type="xsd:string" nillable="true"/>
+                            <element name="references"          minOccurs="0" type="xsd:string" nillable="true"/>
+                            <element name="targetObjectId"      type="tns:ID" nillable="true"/>
+                            <element name="templateId"          type="tns:ID" nillable="true"/>
+                            <element name="toAddresses"         minOccurs="0" maxOccurs="100" type="xsd:string" nillable="true"/>
+                            <element name="whatId"              type="tns:ID" nillable="true"/>
+                        </sequence>
+                    </extension>
+                </complexContent>
+            </complexType>
+
+            <complexType name="SendEmailResult">
+                <sequence>
+                    <element name="errors"              minOccurs="0" maxOccurs="unbounded" type="tns:SendEmailError" />
+                    <element name="success"             type="xsd:boolean" />
+                </sequence>
+            </complexType>
+
+
+
+            <complexType name="DescribeTabSetResult">
+                <sequence>
+                    <element name="label"           type="xsd:string" />
+                    <element name="logoUrl"         type="xsd:string" />
+                    <element name="namespace"       type="xsd:string" minOccurs="0"/>
+                    <element name="selected"        type="xsd:boolean" />
+                    <element name="tabs"            type="tns:DescribeTab" minOccurs="0" maxOccurs="unbounded"/>
+                </sequence>
+            </complexType>
+
+            <complexType name="DescribeTab">
+                <sequence>
+                    <element name="custom"           type="xsd:boolean" />
+                    <element name="iconUrl"          type="xsd:string" />
+                    <element name="label"            type="xsd:string" />
+                    <element name="miniIconUrl"      type="xsd:string" />
+                    <element name="sobjectName"      type="xsd:string" nillable="true" />
+                    <element name="url"              type="xsd:string" />
+                </sequence>
+            </complexType>
+
+
+
+
+
+            <!-- Login Message Types -->
+            <element name="login">
+                <complexType>
+                    <sequence>
+                        <element name="username" type="xsd:string"/>
+                        <element name="password" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="loginResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:LoginResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Describe Message Types -->
+            <element name="describeSObject">
+                <complexType>
+                    <sequence>
+                        <element name="sObjectType" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="describeSObjectResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:DescribeSObjectResult" nillable="true"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- DescibeSObjects Message Types -->
+            <element name="describeSObjects">
+                <complexType>
+                    <sequence>
+                        <element name="sObjectType" type="xsd:string" minOccurs='0' maxOccurs='100' />
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="describeSObjectsResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:DescribeSObjectResult" nillable="true" minOccurs='0' maxOccurs='100'/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Describe Global Message Types -->
+            <element name="describeGlobal">
+                <complexType>
+                    <sequence/>
+                </complexType>
+            </element>
+            <element name="describeGlobalResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:DescribeGlobalResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Describe Data Category Groups Message Types -->
+            <element name="describeDataCategoryGroups">
+                <complexType>
+                    <sequence>
+                        <element name="sObjectType" type="xsd:string" minOccurs='0' maxOccurs='10' />
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="describeDataCategoryGroupsResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:DescribeDataCategoryGroupResult" minOccurs='0' maxOccurs='100'/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="describeDataCategoryGroupStructures">
+                <complexType>
+                    <sequence>
+                        <element name="pairs" type="tns:DataCategoryGroupSobjectTypePair" minOccurs='0' maxOccurs='100' />
+                        <element name="topCategoriesOnly" type="xsd:boolean"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="describeDataCategoryGroupStructuresResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:DescribeDataCategoryGroupStructureResult" minOccurs='0' maxOccurs='100'/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="describeLayout">
+                <complexType>
+                    <sequence>
+                        <element name="sObjectType" type="xsd:string"/>
+                        <element name="recordTypeIds" type="tns:ID" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="describeLayoutResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:DescribeLayoutResult" nillable="true"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="describeSoftphoneLayout">
+                <complexType>
+                    <sequence/>
+                </complexType>
+            </element>
+            <element name="describeSoftphoneLayoutResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:DescribeSoftphoneLayoutResult" nillable="true"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+
+            <element name="describeTabs">
+                <complexType>
+                    <sequence/>
+                </complexType>
+            </element>
+            <element name="describeTabsResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:DescribeTabSetResult" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Create Message Types -->
+            <element name="create">
+                <complexType>
+                    <sequence>
+                        <element name="sObjects" type="ens:sObject" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="createResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:SaveResult" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+
+
+            <!-- Send Email Types -->
+            <element name="sendEmail">
+                <complexType>
+                    <sequence>
+                        <element name="messages" type="tns:Email" minOccurs="0" maxOccurs="10"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="sendEmailResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" minOccurs="0" maxOccurs="10" type="tns:SendEmailResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+
+            <!-- Update Message Types -->
+            <element name="update">
+                <complexType>
+                    <sequence>
+                        <element name="sObjects" type="ens:sObject" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="updateResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:SaveResult" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Upsert Message Types -->
+            <element name="upsert">
+                <complexType>
+                    <sequence>
+                        <element name="externalIDFieldName" type="xsd:string"/>
+                        <element name="sObjects" type="ens:sObject" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="upsertResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:UpsertResult" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Merge Message Types -->
+            <element name="merge">
+                <complexType>
+                    <sequence>
+                        <element name="request" type="tns:MergeRequest" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="mergeResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:MergeResult" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Delete Message Types -->
+            <element name="delete">
+                <complexType>
+                    <sequence>
+                        <element name="ids" type="tns:ID" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="deleteResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:DeleteResult" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Undelete Message Types -->
+            <element name="undelete">
+                <complexType>
+                    <sequence>
+                        <element name="ids" type="tns:ID" minOccurs="1" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="undeleteResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:UndeleteResult" minOccurs="1" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- EmptyRecycleBin Message Types -->
+            <element name="emptyRecycleBin">
+                <complexType>
+                    <sequence>
+                        <element name="ids" type="tns:ID" minOccurs="1" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="emptyRecycleBinResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:EmptyRecycleBinResult" minOccurs="1" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Process Message Types -->
+            <element name="process">
+                <complexType>
+                    <sequence>
+                        <element name="actions" type="tns:ProcessRequest" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="processResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:ProcessResult" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+
+
+            <!-- Retrieve (ID List) Message Types -->
+            <element name="retrieve">
+                <complexType>
+                    <sequence>
+                        <element name="fieldList"   type="xsd:string"/>
+                        <element name="sObjectType" type="xsd:string"/>
+                        <element name="ids"         type="tns:ID" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="retrieveResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="ens:sObject" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Convert Lead Message Types -->
+            <element name="convertLead">
+                <complexType>
+                    <sequence>
+                        <element name="leadConverts" type="tns:LeadConvert" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="convertLeadResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:LeadConvertResult" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Get Updated Message Types -->
+            <element name="getUpdated">
+                <complexType>
+                    <sequence>
+                        <element name="sObjectType" type="xsd:string"/>
+                        <element name="startDate" type="xsd:dateTime"/>
+                        <element name="endDate" type="xsd:dateTime"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="getUpdatedResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:GetUpdatedResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Get Deleted Message Types -->
+            <element name="getDeleted">
+                <complexType>
+                    <sequence>
+                        <element name="sObjectType" type="xsd:string"/>
+                        <element name="startDate" type="xsd:dateTime"/>
+                        <element name="endDate" type="xsd:dateTime"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="getDeletedResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:GetDeletedResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+
+            <!-- Logout current session -->
+            <element name="logout">
+                <complexType>
+                </complexType>
+            </element>
+
+            <element name="logoutResponse">
+                <complexType>
+                </complexType>
+            </element>
+
+            <!-- Invalidate a list of session ids -->
+            <element name="invalidateSessions">
+                <complexType>
+                    <sequence>
+                        <element name="sessionIds" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="invalidateSessionsResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:InvalidateSessionsResult" minOccurs="0" maxOccurs="unbounded"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Create Query -->
+            <element name="query">
+                <complexType>
+                    <sequence>
+                        <element name="queryString" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="queryResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:QueryResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Create Query All -->
+            <element name="queryAll">
+                <complexType>
+                    <sequence>
+                        <element name="queryString" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="queryAllResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:QueryResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <!-- Next Batch of sObjects from a query -->
+            <element name="queryMore">
+                <complexType>
+                    <sequence>
+                        <element name="queryLocator" type="tns:QueryLocator"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="queryMoreResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:QueryResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+
+
+            <!-- Create Search -->
+            <element name="search">
+                <complexType>
+                    <sequence>
+                        <element name="searchString" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="searchResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:SearchResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+
+
+            <element name="getServerTimestamp">
+                <complexType>
+                    <sequence/>
+                </complexType>
+            </element>
+            <element name="getServerTimestampResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:GetServerTimestampResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="setPassword">
+                <complexType>
+                    <sequence>
+                        <element name="userId" type="tns:ID"/>
+                        <element name="password" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="setPasswordResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:SetPasswordResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="resetPassword">
+                <complexType>
+                    <sequence>
+                        <element name="userId" type="tns:ID"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="resetPasswordResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:ResetPasswordResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="getUserInfo">
+                <complexType>
+                    <sequence/>
+                </complexType>
+            </element>
+            <element name="getUserInfoResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="tns:GetUserInfoResult"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+
+
+            <!-- Header Elements -->
+            <element name="SessionHeader">
+                <complexType>
+                    <sequence>
+                        <element name="sessionId" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="LoginScopeHeader">
+                <complexType>
+                    <sequence>
+                        <element name="organizationId" type="tns:ID"/>
+                        <element name="portalId" type="tns:ID" minOccurs="0"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+
+            <element name="CallOptions">
+                <complexType>
+                    <sequence>
+                        <element name="client"            type="xsd:string" nillable="true"/>
+                        <element name="defaultNamespace"  type="xsd:string" nillable="true"/>
+
+                    </sequence>
+                </complexType>
+            </element>
+
+
+            <element name="QueryOptions">
+                <complexType>
+                    <sequence>
+                        <element name="batchSize"       type="xsd:int" minOccurs="0"/>
+
+                    </sequence>
+                </complexType>
+            </element>
+
+
+            <simpleType name="DebugLevel">
+                <restriction base="xsd:string">
+                    <enumeration value="None"/>
+                    <enumeration value="DebugOnly"/>
+                    <enumeration value="Db"/>
+                </restriction>
+            </simpleType>
+            <element name="DebuggingHeader">
+                <complexType>
+                    <sequence>
+                        <element name="debugLevel" type="tns:DebugLevel"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="DebuggingInfo">
+                <complexType>
+                    <sequence>
+                        <element name="debugLog" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+   <xsd:complexType name="PackageVersion">
+    <xsd:sequence>
+     <xsd:element name="majorNumber" type="xsd:int"/>
+     <xsd:element name="minorNumber" type="xsd:int"/>
+     <xsd:element name="namespace" type="xsd:string"/>
+    </xsd:sequence>
+   </xsd:complexType>
+   <xsd:element name="PackageVersionHeader">
+    <xsd:complexType>
+     <xsd:sequence>
+      <xsd:element name="packageVersions" minOccurs="0" maxOccurs="unbounded" type="tns:PackageVersion"/>
+     </xsd:sequence>
+    </xsd:complexType>
+   </xsd:element>
+
+            <element name="AllowFieldTruncationHeader">
+                <complexType>
+                    <sequence>
+                        <element name="allowFieldTruncation" type="xsd:boolean" />
+                    </sequence>
+                </complexType>
+            </element>
+
+
+            <element name="DisableFeedTrackingHeader">
+                <complexType>
+                    <sequence>
+                        <element name="disableFeedTracking" type="xsd:boolean" />
+                    </sequence>
+                </complexType>
+            </element>
+
+
+
+
+
+        <element name="AllOrNoneHeader">
+            <complexType>
+                <sequence>
+                    <element name="allOrNone" type="xsd:boolean" />
+                </sequence>
+            </complexType>
+        </element>
+
+
+            <!-- ideally this could of just been elem name="..." type="xsd:boolean"
+                 but is required to be nested within a complexType for .NET 1.1 compatibility -->
+            <element name="MruHeader">
+                <complexType>
+                    <sequence>
+                        <element name="updateMru" type="xsd:boolean" />
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="EmailHeader">
+                <complexType>
+                    <sequence>
+                        <element name="triggerAutoResponseEmail"    type="xsd:boolean"/>
+                        <element name="triggerOtherEmail"           type="xsd:boolean"/>
+                        <element name="triggerUserEmail"            type="xsd:boolean"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="AssignmentRuleHeader">
+                <complexType>
+                    <sequence>
+                        <element name="assignmentRuleId"    type="tns:ID"  nillable="true" />
+                        <element name="useDefaultRule"      type="xsd:boolean" nillable="true" />
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="UserTerritoryDeleteHeader">
+                <complexType>
+                    <sequence>
+                        <element name="transferToUserId" type="tns:ID" nillable="true"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+
+
+            <element name="LocaleOptions">
+                <complexType>
+                    <sequence>
+                        <element name="language"  type="xsd:string" minOccurs="0"/>
+                    </sequence>
+                </complexType>
+            </element>
+        </schema>
+
+        <schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:fault.partner.soap.sforce.com" xmlns:fns="urn:fault.partner.soap.sforce.com">
+
+            <simpleType name="ExceptionCode">
+                <restriction base="xsd:string">
+                    <enumeration value="API_CURRENTLY_DISABLED"/>
+                    <enumeration value="API_DISABLED_FOR_ORG"/>
+                    <enumeration value="CANT_ADD_STANDADRD_PORTAL_USER_TO_TERRITORY"/>
+                    <enumeration value="CANT_ADD_STANDARD_PORTAL_USER_TO_TERRITORY"/>
+                    <enumeration value="CIRCULAR_OBJECT_GRAPH"/>
+                    <enumeration value="CLIENT_NOT_ACCESSIBLE_FOR_USER"/>
+                    <enumeration value="CLIENT_REQUIRE_UPDATE_FOR_USER"/>
+                    <enumeration value="CUSTOM_METADATA_LIMIT_EXCEEDED"/>
+                    <enumeration value="DATACLOUD_API_CLIENT_EXCEPTION"/>
+                    <enumeration value="DATACLOUD_API_SERVER_EXCEPTION"/>
+                    <enumeration value="DATACLOUD_API_UNAVAILABLE"/>
+                    <enumeration value="DUPLICATE_VALUE"/>
+                    <enumeration value="EMAIL_BATCH_SIZE_LIMIT_EXCEEDED"/>
+                    <enumeration value="EMAIL_TO_CASE_INVALID_ROUTING"/>
+                    <enumeration value="EMAIL_TO_CASE_LIMIT_EXCEEDED"/>
+                    <enumeration value="EMAIL_TO_CASE_NOT_ENABLED"/>
+                    <enumeration value="EXCEEDED_ID_LIMIT"/>
+                    <enumeration value="EXCEEDED_LEAD_CONVERT_LIMIT"/>
+                    <enumeration value="EXCEEDED_MAX_SIZE_REQUEST"/>
+                    <enumeration value="EXCEEDED_MAX_TYPES_LIMIT"/>
+                    <enumeration value="EXCEEDED_QUOTA"/>
+                    <enumeration value="FUNCTIONALITY_NOT_ENABLED"/>
+                    <enumeration value="FUNCTIONALITY_TEMPORARILY_UNAVAILABLE"/>
+                    <enumeration value="INACTIVE_OWNER_OR_USER"/>
+                    <enumeration value="INACTIVE_PORTAL"/>
+                    <enumeration value="INSUFFICIENT_ACCESS"/>
+                    <enumeration value="INVALID_ASSIGNMENT_RULE"/>
+                    <enumeration value="INVALID_BATCH_SIZE"/>
+                    <enumeration value="INVALID_CLIENT"/>
+                    <enumeration value="INVALID_CROSS_REFERENCE_KEY"/>
+                    <enumeration value="INVALID_FIELD"/>
+                    <enumeration value="INVALID_FILTER_LANGUAGE"/>
+                    <enumeration value="INVALID_FILTER_VALUE"/>
+                    <enumeration value="INVALID_ID_FIELD"/>
+                    <enumeration value="INVALID_LOCALE_LANGUAGE"/>
+                    <enumeration value="INVALID_LOCATOR"/>
+                    <enumeration value="INVALID_LOGIN"/>
+                    <enumeration value="INVALID_NEW_PASSWORD"/>
+                    <enumeration value="INVALID_OPERATION"/>
+                    <enumeration value="INVALID_OPERATION_WITH_EXPIRED_PASSWORD"/>
+                    <enumeration value="INVALID_QUERY_FILTER_OPERATOR"/>
+                    <enumeration value="INVALID_QUERY_LOCATOR"/>
+                    <enumeration value="INVALID_QUERY_SCOPE"/>
+                    <enumeration value="INVALID_REPLICATION_DATE"/>
+                    <enumeration value="INVALID_SEARCH"/>
+                    <enumeration value="INVALID_SEARCH_SCOPE"/>
+                    <enumeration value="INVALID_SESSION_ID"/>
+                    <enumeration value="INVALID_SOAP_HEADER"/>
+                    <enumeration value="INVALID_SSO_GATEWAY_URL"/>
+                    <enumeration value="INVALID_TYPE"/>
+                    <enumeration value="INVALID_TYPE_FOR_OPERATION"/>
+                    <enumeration value="JIGSAW_IMPORT_LIMIT_EXCEEDED"/>
+                    <enumeration value="JIGSAW_REQUEST_NOT_SUPPORTED"/>
+                    <enumeration value="JSON_PARSER_ERROR"/>
+                    <enumeration value="LIMIT_EXCEEDED"/>
+                    <enumeration value="LOGIN_CHALLENGE_ISSUED"/>
+                    <enumeration value="LOGIN_CHALLENGE_PENDING"/>
+                    <enumeration value="LOGIN_DURING_RESTRICTED_DOMAIN"/>
+                    <enumeration value="LOGIN_DURING_RESTRICTED_TIME"/>
+                    <enumeration value="LOGIN_MUST_USE_SECURITY_TOKEN"/>
+                    <enumeration value="MALFORMED_ID"/>
+                    <enumeration value="MALFORMED_QUERY"/>
+                    <enumeration value="MALFORMED_SEARCH"/>
+                    <enumeration value="MISSING_ARGUMENT"/>
+                    <enumeration value="NOT_MODIFIED"/>
+                    <enumeration value="NO_SOFTPHONE_LAYOUT"/>
+                    <enumeration value="NUMBER_OUTSIDE_VALID_RANGE"/>
+                    <enumeration value="OPERATION_TOO_LARGE"/>
+                    <enumeration value="ORG_IN_MAINTENANCE"/>
+                    <enumeration value="ORG_IS_DOT_ORG"/>
+                    <enumeration value="ORG_LOCKED"/>
+                    <enumeration value="ORG_NOT_OWNED_BY_INSTANCE"/>
+                    <enumeration value="PASSWORD_LOCKOUT"/>
+                    <enumeration value="PORTAL_NO_ACCESS"/>
+                    <enumeration value="QUERY_TIMEOUT"/>
+                    <enumeration value="QUERY_TOO_COMPLICATED"/>
+                    <enumeration value="REQUEST_LIMIT_EXCEEDED"/>
+                    <enumeration value="REQUEST_RUNNING_TOO_LONG"/>
+                    <enumeration value="SERVER_UNAVAILABLE"/>
+                    <enumeration value="SOCIALCRM_FEEDSERVICE_API_CLIENT_EXCEPTION"/>
+                    <enumeration value="SOCIALCRM_FEEDSERVICE_API_SERVER_EXCEPTION"/>
+                    <enumeration value="SOCIALCRM_FEEDSERVICE_API_UNAVAILABLE"/>
+                    <enumeration value="SSO_SERVICE_DOWN"/>
+                    <enumeration value="TOO_MANY_APEX_REQUESTS"/>
+                    <enumeration value="TRIAL_EXPIRED"/>
+                    <enumeration value="UNKNOWN_EXCEPTION"/>
+                    <enumeration value="UNSUPPORTED_API_VERSION"/>
+                    <enumeration value="UNSUPPORTED_CLIENT"/>
+                    <enumeration value="UNSUPPORTED_MEDIA_TYPE"/>
+                    <enumeration value="XML_PARSER_ERROR"/>
+                </restriction>
+            </simpleType>
+            <!-- For convenience these QNames are returned in the standard soap faultcode element -->
+            <simpleType name="FaultCode">
+                <restriction base="xsd:QName">
+                    <enumeration value="fns:API_CURRENTLY_DISABLED"/>
+                    <enumeration value="fns:API_DISABLED_FOR_ORG"/>
+                    <enumeration value="fns:CANT_ADD_STANDADRD_PORTAL_USER_TO_TERRITORY"/>
+                    <enumeration value="fns:CANT_ADD_STANDARD_PORTAL_USER_TO_TERRITORY"/>
+                    <enumeration value="fns:CIRCULAR_OBJECT_GRAPH"/>
+                    <enumeration value="fns:CLIENT_NOT_ACCESSIBLE_FOR_USER"/>
+                    <enumeration value="fns:CLIENT_REQUIRE_UPDATE_FOR_USER"/>
+                    <enumeration value="fns:CUSTOM_METADATA_LIMIT_EXCEEDED"/>
+                    <enumeration value="fns:DATACLOUD_API_CLIENT_EXCEPTION"/>
+                    <enumeration value="fns:DATACLOUD_API_SERVER_EXCEPTION"/>
+                    <enumeration value="fns:DATACLOUD_API_UNAVAILABLE"/>
+                    <enumeration value="fns:DUPLICATE_VALUE"/>
+                    <enumeration value="fns:EMAIL_BATCH_SIZE_LIMIT_EXCEEDED"/>
+                    <enumeration value="fns:EMAIL_TO_CASE_INVALID_ROUTING"/>
+                    <enumeration value="fns:EMAIL_TO_CASE_LIMIT_EXCEEDED"/>
+                    <enumeration value="fns:EMAIL_TO_CASE_NOT_ENABLED"/>
+                    <enumeration value="fns:EXCEEDED_ID_LIMIT"/>
+                    <enumeration value="fns:EXCEEDED_LEAD_CONVERT_LIMIT"/>
+                    <enumeration value="fns:EXCEEDED_MAX_SIZE_REQUEST"/>
+                    <enumeration value="fns:EXCEEDED_MAX_TYPES_LIMIT"/>
+                    <enumeration value="fns:EXCEEDED_QUOTA"/>
+                    <enumeration value="fns:FUNCTIONALITY_NOT_ENABLED"/>
+                    <enumeration value="fns:FUNCTIONALITY_TEMPORARILY_UNAVAILABLE"/>
+                    <enumeration value="fns:INACTIVE_OWNER_OR_USER"/>
+                    <enumeration value="fns:INACTIVE_PORTAL"/>
+                    <enumeration value="fns:INSUFFICIENT_ACCESS"/>
+                    <enumeration value="fns:INVALID_ASSIGNMENT_RULE"/>
+                    <enumeration value="fns:INVALID_BATCH_SIZE"/>
+                    <enumeration value="fns:INVALID_CLIENT"/>
+                    <enumeration value="fns:INVALID_CROSS_REFERENCE_KEY"/>
+                    <enumeration value="fns:INVALID_FIELD"/>
+                    <enumeration value="fns:INVALID_FILTER_LANGUAGE"/>
+                    <enumeration value="fns:INVALID_FILTER_VALUE"/>
+                    <enumeration value="fns:INVALID_ID_FIELD"/>
+                    <enumeration value="fns:INVALID_LOCALE_LANGUAGE"/>
+                    <enumeration value="fns:INVALID_LOCATOR"/>
+                    <enumeration value="fns:INVALID_LOGIN"/>
+                    <enumeration value="fns:INVALID_NEW_PASSWORD"/>
+                    <enumeration value="fns:INVALID_OPERATION"/>
+                    <enumeration value="fns:INVALID_OPERATION_WITH_EXPIRED_PASSWORD"/>
+                    <enumeration value="fns:INVALID_QUERY_FILTER_OPERATOR"/>
+                    <enumeration value="fns:INVALID_QUERY_LOCATOR"/>
+                    <enumeration value="fns:INVALID_QUERY_SCOPE"/>
+                    <enumeration value="fns:INVALID_REPLICATION_DATE"/>
+                    <enumeration value="fns:INVALID_SEARCH"/>
+                    <enumeration value="fns:INVALID_SEARCH_SCOPE"/>
+                    <enumeration value="fns:INVALID_SESSION_ID"/>
+                    <enumeration value="fns:INVALID_SOAP_HEADER"/>
+                    <enumeration value="fns:INVALID_SSO_GATEWAY_URL"/>
+                    <enumeration value="fns:INVALID_TYPE"/>
+                    <enumeration value="fns:INVALID_TYPE_FOR_OPERATION"/>
+                    <enumeration value="fns:JIGSAW_IMPORT_LIMIT_EXCEEDED"/>
+                    <enumeration value="fns:JIGSAW_REQUEST_NOT_SUPPORTED"/>
+                    <enumeration value="fns:JSON_PARSER_ERROR"/>
+                    <enumeration value="fns:LIMIT_EXCEEDED"/>
+                    <enumeration value="fns:LOGIN_CHALLENGE_ISSUED"/>
+                    <enumeration value="fns:LOGIN_CHALLENGE_PENDING"/>
+                    <enumeration value="fns:LOGIN_DURING_RESTRICTED_DOMAIN"/>
+                    <enumeration value="fns:LOGIN_DURING_RESTRICTED_TIME"/>
+                    <enumeration value="fns:LOGIN_MUST_USE_SECURITY_TOKEN"/>
+                    <enumeration value="fns:MALFORMED_ID"/>
+                    <enumeration value="fns:MALFORMED_QUERY"/>
+                    <enumeration value="fns:MALFORMED_SEARCH"/>
+                    <enumeration value="fns:MISSING_ARGUMENT"/>
+                    <enumeration value="fns:NOT_MODIFIED"/>
+                    <enumeration value="fns:NO_SOFTPHONE_LAYOUT"/>
+                    <enumeration value="fns:NUMBER_OUTSIDE_VALID_RANGE"/>
+                    <enumeration value="fns:OPERATION_TOO_LARGE"/>
+                    <enumeration value="fns:ORG_IN_MAINTENANCE"/>
+                    <enumeration value="fns:ORG_IS_DOT_ORG"/>
+                    <enumeration value="fns:ORG_LOCKED"/>
+                    <enumeration value="fns:ORG_NOT_OWNED_BY_INSTANCE"/>
+                    <enumeration value="fns:PASSWORD_LOCKOUT"/>
+                    <enumeration value="fns:PORTAL_NO_ACCESS"/>
+                    <enumeration value="fns:QUERY_TIMEOUT"/>
+                    <enumeration value="fns:QUERY_TOO_COMPLICATED"/>
+                    <enumeration value="fns:REQUEST_LIMIT_EXCEEDED"/>
+                    <enumeration value="fns:REQUEST_RUNNING_TOO_LONG"/>
+                    <enumeration value="fns:SERVER_UNAVAILABLE"/>
+                    <enumeration value="fns:SOCIALCRM_FEEDSERVICE_API_CLIENT_EXCEPTION"/>
+                    <enumeration value="fns:SOCIALCRM_FEEDSERVICE_API_SERVER_EXCEPTION"/>
+                    <enumeration value="fns:SOCIALCRM_FEEDSERVICE_API_UNAVAILABLE"/>
+                    <enumeration value="fns:SSO_SERVICE_DOWN"/>
+                    <enumeration value="fns:TOO_MANY_APEX_REQUESTS"/>
+                    <enumeration value="fns:TRIAL_EXPIRED"/>
+                    <enumeration value="fns:UNKNOWN_EXCEPTION"/>
+                    <enumeration value="fns:UNSUPPORTED_API_VERSION"/>
+                    <enumeration value="fns:UNSUPPORTED_CLIENT"/>
+                    <enumeration value="fns:UNSUPPORTED_MEDIA_TYPE"/>
+                    <enumeration value="fns:XML_PARSER_ERROR"/>
+                </restriction>
+            </simpleType>
+
+
+            <!-- Fault -->
+            <complexType name="ApiFault">
+                <sequence>
+                    <element name="exceptionCode"    type="fns:ExceptionCode"/>
+                    <element name="exceptionMessage" type="xsd:string"/>
+
+                </sequence>
+            </complexType>
+
+            <element name="fault" type="fns:ApiFault" />
+
+            <complexType name="ApiQueryFault">
+                <complexContent>
+                    <extension base="fns:ApiFault">
+                        <sequence>
+                        <element name="row" type="xsd:int"/>
+                        <element name="column" type="xsd:int"/>
+                        </sequence>
+                    </extension>
+                </complexContent>
+            </complexType>
+
+            <complexType name="LoginFault">
+                <complexContent>
+                    <extension base="fns:ApiFault"/>
+                </complexContent>
+            </complexType>
+            <element name="LoginFault" type="fns:LoginFault"/>
+
+            <complexType name="InvalidQueryLocatorFault">
+                <complexContent>
+                    <extension base="fns:ApiFault"/>
+                </complexContent>
+            </complexType>
+            <element name="InvalidQueryLocatorFault" type="fns:InvalidQueryLocatorFault"/>
+
+            <complexType name="InvalidNewPasswordFault">
+                <complexContent>
+                    <extension base="fns:ApiFault"/>
+                </complexContent>
+            </complexType>
+            <element name="InvalidNewPasswordFault" type="fns:InvalidNewPasswordFault"/>
+
+            <complexType name="InvalidIdFault">
+                <complexContent>
+                    <extension base="fns:ApiFault"/>
+                </complexContent>
+            </complexType>
+            <element name="InvalidIdFault" type="fns:InvalidIdFault"/>
+
+            <complexType name="UnexpectedErrorFault">
+                <complexContent>
+                    <extension base="fns:ApiFault"/>
+                </complexContent>
+            </complexType>
+            <element name="UnexpectedErrorFault" type="fns:UnexpectedErrorFault"/>
+
+            <complexType name="InvalidFieldFault">
+                <complexContent>
+                    <extension base="fns:ApiQueryFault"/>
+                </complexContent>
+            </complexType>
+            <element name="InvalidFieldFault" type="fns:InvalidFieldFault"/>
+
+            <complexType name="InvalidSObjectFault">
+                <complexContent>
+                    <extension base="fns:ApiQueryFault"/>
+                </complexContent>
+            </complexType>
+            <element name="InvalidSObjectFault" type="fns:InvalidSObjectFault"/>
+
+            <complexType name="MalformedQueryFault">
+                <complexContent>
+                    <extension base="fns:ApiQueryFault"/>
+                </complexContent>
+            </complexType>
+            <element name="MalformedQueryFault" type="fns:MalformedQueryFault"/>
+
+            <complexType name="MalformedSearchFault">
+                <complexContent>
+                    <extension base="fns:ApiQueryFault"/>
+                </complexContent>
+            </complexType>
+            <element name="MalformedSearchFault" type="fns:MalformedSearchFault"/>
+
+
+        </schema>
+    </types>
+
+    <!-- Header Message -->
+    <message name="Header">
+        <part element="tns:LoginScopeHeader"             name="LoginScopeHeader"/>
+        <part element="tns:SessionHeader"                name="SessionHeader"/>
+
+        <part element="tns:CallOptions"                  name="CallOptions"/>
+
+        <part element="tns:QueryOptions"                 name="QueryOptions"/>
+        <part element="tns:AssignmentRuleHeader"         name="AssignmentRuleHeader"/>
+        <part element="tns:AllowFieldTruncationHeader"   name="AllowFieldTruncationHeader"/>
+
+        <part element="tns:AllOrNoneHeader"              name="AllOrNoneHeader"/>
+
+
+        <part element="tns:DisableFeedTrackingHeader"    name="DisableFeedTrackingHeader"/>
+
+
+        <part element="tns:MruHeader"                    name="MruHeader"/>
+        <part element="tns:EmailHeader"                  name="EmailHeader"/>
+
+        <part element="tns:UserTerritoryDeleteHeader"    name="UserTerritoryDeleteHeader"/>
+
+        <part element="tns:DebuggingHeader"              name="DebuggingHeader"/>
+        <part element="tns:PackageVersionHeader"         name="PackageVersionHeader"/>
+        <part element="tns:DebuggingInfo"                name="DebuggingInfo"/>
+        <part element="tns:LocaleOptions"                name="LocaleOptions"/>
+    </message>
+
+    <!-- Fault Messages -->
+
+    <message name="ApiFault">
+        <part name="fault" element="fns:fault"/>
+    </message>
+
+    <message name="LoginFault">
+        <part name="fault" element="fns:LoginFault"/>
+    </message>
+    <message name="InvalidQueryLocatorFault">
+        <part name="fault" element="fns:InvalidQueryLocatorFault"/>
+    </message>
+    <message name="InvalidNewPasswordFault">
+        <part name="fault" element="fns:InvalidNewPasswordFault"/>
+    </message>
+    <message name="InvalidIdFault">
+        <part name="fault" element="fns:InvalidIdFault"/>
+    </message>
+    <message name="UnexpectedErrorFault">
+        <part name="fault" element="fns:UnexpectedErrorFault"/>
+    </message>
+    <message name="InvalidFieldFault">
+        <part name="fault" element="fns:InvalidFieldFault"/>
+    </message>
+    <message name="InvalidSObjectFault">
+        <part name="fault" element="fns:InvalidSObjectFault"/>
+    </message>
+    <message name="MalformedQueryFault">
+        <part name="fault" element="fns:MalformedQueryFault"/>
+    </message>
+    <message name="MalformedSearchFault">
+        <part name="fault" element="fns:MalformedSearchFault"/>
+    </message>
+
+
+    <!-- Method Messages -->
+    <message name="loginRequest">
+        <part element="tns:login" name="parameters"/>
+    </message>
+    <message name="loginResponse">
+        <part element="tns:loginResponse" name="parameters"/>
+    </message>
+
+    <message name="describeSObjectRequest">
+        <part element="tns:describeSObject" name="parameters"/>
+    </message>
+    <message name="describeSObjectResponse">
+        <part element="tns:describeSObjectResponse" name="parameters"/>
+    </message>
+
+    <message name="describeSObjectsRequest">
+        <part element="tns:describeSObjects" name="parameters"/>
+    </message>
+    <message name="describeSObjectsResponse">
+        <part element="tns:describeSObjectsResponse" name="parameters"/>
+    </message>
+
+    <message name="describeGlobalRequest">
+        <part element="tns:describeGlobal" name="parameters"/>
+    </message>
+    <message name="describeGlobalResponse">
+        <part element="tns:describeGlobalResponse" name="parameters"/>
+    </message>
+
+    <message name="describeDataCategoryGroupsRequest">
+        <part element="tns:describeDataCategoryGroups" name="parameters"/>
+    </message>
+    <message name="describeDataCategoryGroupsResponse">
+        <part element="tns:describeDataCategoryGroupsResponse" name="parameters"/>
+    </message>
+
+    <message name="describeDataCategoryGroupStructuresRequest">
+        <part element="tns:describeDataCategoryGroupStructures" name="parameters"/>
+    </message>
+    <message name="describeDataCategoryGroupStructuresResponse">
+        <part element="tns:describeDataCategoryGroupStructuresResponse" name="parameters"/>
+    </message>
+
+    <message name="describeLayoutRequest">
+        <part element="tns:describeLayout" name="parameters"/>
+    </message>
+    <message name="describeLayoutResponse">
+        <part element="tns:describeLayoutResponse" name="parameters"/>
+    </message>
+
+    <message name="describeSoftphoneLayoutRequest">
+        <part element="tns:describeSoftphoneLayout" name="parameters"/>
+    </message>
+    <message name="describeSoftphoneLayoutResponse">
+        <part element="tns:describeSoftphoneLayoutResponse" name="parameters"/>
+    </message>
+
+    <message name="describeTabsRequest">
+        <part element="tns:describeTabs" name="parameters"/>
+    </message>
+    <message name="describeTabsResponse">
+        <part element="tns:describeTabsResponse" name="parameters"/>
+    </message>
+
+    <message name="createRequest">
+        <part element="tns:create" name="parameters"/>
+    </message>
+    <message name="createResponse">
+        <part element="tns:createResponse" name="parameters"/>
+    </message>
+
+    <message name="updateRequest">
+        <part element="tns:update" name="parameters"/>
+    </message>
+    <message name="updateResponse">
+        <part element="tns:updateResponse" name="parameters"/>
+    </message>
+
+    <message name="upsertRequest">
+        <part element="tns:upsert" name="parameters"/>
+    </message>
+    <message name="upsertResponse">
+        <part element="tns:upsertResponse" name="parameters"/>
+    </message>
+
+    <message name="mergeRequest">
+        <part element="tns:merge" name="parameters"/>
+    </message>
+    <message name="mergeResponse">
+        <part element="tns:mergeResponse" name="parameters"/>
+    </message>
+
+    <message name="deleteRequest">
+        <part element="tns:delete" name="parameters"/>
+    </message>
+    <message name="deleteResponse">
+        <part element="tns:deleteResponse" name="parameters"/>
+    </message>
+
+    <message name="undeleteRequest">
+        <part element="tns:undelete" name="parameters"/>
+    </message>
+    <message name="undeleteResponse">
+        <part element="tns:undeleteResponse" name="parameters"/>
+    </message>
+
+    <message name="emptyRecycleBinRequest">
+        <part element="tns:emptyRecycleBin" name="parameters"/>
+    </message>
+    <message name="emptyRecycleBinResponse">
+        <part element="tns:emptyRecycleBinResponse" name="parameters"/>
+    </message>
+
+    <message name="retrieveRequest">
+        <part element="tns:retrieve" name="parameters"/>
+    </message>
+    <message name="retrieveResponse">
+        <part element="tns:retrieveResponse" name="parameters"/>
+    </message>
+
+    <message name="processRequest">
+        <part element="tns:process" name="parameters"/>
+    </message>
+    <message name="processResponse">
+        <part element="tns:processResponse" name="parameters"/>
+    </message>
+
+    <message name="convertLeadRequest">
+        <part element="tns:convertLead" name="parameters"/>
+    </message>
+    <message name="convertLeadResponse">
+        <part element="tns:convertLeadResponse" name="parameters"/>
+    </message>
+
+    <message name="logoutRequest">
+        <part element="tns:logout" name="parameters"/>
+    </message>
+    <message name="logoutResponse">
+        <part element="tns:logoutResponse" name="parameters"/>
+    </message>
+
+    <message name="invalidateSessionsRequest">
+        <part element="tns:invalidateSessions" name="parameters"/>
+    </message>
+    <message name="invalidateSessionsResponse">
+        <part element="tns:invalidateSessionsResponse" name="parameters"/>
+    </message>
+
+    <message name="getDeletedRequest">
+        <part element="tns:getDeleted" name="parameters"/>
+    </message>
+    <message name="getDeletedResponse">
+        <part element="tns:getDeletedResponse" name="parameters"/>
+    </message>
+
+    <message name="getUpdatedRequest">
+        <part element="tns:getUpdated" name="parameters"/>
+    </message>
+    <message name="getUpdatedResponse">
+        <part element="tns:getUpdatedResponse" name="parameters"/>
+    </message>
+
+    <message name="queryRequest">
+        <part element="tns:query" name="parameters"/>
+    </message>
+    <message name="queryResponse">
+        <part element="tns:queryResponse" name="parameters"/>
+    </message>
+
+    <message name="queryAllRequest">
+        <part element="tns:queryAll" name="parameters"/>
+    </message>
+    <message name="queryAllResponse">
+        <part element="tns:queryAllResponse" name="parameters"/>
+    </message>
+
+    <message name="queryMoreRequest">
+        <part element="tns:queryMore" name="parameters"/>
+    </message>
+    <message name="queryMoreResponse">
+        <part element="tns:queryMoreResponse" name="parameters"/>
+    </message>
+
+    <message name="searchRequest">
+        <part element="tns:search" name="parameters"/>
+    </message>
+    <message name="searchResponse">
+        <part element="tns:searchResponse" name="parameters"/>
+    </message>
+
+    <message name="getServerTimestampRequest">
+        <part element="tns:getServerTimestamp" name="parameters"/>
+    </message>
+    <message name="getServerTimestampResponse">
+        <part element="tns:getServerTimestampResponse" name="parameters"/>
+    </message>
+
+    <message name="setPasswordRequest">
+        <part element="tns:setPassword" name="parameters"/>
+    </message>
+    <message name="setPasswordResponse">
+        <part element="tns:setPasswordResponse" name="parameters"/>
+    </message>
+
+    <message name="resetPasswordRequest">
+        <part element="tns:resetPassword" name="parameters"/>
+    </message>
+    <message name="resetPasswordResponse">
+        <part element="tns:resetPasswordResponse" name="parameters"/>
+    </message>
+
+    <message name="getUserInfoRequest">
+        <part element="tns:getUserInfo" name="parameters"/>
+    </message>
+    <message name="getUserInfoResponse">
+        <part element="tns:getUserInfoResponse" name="parameters"/>
+    </message>
+
+    <message name="sendEmailRequest">
+        <part element="tns:sendEmail" name="parameters"/>
+    </message>
+    <message name="sendEmailResponse">
+        <part element="tns:sendEmailResponse" name="parameters"/>
+    </message>
+
+
+
+    <!-- Soap PortType -->
+    <portType name="Soap">
+        <operation name="login">
+            <documentation>Login to the Salesforce.com SOAP Api</documentation>
+            <input  message="tns:loginRequest"/>
+            <output message="tns:loginResponse"/>
+            <fault  message="tns:LoginFault" name="LoginFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+        </operation>
+
+        <operation name="describeSObject">
+            <documentation>Describe an sObject</documentation>
+            <input  message="tns:describeSObjectRequest"/>
+            <output message="tns:describeSObjectResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="describeSObjects">
+            <documentation>Describe a number sObjects</documentation>
+            <input  message="tns:describeSObjectsRequest"/>
+            <output message="tns:describeSObjectsResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="describeGlobal">
+            <documentation>Describe the Global state</documentation>
+            <input  message="tns:describeGlobalRequest"/>
+            <output message="tns:describeGlobalResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="describeDataCategoryGroups">
+            <documentation>Describe all the data category groups available for a given set of types</documentation>
+            <input  message="tns:describeDataCategoryGroupsRequest"/>
+            <output message="tns:describeDataCategoryGroupsResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="describeDataCategoryGroupStructures">
+            <documentation>Describe the data category group structures for a given set of pair of types and data category group name</documentation>
+            <input  message="tns:describeDataCategoryGroupStructuresRequest"/>
+            <output message="tns:describeDataCategoryGroupStructuresResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="describeLayout">
+            <documentation>Describe the layout of an sObject</documentation>
+            <input  message="tns:describeLayoutRequest"/>
+            <output message="tns:describeLayoutResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+        </operation>
+
+        <operation name="describeSoftphoneLayout">
+            <documentation>Describe the layout of the SoftPhone</documentation>
+            <input  message="tns:describeSoftphoneLayoutRequest"/>
+            <output message="tns:describeSoftphoneLayoutResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="describeTabs">
+            <documentation>Describe the tabs that appear on a users page</documentation>
+            <input  message="tns:describeTabsRequest"/>
+            <output message="tns:describeTabsResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="create">
+            <documentation>Create a set of new sObjects</documentation>
+            <input  message="tns:createRequest"/>
+            <output message="tns:createResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+            <fault  message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
+        </operation>
+
+        <operation name="update">
+            <documentation>Update a set of sObjects</documentation>
+            <input  message="tns:updateRequest"/>
+            <output message="tns:updateResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+            <fault  message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
+        </operation>
+
+        <operation name="upsert">
+            <documentation>Update or insert a set of sObjects based on object id</documentation>
+            <input  message="tns:upsertRequest"/>
+            <output message="tns:upsertResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+            <fault  message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
+        </operation>
+
+        <operation name="merge">
+            <documentation>Merge and update a set of sObjects based on object id</documentation>
+            <input  message="tns:mergeRequest"/>
+            <output message="tns:mergeResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+            <fault  message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
+        </operation>
+
+        <operation name="delete">
+            <documentation>Delete a set of sObjects</documentation>
+            <input  message="tns:deleteRequest"/>
+            <output message="tns:deleteResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="undelete">
+            <documentation>Undelete a set of sObjects</documentation>
+            <input  message="tns:undeleteRequest"/>
+            <output message="tns:undeleteResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="emptyRecycleBin">
+            <documentation>Empty a set of sObjects from the recycle bin</documentation>
+            <input  message="tns:emptyRecycleBinRequest"/>
+            <output message="tns:emptyRecycleBinResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="retrieve">
+            <documentation>Get a set of sObjects</documentation>
+            <input  message="tns:retrieveRequest"/>
+            <output message="tns:retrieveResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
+            <fault  message="tns:MalformedQueryFault" name="MalformedQueryFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+        </operation>
+
+        <operation name="process">
+            <documentation>Submit an entity to a workflow process or process a workitem</documentation>
+            <input  message="tns:processRequest"/>
+            <output message="tns:processResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+        </operation>
+
+        <operation name="convertLead">
+            <documentation>convert a set of leads</documentation>
+            <input  message="tns:convertLeadRequest"/>
+            <output message="tns:convertLeadResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="logout">
+            <documentation>Logout the current user, invalidating the current session.</documentation>
+            <input  message="tns:logoutRequest"/>
+            <output message="tns:logoutResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="invalidateSessions">
+            <documentation>Logs out and invalidates session ids</documentation>
+            <input  message="tns:invalidateSessionsRequest"/>
+            <output message="tns:invalidateSessionsResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="getDeleted">
+            <documentation>Get the IDs for deleted sObjects</documentation>
+            <input  message="tns:getDeletedRequest"/>
+            <output message="tns:getDeletedResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="getUpdated">
+            <documentation>Get the IDs for updated sObjects</documentation>
+            <input  message="tns:getUpdatedRequest"/>
+            <output message="tns:getUpdatedResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="query">
+            <documentation>Create a Query Cursor</documentation>
+            <input  message="tns:queryRequest"/>
+            <output message="tns:queryResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
+            <fault  message="tns:MalformedQueryFault" name="MalformedQueryFault"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+            <fault  message="tns:InvalidQueryLocatorFault" name="InvalidQueryLocatorFault"/>
+        </operation>
+
+        <operation name="queryAll">
+            <documentation>Create a Query Cursor, including deleted sObjects</documentation>
+            <input  message="tns:queryAllRequest"/>
+            <output message="tns:queryAllResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
+            <fault  message="tns:MalformedQueryFault" name="MalformedQueryFault"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+            <fault  message="tns:InvalidQueryLocatorFault" name="InvalidQueryLocatorFault"/>
+        </operation>
+
+        <operation name="queryMore">
+            <documentation>Gets the next batch of sObjects from a query</documentation>
+            <input  message="tns:queryMoreRequest"/>
+            <output message="tns:queryMoreResponse"/>
+            <fault  message="tns:InvalidQueryLocatorFault" name="InvalidQueryLocatorFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+            <fault  message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
+        </operation>
+
+        <operation name="search">
+            <documentation>Search for sObjects</documentation>
+            <input  message="tns:searchRequest"/>
+            <output message="tns:searchResponse"/>
+            <fault  message="tns:InvalidSObjectFault" name="InvalidSObjectFault"/>
+            <fault  message="tns:InvalidFieldFault" name="InvalidFieldFault"/>
+            <fault  message="tns:MalformedSearchFault" name="MalformedSearchFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="getServerTimestamp">
+            <documentation>Gets server timestamp</documentation>
+            <input  message="tns:getServerTimestampRequest"/>
+            <output message="tns:getServerTimestampResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="setPassword">
+            <documentation>Set a user's password</documentation>
+            <input  message="tns:setPasswordRequest"/>
+            <output message="tns:setPasswordResponse"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+            <fault  message="tns:InvalidNewPasswordFault" name="InvalidNewPasswordFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="resetPassword">
+            <documentation>Reset a user's password</documentation>
+            <input  message="tns:resetPasswordRequest"/>
+            <output message="tns:resetPasswordResponse"/>
+            <fault  message="tns:InvalidIdFault" name="InvalidIdFault"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="getUserInfo">
+            <documentation>Returns standard information relevant to the current user</documentation>
+            <input  message="tns:getUserInfoRequest"/>
+            <output message="tns:getUserInfoResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+        <operation name="sendEmail">
+            <documentation>Send outbound email</documentation>
+            <input  message="tns:sendEmailRequest"/>
+            <output message="tns:sendEmailResponse"/>
+            <fault  message="tns:UnexpectedErrorFault" name="UnexpectedErrorFault"/>
+        </operation>
+
+    </portType>
+
+    <!-- Soap Binding -->
+    <binding name="SoapBinding" type="tns:Soap">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <operation name="login">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="LoginScopeHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="LoginFault">
+                <soap:fault name="LoginFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="describeSObject">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="LocaleOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="describeSObjects">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="LocaleOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="describeGlobal">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="describeDataCategoryGroups">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="describeDataCategoryGroupStructures">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="describeLayout">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="describeSoftphoneLayout">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="describeTabs">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="create">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="AssignmentRuleHeader"/>
+                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
+                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DisableFeedTrackingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="AllOrNoneHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+            <fault name="InvalidFieldFault">
+                <soap:fault name="InvalidFieldFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="update">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="AssignmentRuleHeader"/>
+                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
+                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DisableFeedTrackingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="AllOrNoneHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+            <fault name="InvalidFieldFault">
+                <soap:fault name="InvalidFieldFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="upsert">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="AssignmentRuleHeader"/>
+                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
+                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DisableFeedTrackingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="AllOrNoneHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+            <fault name="InvalidFieldFault">
+                <soap:fault name="InvalidFieldFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="merge">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="AssignmentRuleHeader"/>
+                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
+                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DisableFeedTrackingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+            <fault name="InvalidFieldFault">
+                <soap:fault name="InvalidFieldFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="delete">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="UserTerritoryDeleteHeader"/>
+                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
+                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DisableFeedTrackingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="AllOrNoneHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="undelete">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DisableFeedTrackingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="AllOrNoneHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="emptyRecycleBin">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="retrieve">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="QueryOptions"/>
+                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="InvalidFieldFault">
+                <soap:fault name="InvalidFieldFault" use="literal"/>
+            </fault>
+            <fault name="MalformedQueryFault">
+                <soap:fault name="MalformedQueryFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="process">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DisableFeedTrackingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="convertLead">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="AllowFieldTruncationHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DisableFeedTrackingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="DebuggingHeader"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:header use="literal" message="tns:Header" part="DebuggingInfo"/>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="logout">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="invalidateSessions">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="getDeleted">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="getUpdated">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="query">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="QueryOptions"/>
+                <soap:header use="literal" message="tns:Header" part="MruHeader"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="InvalidFieldFault">
+                <soap:fault name="InvalidFieldFault" use="literal"/>
+            </fault>
+            <fault name="MalformedQueryFault">
+                <soap:fault name="MalformedQueryFault" use="literal"/>
+            </fault>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+            <fault name="InvalidQueryLocatorFault">
+                <soap:fault name="InvalidQueryLocatorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="queryAll">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="QueryOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="InvalidFieldFault">
+                <soap:fault name="InvalidFieldFault" use="literal"/>
+            </fault>
+            <fault name="MalformedQueryFault">
+                <soap:fault name="MalformedQueryFault" use="literal"/>
+            </fault>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+            <fault name="InvalidQueryLocatorFault">
+                <soap:fault name="InvalidQueryLocatorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="queryMore">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="QueryOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidQueryLocatorFault">
+                <soap:fault name="InvalidQueryLocatorFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+            <fault name="InvalidFieldFault">
+                <soap:fault name="InvalidFieldFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="search">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="PackageVersionHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidSObjectFault">
+                <soap:fault name="InvalidSObjectFault" use="literal"/>
+            </fault>
+            <fault name="InvalidFieldFault">
+                <soap:fault name="InvalidFieldFault" use="literal"/>
+            </fault>
+            <fault name="MalformedSearchFault">
+                <soap:fault name="MalformedSearchFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="getServerTimestamp">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="setPassword">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+            <fault name="InvalidNewPasswordFault">
+                <soap:fault name="InvalidNewPasswordFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="resetPassword">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:header use="literal" message="tns:Header" part="EmailHeader"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="InvalidIdFault">
+                <soap:fault name="InvalidIdFault" use="literal"/>
+            </fault>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="getUserInfo">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+        <operation name="sendEmail">
+            <soap:operation soapAction=""/>
+            <input>
+                <soap:header use="literal" message="tns:Header" part="SessionHeader"/>
+                <soap:header use="literal" message="tns:Header" part="CallOptions"/>
+                <soap:body parts="parameters" use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+            <fault name="UnexpectedErrorFault">
+                <soap:fault name="UnexpectedErrorFault" use="literal"/>
+            </fault>
+        </operation>
+
+    </binding>
+
+    <!-- Soap Service Endpoint -->
+    <service name="SforceService">
+        <documentation>Sforce SOAP API</documentation>
+        <port binding="tns:SoapBinding" name="Soap">
+            <soap:address location="https://login.salesforce.com/services/Soap/u/22.0"/>
+        </port>
+    </service>
+</definitions>
+

Modified: trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml	2011-10-03 12:04:56 UTC (rev 3510)
@@ -1864,7 +1864,7 @@
     	<title>COMMANDPAYLOAD</title>
     	<para>Retrieve a string from the command payload
                 or null if no command payload was specified. The command
-                payload is set by a method on the Teiid JDBC API
+                payload is set by the <code>TeiidStatement.setPayload</code> method on the Teiid JDBC API
                 extensions on a per-query basis.</para>
     	<para><synopsis>COMMANDPAYLOAD([key])</synopsis></para>
     	<para>If the key parameter is provided, the command payload object is cast to a
@@ -1877,7 +1877,7 @@
     	<para><synopsis>ENV(key)</synopsis></para>
     	<para>The only key specific to the current session is 'sessionid'.  
                 However the preferred mechanism for getting the session id is with the session_id() function.  
-                To prevent untrusted access to system properties, the use of this function must be specifically enabled in the &jboss-beans; file.</para>
+                To prevent untrusted access to system properties, this function is not enabled by default.  The ENV function may be enabled via the allowEnvFunction property in the &teiid-deployer-beans; file.</para>
     	<para>key, return value are strings</para>
      </section>
      <section>
@@ -1967,10 +1967,13 @@
           <para id="xmlnamespaces">XMLNAMESPACES is used provide namespace information.  NO DEFAULT is equivalent to defining the default namespace to the null uri - xmlns="".  
           Only one DEFAULT or NO DEFAULT namespace item may be specified.  The namespace prefixes xmlns and xml are reserved.</para>
           <para>If a attribute name is not supplied, the expression must be a column reference, in which case the attribute name will be the column name. Null attribute values are ignored.</para>
-		<para>Name, prefix are identifiers. uri is a string literal. content can be any type. Return value is xml.  The return value is valid for use in places where a document is expected.</para>            
-           <para><emphasis>Example</emphasis>: with an xml_value of &lt;doc/&gt;, <programlisting>xmlelement('elem', 1, '&lt;2/&gt;', xml_value)</programlisting>
+		<para>Name, prefix are identifiers. uri is a string literal. content can be any type. Return value is xml.  The return value is valid for use in places where a document is expected.</para>         
+		<example>
+		   <title>XMLELEMENT of mixed values</title>
+		   <para>with an xml_value of &lt;doc/&gt;, <programlisting>XMLELEMENT(NAME "elem", 1, '&lt;2/&gt;', xml_value)</programlisting>
            		Returns: <code>&lt;elem&gt;1&amp;lt;2/&amp;gt;&lt;doc/&gt;&lt;elem/&gt;</code>
            </para>
+		</example>   
     </section>
     <section>
     	<title>XMLFOREST</title>
@@ -2053,10 +2056,12 @@
     with the security system.</para>
     <section>
     	<title>HASROLE</title>
-    	<para>Whether the current caller has the role roleName.</para>
+    	<para>Whether the current caller has the Teiid data role roleName.</para>
     	<para><synopsis>hasRole([roleType,] roleName)</synopsis></para>
         <para>roleName must be a string, the return type is boolean.</para>
-        <para>The two argument form is provided for backwards compatibility. roleType is a string and must be 'data'</para>
+        <para>The two argument form is provided for backwards compatibility. roleType is a string and must be 'data'.</para>
+        <para>Role names are case-sensitive and only match Teiid <xref linkend="dataroles"/>. 
+        JAAS roles/groups names are not valid for this function - unless there is corresponding data role with the same name.</para>
     </section>
   </section>
   <section>

Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -25,6 +25,8 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -202,6 +204,7 @@
     private int currentlyActivePlans;
     private int userRequestSourceConcurrency;
     private LinkedList<RequestWorkItem> waitingPlans = new LinkedList<RequestWorkItem>();
+    private LinkedHashSet<RequestWorkItem> bufferFullPlans = new LinkedHashSet<RequestWorkItem>();
     private CacheFactory cacheFactory;
 
 	private AuthorizationValidator authorizationValidator;
@@ -343,12 +346,21 @@
         addRequest(requestID, workItem, state);
         boolean runInThread = DQPWorkContext.getWorkContext().useCallingThread() || requestMsg.isSync();
         synchronized (waitingPlans) {
-			if (runInThread || currentlyActivePlans < maxActivePlans) {
+			if (runInThread || currentlyActivePlans <= maxActivePlans) {
 				startActivePlan(workItem, !runInThread);
 			} else {
 				if (LogManager.isMessageToBeRecorded(LogConstants.CTX_DQP, MessageLevel.DETAIL)) {
-		            LogManager.logDetail(LogConstants.CTX_DQP, "Queuing plan, since max plans has been reached.");  //$NON-NLS-1$
+		            LogManager.logDetail(LogConstants.CTX_DQP, workItem.requestID, "Queuing plan, since max plans has been reached.");  //$NON-NLS-1$
 		        }  
+				if (!bufferFullPlans.isEmpty()) {
+	        		Iterator<RequestWorkItem> id = bufferFullPlans.iterator();
+	        		RequestWorkItem bufferFull = id.next();
+	        		id.remove();
+					if (LogManager.isMessageToBeRecorded(LogConstants.CTX_DQP, MessageLevel.DETAIL)) {
+			            LogManager.logDetail(LogConstants.CTX_DQP, bufferFull.requestID, "Restarting plan with full buffer, since there is a pending active plan.");  //$NON-NLS-1$
+			        }  
+	        		bufferFull.moreWork();
+	        	}
 				waitingPlans.add(workItem);
 			}
 		}
@@ -391,12 +403,23 @@
         	}
         	workItem.active = false;
     		currentlyActivePlans--;
+    		bufferFullPlans.remove(workItem.requestID);
 			if (!waitingPlans.isEmpty()) {
 				startActivePlan(waitingPlans.remove(), true);
 			}
 		}
     }
     
+    public boolean hasWaitingPlans(RequestWorkItem item) {
+    	synchronized (waitingPlans) {
+    		if (!waitingPlans.isEmpty()) {
+    			return true;
+    		}
+    		this.bufferFullPlans.add(item);
+		}
+    	return false;
+    }
+    
     void removeRequest(final RequestWorkItem workItem) {
     	finishProcessing(workItem);
     	this.requests.remove(workItem.requestID);

Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -78,6 +78,9 @@
 
 public class RequestWorkItem extends AbstractWorkItem implements PrioritizedRunnable {
 	
+	//TODO: this could be configurable
+	private static final int OUTPUT_BUFFER_MAX_BATCHES = 20;
+
 	private final class WorkWrapper<T> implements
 			DQPCore.CompletionListener<T> {
 		
@@ -276,7 +279,9 @@
             resume();
         	
             if (this.state == ProcessingState.PROCESSING) {
-            	processMore();
+            	if (!this.closeRequested) {
+            		processMore();
+            	}
             	if (this.closeRequested) {
             		this.state = ProcessingState.CLOSE;
             	}
@@ -485,10 +490,8 @@
 		collector = new BatchCollector(processor, processor.getBufferManager(), this.request.context, isForwardOnly()) {
 			protected void flushBatchDirect(TupleBatch batch, boolean add) throws TeiidComponentException,TeiidProcessingException {
 				resultsBuffer = getTupleBuffer();
-				boolean added = false;
 				if (cid != null) {
 					super.flushBatchDirect(batch, add);
-					added = true;
 				}
 				if (batch.getTerminationFlag()) {
 					doneProducingBatches();
@@ -496,14 +499,20 @@
 				addToCache();
 				synchronized (lobStreams) {
 					add = sendResultsIfNeeded(batch);
-					if (!added) {
-						super.flushBatchDirect(batch, add);
-						//restrict the buffer size for forward only results
-						if (add && !processor.hasFinalBuffer()
-								&& !batch.getTerminationFlag() 
-								&& this.getTupleBuffer().getManagedRowCount() >= 20 * this.getTupleBuffer().getBatchSize()) {
+					if (cid != null) {
+						return;
+					}
+					super.flushBatchDirect(batch, add);
+					//restrict the buffer size for forward only results
+					if (add && !processor.hasFinalBuffer()
+							&& !batch.getTerminationFlag() 
+							&& this.getTupleBuffer().getManagedRowCount() >= OUTPUT_BUFFER_MAX_BATCHES * this.getTupleBuffer().getBatchSize()) {
+						if (!dqpCore.hasWaitingPlans(RequestWorkItem.this)) {
 							//requestMore will trigger more processing
 							throw BlockedException.block(requestID, "Blocking due to full results buffer."); //$NON-NLS-1$
+						} 
+						if (LogManager.isMessageToBeRecorded(LogConstants.CTX_DQP, MessageLevel.DETAIL)) {
+							LogManager.logDetail(LogConstants.CTX_DQP, requestID, "Exceeding buffer limit since there are pending active plans."); //$NON-NLS-1$
 						}
 					}
 				}
@@ -789,10 +798,10 @@
         		return;
         	}
 		}
-    	this.closeRequested = true;
     	if (!this.doneProducingBatches) {
     		this.requestCancel(); //pending work should be canceled for fastest clean up
     	}
+    	this.closeRequested = true;
     	this.doMoreWork();
     }
     

Modified: trunk/engine/src/main/java/org/teiid/dqp/message/RequestID.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/message/RequestID.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/engine/src/main/java/org/teiid/dqp/message/RequestID.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -27,6 +27,9 @@
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 
+import org.teiid.core.util.EquivalenceUtil;
+import org.teiid.core.util.HashCodeUtil;
+
 /**
  * <p>This class represents an identifier for a request.  However, there are some
  * differences in what constitutes "uniqueness" for a given RequestID that 
@@ -58,7 +61,6 @@
     
     // Derived state
     private String combinedID;
-    private int hash;
 
     /**
      * Necessary for implementing Externalizable 
@@ -74,17 +76,11 @@
     public RequestID(String connectionID, long executionID) {
         this.connectionID = connectionID;
         this.executionID = executionID;
-        
-        createCombinedID();
-        computeHashCode();
     }
     
     public RequestID(long connectionID, long executionID) {
         this.connectionID = String.valueOf(connectionID);
         this.executionID = executionID;
-        
-        createCombinedID();
-        computeHashCode();
     }    
     
     /**
@@ -129,28 +125,28 @@
         this.combinedID = combinedStr.toString();
     }
     
-    private void computeHashCode() {
-        this.hash = combinedID.hashCode();
-    }
-    
     public int hashCode() {
-        return this.hash;
+        return HashCodeUtil.hashCode(connectionID==null?0:connectionID.hashCode(), executionID);
     }
     
     public boolean equals(Object obj) {
         if(obj == this) {
             return true;
-        } else if(obj == null || !(obj instanceof RequestID) || obj.hashCode() != this.hashCode()) {
+        } else if(obj == null || !(obj instanceof RequestID)) {
             return false;
-        } else {
-            return this.toString().equals(obj.toString());
-        }
+        } 
+        RequestID other = (RequestID)obj;
+        return this.executionID == other.executionID 
+        	&& EquivalenceUtil.areEqual(this.connectionID, other.connectionID);
     }
     
     /**
      * Return a combined string for the ID.
      */
     public String toString() {
+    	if (combinedID == null) {
+    		createCombinedID();
+    	}
         return this.combinedID;
     }
 
@@ -160,9 +156,6 @@
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
         connectionID = (String)in.readObject();
         executionID = in.readLong();
-
-        createCombinedID();
-        computeHashCode();
     }
 
     /**

Modified: trunk/engine/src/test/java/org/teiid/dqp/message/TestRequestID.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/message/TestRequestID.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/engine/src/test/java/org/teiid/dqp/message/TestRequestID.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -97,7 +97,7 @@
     }
 
     public void testSerialize2() throws Exception {
-        RequestID copy = UnitTestUtil.helpSerialize(new RequestID(100)); //$NON-NLS-1$
+        RequestID copy = UnitTestUtil.helpSerialize(new RequestID(100));
 
         assertEquals(null, copy.getConnectionID());
         assertEquals(100, copy.getExecutionID());

Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/pom.xml	2011-10-03 12:04:56 UTC (rev 3510)
@@ -77,6 +77,26 @@
         <module>documentation</module>
         <module>build</module>        
       </modules>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <version>2.8</version>
+            <configuration>
+              <maxmemory>512m</maxmemory>
+              <excludePackageNames>*.internal,com.*,net.*,org.teiid.cache,org.teiid.common.*,org.teiid.core,org.teiid.deployers,org.teiid.dqp.*,org.teiid.jboss,org.teiid.netty.*,org.teiid.odbc,org.teiid.query,org.teiid.resource.*,org.teiid.rhq.*,org.teiid.runtime,org.teiid.security,org.teiid.services,org.teiid.templates,org.teiid.test.*,org.teiid.transport,org.teiid.vdb.*</excludePackageNames>
+            </configuration>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>aggregate-jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>            
+        </plugins>
+      </build>
     </profile>
     <profile>
       <!--
@@ -182,27 +202,8 @@
                     </execution>
                 </executions>
             </plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-javadoc-plugin</artifactId>
-				<version>2.5</version>
-			</plugin>            
 		</plugins>
 	</build>
-	<reporting>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-javadoc-plugin</artifactId>
-				<version>2.8</version>
-				<configuration>
-					<aggregate>true</aggregate>
-					<maxmemory>512m</maxmemory>
-					<excludePackageNames>*.internal</excludePackageNames>
-				</configuration>
-			</plugin>
-		</plugins>
-	</reporting>
 	<repositories>
 		<repository>
 			<id>jboss-public-repository</id>

Modified: trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java	2011-10-03 03:03:18 UTC (rev 3509)
+++ trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java	2011-10-03 12:04:56 UTC (rev 3510)
@@ -36,6 +36,7 @@
 import org.junit.Test;
 import org.teiid.common.buffer.BufferManagerFactory;
 import org.teiid.core.util.UnitTestUtil;
+import org.teiid.dqp.internal.process.DQPConfiguration;
 import org.teiid.jdbc.FakeServer;
 import org.teiid.jdbc.TeiidDriver;
 import org.teiid.jdbc.TestMMDatabaseMetaData;
@@ -53,6 +54,8 @@
 		config.setBindAddress(addr.getHostName());
 		config.setPortNumber(0);
 		
+		DQPConfiguration dqpConfig = new DQPConfiguration();
+		dqpConfig.setMaxActivePlans(2);
 		FakeServer server = new FakeServer();
 		server.setUseCallingThread(false);
 		server.deployVDB("parts", UnitTestUtil.getTestDataPath() + "/PartsSupplier.vdb");
@@ -81,13 +84,23 @@
 		}
 	}
 	
-	/**
-	 * Under the covers this still executes a prepared statement due to the driver handling
-	 */
 	@Test public void testSelect() throws Exception {
 		Statement s = conn.createStatement();
 		assertTrue(s.execute("select * from tables order by name"));
 		TestMMDatabaseMetaData.compareResultSet(s.getResultSet());
 	}
 	
+	/**
+	 * Ensures if you start more than the maxActivePlans
+	 * where all the plans take up more than output buffer limit
+	 * that processing still proceeds
+	 * @throws Exception
+	 */
+	@Test public void testSimultaneousLargeSelects() throws Exception {
+		for (int j = 0; j < 3; j++) {
+			Statement s = conn.createStatement();
+			assertTrue(s.execute("select * from columns c1, columns c2"));
+		}
+	}
+	
 }


Property changes on: trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/7.4.x/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java:3455-3509



More information about the teiid-commits mailing list