You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/06/05 17:12:53 UTC

[09/11] CAMEL-6428: camel-salesforce component. Thanks to Dhiraj Bokde for the contribution.

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/JobInfo.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/JobInfo.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/JobInfo.java
new file mode 100644
index 0000000..568138c
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/JobInfo.java
@@ -0,0 +1,673 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Java class for JobInfo complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="JobInfo">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="operation" type="{http://www.force.com/2009/06/asyncapi/dataload}OperationEnum" minOccurs="0"/>
+ *         &lt;element name="object" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="createdById" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="createdDate" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         &lt;element name="systemModstamp" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         &lt;element name="state" type="{http://www.force.com/2009/06/asyncapi/dataload}JobStateEnum" minOccurs="0"/>
+ *         &lt;element name="externalIdFieldName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="concurrencyMode" type="{http://www.force.com/2009/06/asyncapi/dataload}ConcurrencyModeEnum" minOccurs="0"/>
+ *         &lt;element name="contentType" type="{http://www.force.com/2009/06/asyncapi/dataload}ContentType" minOccurs="0"/>
+ *         &lt;element name="numberBatchesQueued" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         &lt;element name="numberBatchesInProgress" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         &lt;element name="numberBatchesCompleted" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         &lt;element name="numberBatchesFailed" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         &lt;element name="numberBatchesTotal" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         &lt;element name="numberRecordsProcessed" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         &lt;element name="numberRetries" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         &lt;element name="apiVersion" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="assignmentRuleId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="numberRecordsFailed" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         &lt;element name="totalProcessingTime" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
+ *         &lt;element name="apiActiveProcessingTime" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
+ *         &lt;element name="apexProcessingTime" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "JobInfo", propOrder = {
+    "id",
+    "operation",
+    "object",
+    "createdById",
+    "createdDate",
+    "systemModstamp",
+    "state",
+    "externalIdFieldName",
+    "concurrencyMode",
+    "contentType",
+    "numberBatchesQueued",
+    "numberBatchesInProgress",
+    "numberBatchesCompleted",
+    "numberBatchesFailed",
+    "numberBatchesTotal",
+    "numberRecordsProcessed",
+    "numberRetries",
+    "apiVersion",
+    "assignmentRuleId",
+    "numberRecordsFailed",
+    "totalProcessingTime",
+    "apiActiveProcessingTime",
+    "apexProcessingTime"
+})
+public class JobInfo {
+
+    protected String id;
+    protected OperationEnum operation;
+    protected String object;
+    protected String createdById;
+    @XmlSchemaType(name = "dateTime")
+    protected XMLGregorianCalendar createdDate;
+    @XmlSchemaType(name = "dateTime")
+    protected XMLGregorianCalendar systemModstamp;
+    protected JobStateEnum state;
+    protected String externalIdFieldName;
+    protected ConcurrencyModeEnum concurrencyMode;
+    protected ContentType contentType;
+    protected Integer numberBatchesQueued;
+    protected Integer numberBatchesInProgress;
+    protected Integer numberBatchesCompleted;
+    protected Integer numberBatchesFailed;
+    protected Integer numberBatchesTotal;
+    protected Integer numberRecordsProcessed;
+    protected Integer numberRetries;
+    protected String apiVersion;
+    protected String assignmentRuleId;
+    protected Integer numberRecordsFailed;
+    protected Long totalProcessingTime;
+    protected Long apiActiveProcessingTime;
+    protected Long apexProcessingTime;
+
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
+
+    /**
+     * Gets the value of the operation property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link OperationEnum }
+     *
+     */
+    public OperationEnum getOperation() {
+        return operation;
+    }
+
+    /**
+     * Sets the value of the operation property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link OperationEnum }
+     *
+     */
+    public void setOperation(OperationEnum value) {
+        this.operation = value;
+    }
+
+    /**
+     * Gets the value of the object property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
+     */
+    public String getObject() {
+        return object;
+    }
+
+    /**
+     * Sets the value of the object property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
+     */
+    public void setObject(String value) {
+        this.object = value;
+    }
+
+    /**
+     * Gets the value of the createdById property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
+     */
+    public String getCreatedById() {
+        return createdById;
+    }
+
+    /**
+     * Sets the value of the createdById property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
+     */
+    public void setCreatedById(String value) {
+        this.createdById = value;
+    }
+
+    /**
+     * Gets the value of the createdDate property.
+     *
+     * @return
+     *     possible object is
+     *     {@link javax.xml.datatype.XMLGregorianCalendar }
+     *
+     */
+    public XMLGregorianCalendar getCreatedDate() {
+        return createdDate;
+    }
+
+    /**
+     * Sets the value of the createdDate property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link javax.xml.datatype.XMLGregorianCalendar }
+     *
+     */
+    public void setCreatedDate(XMLGregorianCalendar value) {
+        this.createdDate = value;
+    }
+
+    /**
+     * Gets the value of the systemModstamp property.
+     *
+     * @return
+     *     possible object is
+     *     {@link javax.xml.datatype.XMLGregorianCalendar }
+     *
+     */
+    public XMLGregorianCalendar getSystemModstamp() {
+        return systemModstamp;
+    }
+
+    /**
+     * Sets the value of the systemModstamp property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link javax.xml.datatype.XMLGregorianCalendar }
+     *
+     */
+    public void setSystemModstamp(XMLGregorianCalendar value) {
+        this.systemModstamp = value;
+    }
+
+    /**
+     * Gets the value of the state property.
+     *
+     * @return
+     *     possible object is
+     *     {@link JobStateEnum }
+     *
+     */
+    public JobStateEnum getState() {
+        return state;
+    }
+
+    /**
+     * Sets the value of the state property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link JobStateEnum }
+     *
+     */
+    public void setState(JobStateEnum value) {
+        this.state = value;
+    }
+
+    /**
+     * Gets the value of the externalIdFieldName property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
+     */
+    public String getExternalIdFieldName() {
+        return externalIdFieldName;
+    }
+
+    /**
+     * Sets the value of the externalIdFieldName property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
+     */
+    public void setExternalIdFieldName(String value) {
+        this.externalIdFieldName = value;
+    }
+
+    /**
+     * Gets the value of the concurrencyMode property.
+     *
+     * @return
+     *     possible object is
+     *     {@link ConcurrencyModeEnum }
+     *
+     */
+    public ConcurrencyModeEnum getConcurrencyMode() {
+        return concurrencyMode;
+    }
+
+    /**
+     * Sets the value of the concurrencyMode property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link ConcurrencyModeEnum }
+     *
+     */
+    public void setConcurrencyMode(ConcurrencyModeEnum value) {
+        this.concurrencyMode = value;
+    }
+
+    /**
+     * Gets the value of the contentType property.
+     *
+     * @return
+     *     possible object is
+     *     {@link ContentType }
+     *
+     */
+    public ContentType getContentType() {
+        return contentType;
+    }
+
+    /**
+     * Sets the value of the contentType property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link ContentType }
+     *     
+     */
+    public void setContentType(ContentType value) {
+        this.contentType = value;
+    }
+
+    /**
+     * Gets the value of the numberBatchesQueued property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getNumberBatchesQueued() {
+        return numberBatchesQueued;
+    }
+
+    /**
+     * Sets the value of the numberBatchesQueued property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setNumberBatchesQueued(Integer value) {
+        this.numberBatchesQueued = value;
+    }
+
+    /**
+     * Gets the value of the numberBatchesInProgress property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getNumberBatchesInProgress() {
+        return numberBatchesInProgress;
+    }
+
+    /**
+     * Sets the value of the numberBatchesInProgress property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setNumberBatchesInProgress(Integer value) {
+        this.numberBatchesInProgress = value;
+    }
+
+    /**
+     * Gets the value of the numberBatchesCompleted property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getNumberBatchesCompleted() {
+        return numberBatchesCompleted;
+    }
+
+    /**
+     * Sets the value of the numberBatchesCompleted property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setNumberBatchesCompleted(Integer value) {
+        this.numberBatchesCompleted = value;
+    }
+
+    /**
+     * Gets the value of the numberBatchesFailed property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getNumberBatchesFailed() {
+        return numberBatchesFailed;
+    }
+
+    /**
+     * Sets the value of the numberBatchesFailed property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setNumberBatchesFailed(Integer value) {
+        this.numberBatchesFailed = value;
+    }
+
+    /**
+     * Gets the value of the numberBatchesTotal property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getNumberBatchesTotal() {
+        return numberBatchesTotal;
+    }
+
+    /**
+     * Sets the value of the numberBatchesTotal property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setNumberBatchesTotal(Integer value) {
+        this.numberBatchesTotal = value;
+    }
+
+    /**
+     * Gets the value of the numberRecordsProcessed property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getNumberRecordsProcessed() {
+        return numberRecordsProcessed;
+    }
+
+    /**
+     * Sets the value of the numberRecordsProcessed property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setNumberRecordsProcessed(Integer value) {
+        this.numberRecordsProcessed = value;
+    }
+
+    /**
+     * Gets the value of the numberRetries property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getNumberRetries() {
+        return numberRetries;
+    }
+
+    /**
+     * Sets the value of the numberRetries property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setNumberRetries(Integer value) {
+        this.numberRetries = value;
+    }
+
+    /**
+     * Gets the value of the apiVersion property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getApiVersion() {
+        return apiVersion;
+    }
+
+    /**
+     * Sets the value of the apiVersion property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setApiVersion(String value) {
+        this.apiVersion = value;
+    }
+
+    /**
+     * Gets the value of the assignmentRuleId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAssignmentRuleId() {
+        return assignmentRuleId;
+    }
+
+    /**
+     * Sets the value of the assignmentRuleId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAssignmentRuleId(String value) {
+        this.assignmentRuleId = value;
+    }
+
+    /**
+     * Gets the value of the numberRecordsFailed property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getNumberRecordsFailed() {
+        return numberRecordsFailed;
+    }
+
+    /**
+     * Sets the value of the numberRecordsFailed property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setNumberRecordsFailed(Integer value) {
+        this.numberRecordsFailed = value;
+    }
+
+    /**
+     * Gets the value of the totalProcessingTime property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Long }
+     *     
+     */
+    public Long getTotalProcessingTime() {
+        return totalProcessingTime;
+    }
+
+    /**
+     * Sets the value of the totalProcessingTime property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Long }
+     *     
+     */
+    public void setTotalProcessingTime(Long value) {
+        this.totalProcessingTime = value;
+    }
+
+    /**
+     * Gets the value of the apiActiveProcessingTime property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Long }
+     *     
+     */
+    public Long getApiActiveProcessingTime() {
+        return apiActiveProcessingTime;
+    }
+
+    /**
+     * Sets the value of the apiActiveProcessingTime property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Long }
+     *     
+     */
+    public void setApiActiveProcessingTime(Long value) {
+        this.apiActiveProcessingTime = value;
+    }
+
+    /**
+     * Gets the value of the apexProcessingTime property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Long }
+     *     
+     */
+    public Long getApexProcessingTime() {
+        return apexProcessingTime;
+    }
+
+    /**
+     * Sets the value of the apexProcessingTime property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Long }
+     *     
+     */
+    public void setApexProcessingTime(Long value) {
+        this.apexProcessingTime = value;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/JobStateEnum.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/JobStateEnum.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/JobStateEnum.java
new file mode 100644
index 0000000..474768c
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/JobStateEnum.java
@@ -0,0 +1,72 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for JobStateEnum.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * &lt;simpleType name="JobStateEnum">
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     &lt;enumeration value="Open"/>
+ *     &lt;enumeration value="Closed"/>
+ *     &lt;enumeration value="Aborted"/>
+ *     &lt;enumeration value="Failed"/>
+ *   &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ * 
+ */
+@XmlType(name = "JobStateEnum")
+@XmlEnum
+public enum JobStateEnum {
+
+    @XmlEnumValue("Open")
+    OPEN("Open"),
+    @XmlEnumValue("Closed")
+    CLOSED("Closed"),
+    @XmlEnumValue("Aborted")
+    ABORTED("Aborted"),
+    @XmlEnumValue("Failed")
+    FAILED("Failed");
+    private final String value;
+
+    JobStateEnum(String v) {
+        value = v;
+    }
+
+    public String value() {
+        return value;
+    }
+
+    public static JobStateEnum fromValue(String v) {
+        for (JobStateEnum c: JobStateEnum.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ObjectFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ObjectFactory.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ObjectFactory.java
new file mode 100644
index 0000000..dc476ac
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ObjectFactory.java
@@ -0,0 +1,200 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * in the org.apache.camel.component.salesforce.api.dto.bulk package.
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+    private final static QName _JobInfo_QNAME = new QName("http://www.force.com/2009/06/asyncapi/dataload", "jobInfo");
+    private final static QName _BatchInfo_QNAME = new QName("http://www.force.com/2009/06/asyncapi/dataload", "batchInfo");
+    private final static QName _Error_QNAME = new QName("http://www.force.com/2009/06/asyncapi/dataload", "error");
+    private final static QName _Results_QNAME = new QName("http://www.force.com/2009/06/asyncapi/dataload", "results");
+    private final static QName _ResultList_QNAME = new QName("http://www.force.com/2009/06/asyncapi/dataload", "result-list");
+    private final static QName _BatchInfoList_QNAME = new QName("http://www.force.com/2009/06/asyncapi/dataload", "batchInfoList");
+    private final static QName _QueryResult_QNAME = new QName("http://www.force.com/2009/06/asyncapi/dataload", "queryResult");
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.apache.camel.component.salesforce.api.dto.bulk
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {@link SObject }
+     *
+     */
+    public SObject createSObject() {
+        return new SObject();
+    }
+
+    /**
+     * Create an instance of {@link ResultError }
+     *
+     */
+    public ResultError createResultError() {
+        return new ResultError();
+    }
+
+    /**
+     * Create an instance of {@link BatchInfo }
+     *
+     */
+    public BatchInfo createBatchInfo() {
+        return new BatchInfo();
+    }
+
+    /**
+     * Create an instance of {@link BatchResult }
+     *
+     */
+    public BatchResult createBatchResult() {
+        return new BatchResult();
+    }
+
+    /**
+     * Create an instance of {@link QueryResultList }
+     *
+     */
+    public QueryResultList createQueryResultList() {
+        return new QueryResultList();
+    }
+
+    /**
+     * Create an instance of {@link Error }
+     *
+     */
+    public Error createError() {
+        return new Error();
+    }
+
+    /**
+     * Create an instance of {@link BatchInfoList }
+     *
+     */
+    public BatchInfoList createBatchInfoList() {
+        return new BatchInfoList();
+    }
+
+    /**
+     * Create an instance of {@link Result }
+     *
+     */
+    public Result createResult() {
+        return new Result();
+    }
+
+    /**
+     * Create an instance of {@link JobInfo }
+     *
+     */
+    public JobInfo createJobInfo() {
+        return new JobInfo();
+    }
+
+    /**
+     * Create an instance of {@link QueryResult }
+     *
+     */
+    public QueryResult createQueryResult() {
+        return new QueryResult();
+    }
+
+    /**
+     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link JobInfo }{@code >}}
+     *
+     */
+    @XmlElementDecl(namespace = "http://www.force.com/2009/06/asyncapi/dataload", name = "jobInfo")
+    public JAXBElement<JobInfo> createJobInfo(JobInfo value) {
+        return new JAXBElement<JobInfo>(_JobInfo_QNAME, JobInfo.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link BatchInfo }{@code >}}
+     *
+     */
+    @XmlElementDecl(namespace = "http://www.force.com/2009/06/asyncapi/dataload", name = "batchInfo")
+    public JAXBElement<BatchInfo> createBatchInfo(BatchInfo value) {
+        return new JAXBElement<BatchInfo>(_BatchInfo_QNAME, BatchInfo.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link Error }{@code >}}
+     *
+     */
+    @XmlElementDecl(namespace = "http://www.force.com/2009/06/asyncapi/dataload", name = "error")
+    public JAXBElement<Error> createError(Error value) {
+        return new JAXBElement<Error>(_Error_QNAME, Error.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link BatchResult }{@code >}}
+     *
+     */
+    @XmlElementDecl(namespace = "http://www.force.com/2009/06/asyncapi/dataload", name = "results")
+    public JAXBElement<BatchResult> createResults(BatchResult value) {
+        return new JAXBElement<BatchResult>(_Results_QNAME, BatchResult.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link QueryResultList }{@code >}}
+     *
+     */
+    @XmlElementDecl(namespace = "http://www.force.com/2009/06/asyncapi/dataload", name = "result-list")
+    public JAXBElement<QueryResultList> createResultList(QueryResultList value) {
+        return new JAXBElement<QueryResultList>(_ResultList_QNAME, QueryResultList.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link BatchInfoList }{@code >}}
+     *
+     */
+    @XmlElementDecl(namespace = "http://www.force.com/2009/06/asyncapi/dataload", name = "batchInfoList")
+    public JAXBElement<BatchInfoList> createBatchInfoList(BatchInfoList value) {
+        return new JAXBElement<BatchInfoList>(_BatchInfoList_QNAME, BatchInfoList.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link javax.xml.bind.JAXBElement }{@code <}{@link QueryResult }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.force.com/2009/06/asyncapi/dataload", name = "queryResult")
+    public JAXBElement<QueryResult> createQueryResult(QueryResult value) {
+        return new JAXBElement<QueryResult>(_QueryResult_QNAME, QueryResult.class, null, value);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/OperationEnum.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/OperationEnum.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/OperationEnum.java
new file mode 100644
index 0000000..3f25e66
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/OperationEnum.java
@@ -0,0 +1,78 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for OperationEnum.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * &lt;simpleType name="OperationEnum">
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     &lt;enumeration value="insert"/>
+ *     &lt;enumeration value="upsert"/>
+ *     &lt;enumeration value="update"/>
+ *     &lt;enumeration value="delete"/>
+ *     &lt;enumeration value="hardDelete"/>
+ *     &lt;enumeration value="query"/>
+ *   &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ * 
+ */
+@XmlType(name = "OperationEnum")
+@XmlEnum
+public enum OperationEnum {
+
+    @XmlEnumValue("insert")
+    INSERT("insert"),
+    @XmlEnumValue("upsert")
+    UPSERT("upsert"),
+    @XmlEnumValue("update")
+    UPDATE("update"),
+    @XmlEnumValue("delete")
+    DELETE("delete"),
+    @XmlEnumValue("hardDelete")
+    HARD_DELETE("hardDelete"),
+    @XmlEnumValue("query")
+    QUERY("query");
+    private final String value;
+
+    OperationEnum(String v) {
+        value = v;
+    }
+
+    public String value() {
+        return value;
+    }
+
+    public static OperationEnum fromValue(String v) {
+        for (OperationEnum c: OperationEnum.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/QueryResult.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/QueryResult.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/QueryResult.java
new file mode 100644
index 0000000..702d993
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/QueryResult.java
@@ -0,0 +1,84 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * <p>Java class for QueryResult complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="QueryResult">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="records" type="{http://www.force.com/2009/06/asyncapi/dataload}sObject" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "QueryResult", propOrder = {
+    "records"
+})
+public class QueryResult {
+
+    @XmlElement(nillable = true)
+    protected List<SObject> records;
+
+    /**
+     * Gets the value of the records 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 records property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getRecords().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link SObject }
+     * 
+     * 
+     */
+    public List<SObject> getRecords() {
+        if (records == null) {
+            records = new ArrayList<SObject>();
+        }
+        return this.records;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/QueryResultList.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/QueryResultList.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/QueryResultList.java
new file mode 100644
index 0000000..6dbda5a
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/QueryResultList.java
@@ -0,0 +1,82 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * <p>Java class for QueryResultList complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="QueryResultList">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="result" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "QueryResultList", propOrder = {
+    "result"
+})
+public class QueryResultList {
+
+    protected List<String> 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 String }
+     * 
+     * 
+     */
+    public List<String> getResult() {
+        if (result == null) {
+            result = new ArrayList<String>();
+        }
+        return this.result;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/Result.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/Result.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/Result.java
new file mode 100644
index 0000000..c36d9aa
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/Result.java
@@ -0,0 +1,147 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * <p>Java class for Result complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="Result">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="errors" type="{http://www.force.com/2009/06/asyncapi/dataload}ResultError" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="success" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *         &lt;element name="created" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Result", propOrder = {
+    "errors",
+    "id",
+    "success",
+    "created"
+})
+public class Result {
+
+    protected List<ResultError> errors;
+    protected String id;
+    protected boolean success;
+    protected boolean created;
+
+    /**
+     * Gets the value of the errors 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 errors property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getErrors().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link ResultError }
+     * 
+     * 
+     */
+    public List<ResultError> getErrors() {
+        if (errors == null) {
+            errors = new ArrayList<ResultError>();
+        }
+        return this.errors;
+    }
+
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
+
+    /**
+     * Gets the value of the success property.
+     * 
+     */
+    public boolean isSuccess() {
+        return success;
+    }
+
+    /**
+     * Sets the value of the success property.
+     * 
+     */
+    public void setSuccess(boolean value) {
+        this.success = value;
+    }
+
+    /**
+     * Gets the value of the created property.
+     * 
+     */
+    public boolean isCreated() {
+        return created;
+    }
+
+    /**
+     * Sets the value of the created property.
+     * 
+     */
+    public void setCreated(boolean value) {
+        this.created = value;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ResultError.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ResultError.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ResultError.java
new file mode 100644
index 0000000..fabccab
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ResultError.java
@@ -0,0 +1,140 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * <p>Java class for ResultError complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ResultError">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="fields" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="message" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="statusCode" type="{http://www.force.com/2009/06/asyncapi/dataload}StatusCode"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ResultError", propOrder = {
+    "fields",
+    "message",
+    "statusCode"
+})
+public class ResultError {
+
+    @XmlElement(nillable = true)
+    protected List<String> fields;
+    @XmlElement(required = true)
+    protected String message;
+    @XmlElement(required = true)
+    protected StatusCode statusCode;
+
+    /**
+     * Gets the value of the fields 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 fields property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getFields().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getFields() {
+        if (fields == null) {
+            fields = new ArrayList<String>();
+        }
+        return this.fields;
+    }
+
+    /**
+     * Gets the value of the message property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMessage() {
+        return message;
+    }
+
+    /**
+     * Sets the value of the message property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMessage(String value) {
+        this.message = value;
+    }
+
+    /**
+     * Gets the value of the statusCode property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link StatusCode }
+     *
+     */
+    public StatusCode getStatusCode() {
+        return statusCode;
+    }
+
+    /**
+     * Sets the value of the statusCode property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link StatusCode }
+     *     
+     */
+    public void setStatusCode(StatusCode value) {
+        this.statusCode = value;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/SObject.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/SObject.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/SObject.java
new file mode 100644
index 0000000..aa9c2c5
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/SObject.java
@@ -0,0 +1,138 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.*;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * <p>Java class for sObject complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="sObject">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="Id" type="{http://www.force.com/2009/06/asyncapi/dataload}ID"/>
+ *         &lt;any processContents='lax' namespace='http://www.force.com/2009/06/asyncapi/dataload' maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "sObject", propOrder = {
+    "type",
+    "id",
+    "any"
+})
+public class SObject {
+
+    @XmlElement(required = true)
+    protected String type;
+    @XmlElement(name = "Id", required = true, nillable = true)
+    protected String id;
+    @XmlAnyElement(lax = true)
+    protected List<Object> any;
+
+    /**
+     * Gets the value of the type property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getType() {
+        return type;
+    }
+
+    /**
+     * Sets the value of the type property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setType(String value) {
+        this.type = value;
+    }
+
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
+
+    /**
+     * Gets the value of the any 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 any property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAny().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Object }
+     * {@link org.w3c.dom.Element }
+     * 
+     * 
+     */
+    public List<Object> getAny() {
+        if (any == null) {
+            any = new ArrayList<Object>();
+        }
+        return this.any;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/StatusCode.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/StatusCode.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/StatusCode.java
new file mode 100644
index 0000000..d4e3493
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/StatusCode.java
@@ -0,0 +1,395 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for StatusCode.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <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"/>
+ *     &lt;enumeration value="BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED"/>
+ *     &lt;enumeration value="CANNOT_CASCADE_PRODUCT_ACTIVE"/>
+ *     &lt;enumeration value="CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD"/>
+ *     &lt;enumeration value="CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE"/>
+ *     &lt;enumeration value="CANNOT_DEACTIVATE_DIVISION"/>
+ *     &lt;enumeration value="CANNOT_DELETE_LAST_DATED_CONVERSION_RATE"/>
+ *     &lt;enumeration value="CANNOT_DELETE_MANAGED_OBJECT"/>
+ *     &lt;enumeration value="CANNOT_DISABLE_LAST_ADMIN"/>
+ *     &lt;enumeration value="CANNOT_ENABLE_IP_RESTRICT_REQUESTS"/>
+ *     &lt;enumeration value="CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY"/>
+ *     &lt;enumeration value="CANNOT_MODIFY_MANAGED_OBJECT"/>
+ *     &lt;enumeration value="CANNOT_RENAME_APEX_REFERENCED_FIELD"/>
+ *     &lt;enumeration value="CANNOT_RENAME_APEX_REFERENCED_OBJECT"/>
+ *     &lt;enumeration value="CANNOT_REPARENT_RECORD"/>
+ *     &lt;enumeration value="CANNOT_UPDATE_CONVERTED_LEAD"/>
+ *     &lt;enumeration value="CANT_DISABLE_CORP_CURRENCY"/>
+ *     &lt;enumeration value="CANT_UNSET_CORP_CURRENCY"/>
+ *     &lt;enumeration value="CHILD_SHARE_FAILS_PARENT"/>
+ *     &lt;enumeration value="CIRCULAR_DEPENDENCY"/>
+ *     &lt;enumeration value="COMMUNITY_NOT_ACCESSIBLE"/>
+ *     &lt;enumeration value="CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="CUSTOM_ENTITY_OR_FIELD_LIMIT"/>
+ *     &lt;enumeration value="CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="CUSTOM_INDEX_EXISTS"/>
+ *     &lt;enumeration value="CUSTOM_LINK_LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="CUSTOM_TAB_LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="DELETE_FAILED"/>
+ *     &lt;enumeration value="DELETE_OPERATION_TOO_LARGE"/>
+ *     &lt;enumeration value="DELETE_REQUIRED_ON_CASCADE"/>
+ *     &lt;enumeration value="DEPENDENCY_EXISTS"/>
+ *     &lt;enumeration value="DUPLICATE_CASE_SOLUTION"/>
+ *     &lt;enumeration value="DUPLICATE_COMM_NICKNAME"/>
+ *     &lt;enumeration value="DUPLICATE_CUSTOM_ENTITY_DEFINITION"/>
+ *     &lt;enumeration value="DUPLICATE_CUSTOM_TAB_MOTIF"/>
+ *     &lt;enumeration value="DUPLICATE_DEVELOPER_NAME"/>
+ *     &lt;enumeration value="DUPLICATE_EXTERNAL_ID"/>
+ *     &lt;enumeration value="DUPLICATE_MASTER_LABEL"/>
+ *     &lt;enumeration value="DUPLICATE_SENDER_DISPLAY_NAME"/>
+ *     &lt;enumeration value="DUPLICATE_USERNAME"/>
+ *     &lt;enumeration value="DUPLICATE_VALUE"/>
+ *     &lt;enumeration value="EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR"/>
+ *     &lt;enumeration value="EMPTY_SCONTROL_FILE_NAME"/>
+ *     &lt;enumeration value="ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE"/>
+ *     &lt;enumeration value="ENTITY_IS_ARCHIVED"/>
+ *     &lt;enumeration value="ENTITY_IS_DELETED"/>
+ *     &lt;enumeration value="ENTITY_IS_LOCKED"/>
+ *     &lt;enumeration value="ERROR_IN_MAILER"/>
+ *     &lt;enumeration value="EXTERNAL_OBJECT_AUTHENTICATION_EXCEPTION"/>
+ *     &lt;enumeration value="EXTERNAL_OBJECT_CONNECTION_EXCEPTION"/>
+ *     &lt;enumeration value="EXTERNAL_OBJECT_EXCEPTION"/>
+ *     &lt;enumeration value="EXTERNAL_OBJECT_UNSUPPORTED_EXCEPTION"/>
+ *     &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"/>
+ *     &lt;enumeration value="IMAGE_TOO_LARGE"/>
+ *     &lt;enumeration value="INACTIVE_OWNER_OR_USER"/>
+ *     &lt;enumeration value="INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY"/>
+ *     &lt;enumeration value="INSUFFICIENT_ACCESS_OR_READONLY"/>
+ *     &lt;enumeration value="INVALID_ACCESS_LEVEL"/>
+ *     &lt;enumeration value="INVALID_ARGUMENT_TYPE"/>
+ *     &lt;enumeration value="INVALID_ASSIGNEE_TYPE"/>
+ *     &lt;enumeration value="INVALID_ASSIGNMENT_RULE"/>
+ *     &lt;enumeration value="INVALID_BATCH_OPERATION"/>
+ *     &lt;enumeration value="INVALID_CONTENT_TYPE"/>
+ *     &lt;enumeration value="INVALID_CREDIT_CARD_INFO"/>
+ *     &lt;enumeration value="INVALID_CROSS_REFERENCE_KEY"/>
+ *     &lt;enumeration value="INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD"/>
+ *     &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"/>
+ *     &lt;enumeration value="INVALID_FIELD_FOR_INSERT_UPDATE"/>
+ *     &lt;enumeration value="INVALID_FIELD_WHEN_USING_TEMPLATE"/>
+ *     &lt;enumeration value="INVALID_FILTER_ACTION"/>
+ *     &lt;enumeration value="INVALID_GOOGLE_DOCS_URL"/>
+ *     &lt;enumeration value="INVALID_ID_FIELD"/>
+ *     &lt;enumeration value="INVALID_INET_ADDRESS"/>
+ *     &lt;enumeration value="INVALID_LINEITEM_CLONE_STATE"/>
+ *     &lt;enumeration value="INVALID_MASTER_OR_TRANSLATED_SOLUTION"/>
+ *     &lt;enumeration value="INVALID_MESSAGE_ID_REFERENCE"/>
+ *     &lt;enumeration value="INVALID_OPERATION"/>
+ *     &lt;enumeration value="INVALID_OPERATOR"/>
+ *     &lt;enumeration value="INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST"/>
+ *     &lt;enumeration value="INVALID_PACKAGE_VERSION"/>
+ *     &lt;enumeration value="INVALID_PARTNER_NETWORK_STATUS"/>
+ *     &lt;enumeration value="INVALID_PERSON_ACCOUNT_OPERATION"/>
+ *     &lt;enumeration value="INVALID_QUERY_LOCATOR"/>
+ *     &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"/>
+ *     &lt;enumeration value="INVALID_STATUS"/>
+ *     &lt;enumeration value="INVALID_TYPE"/>
+ *     &lt;enumeration value="INVALID_TYPE_FOR_OPERATION"/>
+ *     &lt;enumeration value="INVALID_TYPE_ON_FIELD_IN_RECORD"/>
+ *     &lt;enumeration value="IP_RANGE_LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="LICENSE_LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="LIGHT_PORTAL_USER_EXCEPTION"/>
+ *     &lt;enumeration value="LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="MALFORMED_ID"/>
+ *     &lt;enumeration value="MANAGER_NOT_DEFINED"/>
+ *     &lt;enumeration value="MASSMAIL_RETRY_LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="MASS_MAIL_LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="MAXIMUM_CCEMAILS_EXCEEDED"/>
+ *     &lt;enumeration value="MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED"/>
+ *     &lt;enumeration value="MAXIMUM_HIERARCHY_LEVELS_REACHED"/>
+ *     &lt;enumeration value="MAXIMUM_SIZE_OF_ATTACHMENT"/>
+ *     &lt;enumeration value="MAXIMUM_SIZE_OF_DOCUMENT"/>
+ *     &lt;enumeration value="MAX_ACTIONS_PER_RULE_EXCEEDED"/>
+ *     &lt;enumeration value="MAX_ACTIVE_RULES_EXCEEDED"/>
+ *     &lt;enumeration value="MAX_APPROVAL_STEPS_EXCEEDED"/>
+ *     &lt;enumeration value="MAX_FORMULAS_PER_RULE_EXCEEDED"/>
+ *     &lt;enumeration value="MAX_RULES_EXCEEDED"/>
+ *     &lt;enumeration value="MAX_RULE_ENTRIES_EXCEEDED"/>
+ *     &lt;enumeration value="MAX_TASK_DESCRIPTION_EXCEEEDED"/>
+ *     &lt;enumeration value="MAX_TM_RULES_EXCEEDED"/>
+ *     &lt;enumeration value="MAX_TM_RULE_ITEMS_EXCEEDED"/>
+ *     &lt;enumeration value="MERGE_FAILED"/>
+ *     &lt;enumeration value="MISSING_ARGUMENT"/>
+ *     &lt;enumeration value="MIXED_DML_OPERATION"/>
+ *     &lt;enumeration value="NONUNIQUE_SHIPPING_ADDRESS"/>
+ *     &lt;enumeration value="NO_APPLICABLE_PROCESS"/>
+ *     &lt;enumeration value="NO_ATTACHMENT_PERMISSION"/>
+ *     &lt;enumeration value="NO_INACTIVE_DIVISION_MEMBERS"/>
+ *     &lt;enumeration value="NO_MASS_MAIL_PERMISSION"/>
+ *     &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="QUERY_TIMEOUT"/>
+ *     &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"/>
+ *     &lt;enumeration value="TABSET_LIMIT_EXCEEDED"/>
+ *     &lt;enumeration value="TEMPLATE_NOT_ACTIVE"/>
+ *     &lt;enumeration value="TERRITORY_REALIGN_IN_PROGRESS"/>
+ *     &lt;enumeration value="TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET"/>
+ *     &lt;enumeration value="TOO_MANY_APEX_REQUESTS"/>
+ *     &lt;enumeration value="TOO_MANY_ENUM_VALUE"/>
+ *     &lt;enumeration value="TRANSFER_REQUIRES_READ"/>
+ *     &lt;enumeration value="UNABLE_TO_LOCK_ROW"/>
+ *     &lt;enumeration value="UNAVAILABLE_RECORDTYPE_EXCEPTION"/>
+ *     &lt;enumeration value="UNDELETE_FAILED"/>
+ *     &lt;enumeration value="UNKNOWN_EXCEPTION"/>
+ *     &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>
+ * &lt;/simpleType>
+ * </pre>
+ * 
+ */
+@XmlType(name = "StatusCode")
+@XmlEnum
+public enum StatusCode {
+
+    ALL_OR_NONE_OPERATION_ROLLED_BACK,
+    ALREADY_IN_PROCESS,
+    ASSIGNEE_TYPE_REQUIRED,
+    BAD_CUSTOM_ENTITY_PARENT_DOMAIN,
+    BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED,
+    CANNOT_CASCADE_PRODUCT_ACTIVE,
+    CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD,
+    CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE,
+    CANNOT_DEACTIVATE_DIVISION,
+    CANNOT_DELETE_LAST_DATED_CONVERSION_RATE,
+    CANNOT_DELETE_MANAGED_OBJECT,
+    CANNOT_DISABLE_LAST_ADMIN,
+    CANNOT_ENABLE_IP_RESTRICT_REQUESTS,
+    CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY,
+    CANNOT_MODIFY_MANAGED_OBJECT,
+    CANNOT_RENAME_APEX_REFERENCED_FIELD,
+    CANNOT_RENAME_APEX_REFERENCED_OBJECT,
+    CANNOT_REPARENT_RECORD,
+    CANNOT_UPDATE_CONVERTED_LEAD,
+    CANT_DISABLE_CORP_CURRENCY,
+    CANT_UNSET_CORP_CURRENCY,
+    CHILD_SHARE_FAILS_PARENT,
+    CIRCULAR_DEPENDENCY,
+    COMMUNITY_NOT_ACCESSIBLE,
+    CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED,
+    CUSTOM_ENTITY_OR_FIELD_LIMIT,
+    CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED,
+    CUSTOM_INDEX_EXISTS,
+    CUSTOM_LINK_LIMIT_EXCEEDED,
+    CUSTOM_TAB_LIMIT_EXCEEDED,
+    DELETE_FAILED,
+    DELETE_OPERATION_TOO_LARGE,
+    DELETE_REQUIRED_ON_CASCADE,
+    DEPENDENCY_EXISTS,
+    DUPLICATE_CASE_SOLUTION,
+    DUPLICATE_COMM_NICKNAME,
+    DUPLICATE_CUSTOM_ENTITY_DEFINITION,
+    DUPLICATE_CUSTOM_TAB_MOTIF,
+    DUPLICATE_DEVELOPER_NAME,
+    DUPLICATE_EXTERNAL_ID,
+    DUPLICATE_MASTER_LABEL,
+    DUPLICATE_SENDER_DISPLAY_NAME,
+    DUPLICATE_USERNAME,
+    DUPLICATE_VALUE,
+    EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR,
+    EMPTY_SCONTROL_FILE_NAME,
+    ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE,
+    ENTITY_IS_ARCHIVED,
+    ENTITY_IS_DELETED,
+    ENTITY_IS_LOCKED,
+    ERROR_IN_MAILER,
+    EXTERNAL_OBJECT_AUTHENTICATION_EXCEPTION,
+    EXTERNAL_OBJECT_CONNECTION_EXCEPTION,
+    EXTERNAL_OBJECT_EXCEPTION,
+    EXTERNAL_OBJECT_UNSUPPORTED_EXCEPTION,
+    FAILED_ACTIVATION,
+    FIELD_CUSTOM_VALIDATION_EXCEPTION,
+    FIELD_FILTER_VALIDATION_EXCEPTION,
+    FIELD_INTEGRITY_EXCEPTION,
+    FILTERED_LOOKUP_LIMIT_EXCEEDED,
+    HTML_FILE_UPLOAD_NOT_ALLOWED,
+    IMAGE_TOO_LARGE,
+    INACTIVE_OWNER_OR_USER,
+    INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY,
+    INSUFFICIENT_ACCESS_OR_READONLY,
+    INVALID_ACCESS_LEVEL,
+    INVALID_ARGUMENT_TYPE,
+    INVALID_ASSIGNEE_TYPE,
+    INVALID_ASSIGNMENT_RULE,
+    INVALID_BATCH_OPERATION,
+    INVALID_CONTENT_TYPE,
+    INVALID_CREDIT_CARD_INFO,
+    INVALID_CROSS_REFERENCE_KEY,
+    INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD,
+    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,
+    INVALID_FIELD_FOR_INSERT_UPDATE,
+    INVALID_FIELD_WHEN_USING_TEMPLATE,
+    INVALID_FILTER_ACTION,
+    INVALID_GOOGLE_DOCS_URL,
+    INVALID_ID_FIELD,
+    INVALID_INET_ADDRESS,
+    INVALID_LINEITEM_CLONE_STATE,
+    INVALID_MASTER_OR_TRANSLATED_SOLUTION,
+    INVALID_MESSAGE_ID_REFERENCE,
+    INVALID_OPERATION,
+    INVALID_OPERATOR,
+    INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST,
+    INVALID_PACKAGE_VERSION,
+    INVALID_PARTNER_NETWORK_STATUS,
+    INVALID_PERSON_ACCOUNT_OPERATION,
+    INVALID_QUERY_LOCATOR,
+    INVALID_READ_ONLY_USER_DML,
+    INVALID_SAVE_AS_ACTIVITY_FLAG,
+    INVALID_SESSION_ID,
+    INVALID_SETUP_OWNER,
+    INVALID_STATUS,
+    INVALID_TYPE,
+    INVALID_TYPE_FOR_OPERATION,
+    INVALID_TYPE_ON_FIELD_IN_RECORD,
+    IP_RANGE_LIMIT_EXCEEDED,
+    LICENSE_LIMIT_EXCEEDED,
+    LIGHT_PORTAL_USER_EXCEPTION,
+    LIMIT_EXCEEDED,
+    MALFORMED_ID,
+    MANAGER_NOT_DEFINED,
+    MASSMAIL_RETRY_LIMIT_EXCEEDED,
+    MASS_MAIL_LIMIT_EXCEEDED,
+    MAXIMUM_CCEMAILS_EXCEEDED,
+    MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED,
+    MAXIMUM_HIERARCHY_LEVELS_REACHED,
+    MAXIMUM_SIZE_OF_ATTACHMENT,
+    MAXIMUM_SIZE_OF_DOCUMENT,
+    MAX_ACTIONS_PER_RULE_EXCEEDED,
+    MAX_ACTIVE_RULES_EXCEEDED,
+    MAX_APPROVAL_STEPS_EXCEEDED,
+    MAX_FORMULAS_PER_RULE_EXCEEDED,
+    MAX_RULES_EXCEEDED,
+    MAX_RULE_ENTRIES_EXCEEDED,
+    MAX_TASK_DESCRIPTION_EXCEEEDED,
+    MAX_TM_RULES_EXCEEDED,
+    MAX_TM_RULE_ITEMS_EXCEEDED,
+    MERGE_FAILED,
+    MISSING_ARGUMENT,
+    MIXED_DML_OPERATION,
+    NONUNIQUE_SHIPPING_ADDRESS,
+    NO_APPLICABLE_PROCESS,
+    NO_ATTACHMENT_PERMISSION,
+    NO_INACTIVE_DIVISION_MEMBERS,
+    NO_MASS_MAIL_PERMISSION,
+    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,
+    QUERY_TIMEOUT,
+    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,
+    TABSET_LIMIT_EXCEEDED,
+    TEMPLATE_NOT_ACTIVE,
+    TERRITORY_REALIGN_IN_PROGRESS,
+    TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET,
+    TOO_MANY_APEX_REQUESTS,
+    TOO_MANY_ENUM_VALUE,
+    TRANSFER_REQUIRES_READ,
+    UNABLE_TO_LOCK_ROW,
+    UNAVAILABLE_RECORDTYPE_EXCEPTION,
+    UNDELETE_FAILED,
+    UNKNOWN_EXCEPTION,
+    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;
+
+    public String value() {
+        return name();
+    }
+
+    public static StatusCode fromValue(String v) {
+        return valueOf(v);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/package-info.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/package-info.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/package-info.java
new file mode 100644
index 0000000..ae2b9ee
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/package-info.java
@@ -0,0 +1,18 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.force.com/2009/06/asyncapi/dataload", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package org.apache.camel.component.salesforce.api.dto.bulk;

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/OperationName.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/OperationName.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/OperationName.java
new file mode 100644
index 0000000..50141f1
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/OperationName.java
@@ -0,0 +1,71 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.internal;
+
+public enum OperationName {
+
+    // rest API
+    GET_VERSIONS("getVersions"),
+    GET_RESOURCES("getResources"),
+    GET_GLOBAL_OBJECTS("getGlobalObjects"),
+    GET_BASIC_INFO("getBasicInfo"),
+    GET_DESCRIPTION("getDescription"),
+    GET_SOBJECT("getSObject"),
+    CREATE_SOBJECT("createSObject"),
+    UPDATE_SOBJECT("updateSObject"),
+    DELETE_SOBJECT("deleteSObject"),
+    GET_SOBJECT_WITH_ID("getSObjectWithId"),
+    UPSERT_SOBJECT("upsertSObject"),
+    DELETE_SOBJECT_WITH_ID("deleteSObjectWithId"),
+    GET_BLOB_FIELD("getBlobField"),
+    QUERY("query"),
+    QUERY_MORE("queryMore"),
+    SEARCH("search"),
+
+    // bulk API
+    CREATE_JOB("createJob"),
+    GET_JOB("getJob"),
+    CLOSE_JOB("closeJob"),
+    ABORT_JOB("abortJob"),
+    CREATE_BATCH("createBatch"),
+    GET_BATCH("getBatch"),
+    GET_ALL_BATCHES("getAllBatches"),
+    GET_REQUEST("getRequest"),
+    GET_RESULTS("getResults"),
+    CREATE_BATCH_QUERY("createBatchQuery"),
+    GET_QUERY_RESULT_IDS("getQueryResultIds"),
+    GET_QUERY_RESULT("getQueryResult");
+
+    private final String value;
+
+    private OperationName(String value) {
+        this.value = value;
+    }
+
+    public String value() {
+        return value;
+    }
+
+    public static OperationName fromValue(String value) {
+        for (OperationName operationName : OperationName.values()) {
+            if (operationName.value.equals(value)) {
+                return operationName;
+            }
+        }
+        throw new IllegalArgumentException(value);
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/0c401b9f/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/PayloadFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/PayloadFormat.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/PayloadFormat.java
new file mode 100644
index 0000000..8555910
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/PayloadFormat.java
@@ -0,0 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.internal;
+
+public enum PayloadFormat {
+    JSON,
+    XML
+}