salesforce_bulk2 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/Gemfile +2 -0
- data/README.md +143 -0
- data/Rakefile +22 -0
- data/lib/salesforce_bulk/batch.rb +86 -0
- data/lib/salesforce_bulk/batch_result.rb +39 -0
- data/lib/salesforce_bulk/batch_result_collection.rb +29 -0
- data/lib/salesforce_bulk/client.rb +209 -0
- data/lib/salesforce_bulk/connection.rb +155 -0
- data/lib/salesforce_bulk/core_extensions/string.rb +14 -0
- data/lib/salesforce_bulk/job.rb +126 -0
- data/lib/salesforce_bulk/query_result_collection.rb +48 -0
- data/lib/salesforce_bulk/salesforce_error.rb +30 -0
- data/lib/salesforce_bulk/version.rb +3 -0
- data/lib/salesforce_bulk.rb +17 -0
- data/salesforce_bulk.gemspec +27 -0
- data/test/fixtures/batch_create_request.csv +3 -0
- data/test/fixtures/batch_create_response.xml +13 -0
- data/test/fixtures/batch_info_list_response.xml +27 -0
- data/test/fixtures/batch_info_response.xml +13 -0
- data/test/fixtures/batch_result_list_response.csv +3 -0
- data/test/fixtures/config.yml +7 -0
- data/test/fixtures/invalid_batch_error.xml +5 -0
- data/test/fixtures/invalid_error.xml +5 -0
- data/test/fixtures/invalid_job_error.xml +5 -0
- data/test/fixtures/invalid_session_error.xml +5 -0
- data/test/fixtures/job_abort_request.xml +1 -0
- data/test/fixtures/job_abort_response.xml +25 -0
- data/test/fixtures/job_close_request.xml +1 -0
- data/test/fixtures/job_close_response.xml +25 -0
- data/test/fixtures/job_create_request.xml +1 -0
- data/test/fixtures/job_create_response.xml +25 -0
- data/test/fixtures/job_info_response.xml +25 -0
- data/test/fixtures/login_error.xml +1 -0
- data/test/fixtures/login_request.xml +1 -0
- data/test/fixtures/login_response.xml +39 -0
- data/test/fixtures/query_result_list_response.xml +1 -0
- data/test/fixtures/query_result_response.csv +5 -0
- data/test/lib/test_batch.rb +258 -0
- data/test/lib/test_batch_result.rb +40 -0
- data/test/lib/test_core_extensions.rb +15 -0
- data/test/lib/test_initialization.rb +86 -0
- data/test/lib/test_job.rb +256 -0
- data/test/lib/test_query_result_collection.rb +87 -0
- data/test/lib/test_simple_api.rb +79 -0
- data/test/test_helper.rb +32 -0
- metadata +222 -0
@@ -0,0 +1,14 @@
|
|
1
|
+
class String
|
2
|
+
# For converting "true" and "false" string values returned
|
3
|
+
# by Salesforce Bulk API in batch results to real booleans.
|
4
|
+
def to_b
|
5
|
+
if present?
|
6
|
+
if lstrip.rstrip.casecmp("true") == 0
|
7
|
+
return true
|
8
|
+
elsif lstrip.rstrip.casecmp("false") == 0
|
9
|
+
return false
|
10
|
+
end
|
11
|
+
end
|
12
|
+
self
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,126 @@
|
|
1
|
+
module SalesforceBulk
|
2
|
+
class Job
|
3
|
+
attr_accessor :client
|
4
|
+
|
5
|
+
attr_reader :concurrency_mode
|
6
|
+
attr_reader :external_id_field_name
|
7
|
+
attr_reader :data
|
8
|
+
|
9
|
+
@@fields = [:id, :operation, :object, :createdById, :state, :createdDate,
|
10
|
+
:systemModstamp, :externalIdFieldName, :concurrencyMode, :contentType, :numberBatchesQueued,
|
11
|
+
:numberBatchesInProgress, :numberBatchesCompleted, :numberBatchesFailed, :totalBatches,
|
12
|
+
:retries, :numberRecordsProcessed, :numberRecordsFailed, :totalProcessingTime,
|
13
|
+
:apiActiveProcessingTime, :apexProcessingTime, :apiVersion]
|
14
|
+
|
15
|
+
@@valid_operations = [:delete, :insert, :update, :upsert, :query]
|
16
|
+
@@valid_concurrency_modes = ['Parallel', 'Serial']
|
17
|
+
|
18
|
+
|
19
|
+
@@fields.each do |field|
|
20
|
+
attr_reader field.to_s.underscore.to_sym
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.valid_operation? operation
|
24
|
+
@@valid_operations.include?(operation)
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.valid_concurrency_mode? mode
|
28
|
+
@@valid_concurrency_modes.include?(concurrency_mode)
|
29
|
+
end
|
30
|
+
|
31
|
+
def initialize xml_data, client
|
32
|
+
update(xml_data)
|
33
|
+
@client = client
|
34
|
+
end
|
35
|
+
|
36
|
+
def update xml_data
|
37
|
+
#Check fields
|
38
|
+
xml_data.assert_valid_keys(@@fields)
|
39
|
+
|
40
|
+
#Assign object
|
41
|
+
@xml_data = xml_data
|
42
|
+
|
43
|
+
#Mass assign the defaults
|
44
|
+
@@fields.each do |field|
|
45
|
+
instance_variable_set(field, xml_data[field])
|
46
|
+
end
|
47
|
+
|
48
|
+
#Special cases/formats
|
49
|
+
@created_date = DateTime.parse(xml_data['createdDate'])
|
50
|
+
@system_modstamp = DateTime.parse(xml_data['systemModstamp'])
|
51
|
+
|
52
|
+
@retries = xml_data['retries'].to_i
|
53
|
+
@api_version = xml_data['apiVersion'].to_i
|
54
|
+
@number_batches_queued = xml_data['numberBatchesQueued'].to_i
|
55
|
+
@number_batches_in_progress = xml_data['numberBatchesInProgress'].to_i
|
56
|
+
@number_batches_completed = xml_data['numberBatchesCompleted'].to_i
|
57
|
+
@number_batches_failed = xml_data['numberBatchesFailed'].to_i
|
58
|
+
@total_batches = xml_data['totalBatches'].to_i
|
59
|
+
@number_records_processed = xml_data['numberRecordsProcessed'].to_i
|
60
|
+
@number_records_failed = xml_data['numberRecordsFailed'].to_i
|
61
|
+
@total_processing_time = xml_data['totalProcessingTime'].to_i
|
62
|
+
@api_active_processing_time = xml_data['apiActiveProcessingTime'].to_i
|
63
|
+
@apex_processing_time = xml_data['apexProcessingTime'].to_i
|
64
|
+
end
|
65
|
+
|
66
|
+
def batch_list
|
67
|
+
@client.get_batch_list(@id)
|
68
|
+
end
|
69
|
+
|
70
|
+
def create_batch data
|
71
|
+
@client.create_batch(data)
|
72
|
+
end
|
73
|
+
|
74
|
+
def add_batch data
|
75
|
+
@client.add_batch(data)
|
76
|
+
end
|
77
|
+
|
78
|
+
def close
|
79
|
+
update(@client.close(@id))
|
80
|
+
end
|
81
|
+
|
82
|
+
def abort
|
83
|
+
update(@client.abort(@id))
|
84
|
+
end
|
85
|
+
|
86
|
+
def refresh
|
87
|
+
update(@client.get_job(@id))
|
88
|
+
end
|
89
|
+
|
90
|
+
#Statuses
|
91
|
+
def batches_finished?
|
92
|
+
@number_batches_queued == 0 and
|
93
|
+
@number_batches_in_progress == 0
|
94
|
+
end
|
95
|
+
|
96
|
+
def get_results
|
97
|
+
batch_list.map(&:result).flatten
|
98
|
+
end
|
99
|
+
|
100
|
+
def finished?
|
101
|
+
failed? or
|
102
|
+
aborted? or
|
103
|
+
(closed? and batches_finished?)
|
104
|
+
end
|
105
|
+
|
106
|
+
def failed?
|
107
|
+
state? 'Failed'
|
108
|
+
end
|
109
|
+
|
110
|
+
def aborted?
|
111
|
+
state? 'Aborted'
|
112
|
+
end
|
113
|
+
|
114
|
+
def closed?
|
115
|
+
state? 'Closed'
|
116
|
+
end
|
117
|
+
|
118
|
+
def open?
|
119
|
+
state? 'Open'
|
120
|
+
end
|
121
|
+
|
122
|
+
def state?(value)
|
123
|
+
@state.present? && @state.casecmp(value) == 0
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module SalesforceBulk
|
2
|
+
class QueryResultCollection < Array
|
3
|
+
|
4
|
+
attr_reader :client
|
5
|
+
attr_reader :batch_id
|
6
|
+
attr_reader :job_id
|
7
|
+
attr_reader :result_id
|
8
|
+
attr_reader :result_ids
|
9
|
+
|
10
|
+
def initialize(client, job_id, batch_id, result_id=nil, result_ids=[])
|
11
|
+
@client = client
|
12
|
+
@job_id = job_id
|
13
|
+
@batch_id = batch_id
|
14
|
+
@result_id = result_id
|
15
|
+
@result_ids = result_ids
|
16
|
+
@current_index = result_ids.index(result_id) || 0
|
17
|
+
end
|
18
|
+
|
19
|
+
def next?
|
20
|
+
@result_ids.present? && @current_index < @result_ids.length - 1
|
21
|
+
end
|
22
|
+
|
23
|
+
def next
|
24
|
+
if next?
|
25
|
+
replace(@client.query_result(job_id, batch_id, result_ids[@current_index + 1]))
|
26
|
+
@current_index += 1
|
27
|
+
@result_id = @result_ids[@current_index]
|
28
|
+
end
|
29
|
+
|
30
|
+
self
|
31
|
+
end
|
32
|
+
|
33
|
+
def previous?
|
34
|
+
@result_ids.present? && @current_index > 0
|
35
|
+
end
|
36
|
+
|
37
|
+
def previous
|
38
|
+
if previous?
|
39
|
+
replace(@client.query_result(job_id, batch_id, result_ids[@current_index - 1]))
|
40
|
+
@current_index -= 1
|
41
|
+
@result_id = @result_ids[@current_index]
|
42
|
+
end
|
43
|
+
|
44
|
+
self
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module SalesforceBulk
|
2
|
+
# An exception raised when any non successful request is made through the Salesforce Bulk API.
|
3
|
+
class SalesforceError < StandardError
|
4
|
+
# The Net::HTTPResponse instance from the API call.
|
5
|
+
attr_accessor :response
|
6
|
+
# The status code from the server response body.
|
7
|
+
attr_accessor :error_code
|
8
|
+
|
9
|
+
def initialize(response)
|
10
|
+
self.response = response
|
11
|
+
|
12
|
+
data = XmlSimple.xml_in(response.body, 'ForceArray' => false)
|
13
|
+
|
14
|
+
if data
|
15
|
+
# seems responses for CSV requests use a different XML return format
|
16
|
+
# (use invalid_error.xml for reference)
|
17
|
+
if !data['exceptionMessage'].nil?
|
18
|
+
message = data['exceptionMessage']
|
19
|
+
else
|
20
|
+
# SOAP error response
|
21
|
+
message = data['Body']['Fault']['faultstring']
|
22
|
+
end
|
23
|
+
|
24
|
+
self.error_code = response.code
|
25
|
+
end
|
26
|
+
|
27
|
+
super(message)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'net/https'
|
2
|
+
require 'xmlsimple'
|
3
|
+
require 'csv'
|
4
|
+
require 'active_support'
|
5
|
+
require 'active_support/inflector'
|
6
|
+
require 'active_support/core_ext/object/blank'
|
7
|
+
require 'active_support/core_ext/hash/keys'
|
8
|
+
require 'salesforce_bulk/version'
|
9
|
+
require 'salesforce_bulk/core_extensions/string'
|
10
|
+
require 'salesforce_bulk/salesforce_error'
|
11
|
+
require 'salesforce_bulk/connection'
|
12
|
+
require 'salesforce_bulk/client'
|
13
|
+
require 'salesforce_bulk/job'
|
14
|
+
require 'salesforce_bulk/batch'
|
15
|
+
require 'salesforce_bulk/batch_result'
|
16
|
+
require 'salesforce_bulk/batch_result_collection'
|
17
|
+
require 'salesforce_bulk/query_result_collection'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "salesforce_bulk/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "salesforce_bulk2"
|
7
|
+
s.version = SalesforceBulk::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Adam Kerr", "Jorge Valdivia","Javier Julio"]
|
10
|
+
s.email = ["ajrkerr@gmail.com", "jorge@valdivia.me","jjfutbol@gmail.com"]
|
11
|
+
s.homepage = "https://github.com/ajrkerr/salesforce_bulk"
|
12
|
+
s.summary = %q{Ruby support for the Salesforce Bulk API}
|
13
|
+
s.description = %q{This gem is a simple interface to the Salesforce Bulk API providing support for insert, update, upsert, delete, and query.}
|
14
|
+
|
15
|
+
s.files = `git ls-files`.split("\n")
|
16
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
|
+
s.require_paths = ["lib"]
|
19
|
+
|
20
|
+
s.add_dependency "active_support"
|
21
|
+
s.add_dependency "xml-simple"
|
22
|
+
|
23
|
+
s.add_development_dependency "mocha"
|
24
|
+
s.add_development_dependency "rake"
|
25
|
+
s.add_development_dependency "shoulda"
|
26
|
+
s.add_development_dependency "webmock"
|
27
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><batchInfo
|
2
|
+
xmlns="http://www.force.com/2009/06/asyncapi/dataload">
|
3
|
+
<id>751E00000004ZmUIAU</id>
|
4
|
+
<jobId>750E00000004NRfIAM</jobId>
|
5
|
+
<state>Queued</state>
|
6
|
+
<createdDate>2012-06-02T21:03:56.000Z</createdDate>
|
7
|
+
<systemModstamp>2012-06-02T21:03:56.000Z</systemModstamp>
|
8
|
+
<numberRecordsProcessed>0</numberRecordsProcessed>
|
9
|
+
<numberRecordsFailed>0</numberRecordsFailed>
|
10
|
+
<totalProcessingTime>0</totalProcessingTime>
|
11
|
+
<apiActiveProcessingTime>0</apiActiveProcessingTime>
|
12
|
+
<apexProcessingTime>0</apexProcessingTime>
|
13
|
+
</batchInfo>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><batchInfoList
|
2
|
+
xmlns="http://www.force.com/2009/06/asyncapi/dataload">
|
3
|
+
<batchInfo>
|
4
|
+
<id>751E00000004ZRbIAM</id>
|
5
|
+
<jobId>750E00000004N97IAE</jobId>
|
6
|
+
<state>Completed</state>
|
7
|
+
<createdDate>2012-05-31T01:22:47.000Z</createdDate>
|
8
|
+
<systemModstamp>2012-05-31T01:22:47.000Z</systemModstamp>
|
9
|
+
<numberRecordsProcessed>2</numberRecordsProcessed>
|
10
|
+
<numberRecordsFailed>0</numberRecordsFailed>
|
11
|
+
<totalProcessingTime>72</totalProcessingTime>
|
12
|
+
<apiActiveProcessingTime>28</apiActiveProcessingTime>
|
13
|
+
<apexProcessingTime>0</apexProcessingTime>
|
14
|
+
</batchInfo>
|
15
|
+
<batchInfo>
|
16
|
+
<id>751E00000004ZQsIAM</id>
|
17
|
+
<jobId>750E00000004N97IAE</jobId>
|
18
|
+
<state>Completed</state>
|
19
|
+
<createdDate>2012-05-31T01:23:20.000Z</createdDate>
|
20
|
+
<systemModstamp>2012-05-31T01:23:20.000Z</systemModstamp>
|
21
|
+
<numberRecordsProcessed>2</numberRecordsProcessed>
|
22
|
+
<numberRecordsFailed>0</numberRecordsFailed>
|
23
|
+
<totalProcessingTime>72</totalProcessingTime>
|
24
|
+
<apiActiveProcessingTime>28</apiActiveProcessingTime>
|
25
|
+
<apexProcessingTime>0</apexProcessingTime>
|
26
|
+
</batchInfo>
|
27
|
+
</batchInfoList>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><batchInfo
|
2
|
+
xmlns="http://www.force.com/2009/06/asyncapi/dataload">
|
3
|
+
<id>751E00000004ZRbIAM</id>
|
4
|
+
<jobId>750E00000004N97IAE</jobId>
|
5
|
+
<state>Completed</state>
|
6
|
+
<createdDate>2012-05-31T01:22:47.000Z</createdDate>
|
7
|
+
<systemModstamp>2012-05-31T01:22:47.000Z</systemModstamp>
|
8
|
+
<numberRecordsProcessed>2</numberRecordsProcessed>
|
9
|
+
<numberRecordsFailed>0</numberRecordsFailed>
|
10
|
+
<totalProcessingTime>72</totalProcessingTime>
|
11
|
+
<apiActiveProcessingTime>28</apiActiveProcessingTime>
|
12
|
+
<apexProcessingTime>0</apexProcessingTime>
|
13
|
+
</batchInfo>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><jobInfo xmlns="http://www.force.com/2009/06/asyncapi/dataload"><state>Aborted</state></jobInfo>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><jobInfo
|
2
|
+
xmlns="http://www.force.com/2009/06/asyncapi/dataload">
|
3
|
+
<id>750E00000004N1NIAU</id>
|
4
|
+
<operation>upsert</operation>
|
5
|
+
<object>VideoEvent__c</object>
|
6
|
+
<createdById>005E00000017spfIAA</createdById>
|
7
|
+
<createdDate>2012-05-30T00:16:04.000Z</createdDate>
|
8
|
+
<systemModstamp>2012-05-30T00:16:04.000Z</systemModstamp>
|
9
|
+
<state>Aborted</state>
|
10
|
+
<externalIdFieldName>Id__c</externalIdFieldName>
|
11
|
+
<concurrencyMode>Parallel</concurrencyMode>
|
12
|
+
<contentType>CSV</contentType>
|
13
|
+
<numberBatchesQueued>0</numberBatchesQueued>
|
14
|
+
<numberBatchesInProgress>0</numberBatchesInProgress>
|
15
|
+
<numberBatchesCompleted>0</numberBatchesCompleted>
|
16
|
+
<numberBatchesFailed>0</numberBatchesFailed>
|
17
|
+
<numberBatchesTotal>0</numberBatchesTotal>
|
18
|
+
<numberRecordsProcessed>0</numberRecordsProcessed>
|
19
|
+
<numberRetries>0</numberRetries>
|
20
|
+
<apiVersion>24.0</apiVersion>
|
21
|
+
<numberRecordsFailed>0</numberRecordsFailed>
|
22
|
+
<totalProcessingTime>0</totalProcessingTime>
|
23
|
+
<apiActiveProcessingTime>0</apiActiveProcessingTime>
|
24
|
+
<apexProcessingTime>0</apexProcessingTime>
|
25
|
+
</jobInfo>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><jobInfo xmlns="http://www.force.com/2009/06/asyncapi/dataload"><state>Closed</state></jobInfo>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><jobInfo
|
2
|
+
xmlns="http://www.force.com/2009/06/asyncapi/dataload">
|
3
|
+
<id>750E00000004MzbIAE</id>
|
4
|
+
<operation>upsert</operation>
|
5
|
+
<object>VideoEvent__c</object>
|
6
|
+
<createdById>005E00000017spfIAA</createdById>
|
7
|
+
<createdDate>2012-05-29T23:51:53.000Z</createdDate>
|
8
|
+
<systemModstamp>2012-05-29T23:51:53.000Z</systemModstamp>
|
9
|
+
<state>Closed</state>
|
10
|
+
<externalIdFieldName>Id__c</externalIdFieldName>
|
11
|
+
<concurrencyMode>Parallel</concurrencyMode>
|
12
|
+
<contentType>CSV</contentType>
|
13
|
+
<numberBatchesQueued>0</numberBatchesQueued>
|
14
|
+
<numberBatchesInProgress>0</numberBatchesInProgress>
|
15
|
+
<numberBatchesCompleted>0</numberBatchesCompleted>
|
16
|
+
<numberBatchesFailed>0</numberBatchesFailed>
|
17
|
+
<numberBatchesTotal>0</numberBatchesTotal>
|
18
|
+
<numberRecordsProcessed>0</numberRecordsProcessed>
|
19
|
+
<numberRetries>0</numberRetries>
|
20
|
+
<apiVersion>24.0</apiVersion>
|
21
|
+
<numberRecordsFailed>0</numberRecordsFailed>
|
22
|
+
<totalProcessingTime>0</totalProcessingTime>
|
23
|
+
<apiActiveProcessingTime>0</apiActiveProcessingTime>
|
24
|
+
<apexProcessingTime>0</apexProcessingTime>
|
25
|
+
</jobInfo>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><jobInfo xmlns="http://www.force.com/2009/06/asyncapi/dataload"><operation>upsert</operation><object>VideoEvent__c</object><externalIdFieldName>Id__c</externalIdFieldName><contentType>CSV</contentType></jobInfo>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<jobInfo xmlns="http://www.force.com/2009/06/asyncapi/dataload">
|
3
|
+
<id>750E00000004MzbIAE</id>
|
4
|
+
<operation>upsert</operation>
|
5
|
+
<object>VideoEvent__c</object>
|
6
|
+
<createdById>005E00000017spfIAA</createdById>
|
7
|
+
<createdDate>2012-05-29T21:50:47.000Z</createdDate>
|
8
|
+
<systemModstamp>2012-05-29T21:50:47.000Z</systemModstamp>
|
9
|
+
<state>Open</state>
|
10
|
+
<externalIdFieldName>Id__c</externalIdFieldName>
|
11
|
+
<concurrencyMode>Parallel</concurrencyMode>
|
12
|
+
<contentType>CSV</contentType>
|
13
|
+
<numberBatchesQueued>0</numberBatchesQueued>
|
14
|
+
<numberBatchesInProgress>0</numberBatchesInProgress>
|
15
|
+
<numberBatchesCompleted>0</numberBatchesCompleted>
|
16
|
+
<numberBatchesFailed>0</numberBatchesFailed>
|
17
|
+
<numberBatchesTotal>0</numberBatchesTotal>
|
18
|
+
<numberRecordsProcessed>0</numberRecordsProcessed>
|
19
|
+
<numberRetries>0</numberRetries>
|
20
|
+
<apiVersion>24.0</apiVersion>
|
21
|
+
<numberRecordsFailed>0</numberRecordsFailed>
|
22
|
+
<totalProcessingTime>0</totalProcessingTime>
|
23
|
+
<apiActiveProcessingTime>0</apiActiveProcessingTime>
|
24
|
+
<apexProcessingTime>0</apexProcessingTime>
|
25
|
+
</jobInfo>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><jobInfo
|
2
|
+
xmlns="http://www.force.com/2009/06/asyncapi/dataload">
|
3
|
+
<id>750E00000004N1mIAE</id>
|
4
|
+
<operation>upsert</operation>
|
5
|
+
<object>VideoEvent__c</object>
|
6
|
+
<createdById>005E00000017spfIAA</createdById>
|
7
|
+
<createdDate>2012-05-30T04:08:30.000Z</createdDate>
|
8
|
+
<systemModstamp>2012-05-30T04:08:30.000Z</systemModstamp>
|
9
|
+
<state>Open</state>
|
10
|
+
<externalIdFieldName>Id__c</externalIdFieldName>
|
11
|
+
<concurrencyMode>Parallel</concurrencyMode>
|
12
|
+
<contentType>CSV</contentType>
|
13
|
+
<numberBatchesQueued>0</numberBatchesQueued>
|
14
|
+
<numberBatchesInProgress>0</numberBatchesInProgress>
|
15
|
+
<numberBatchesCompleted>0</numberBatchesCompleted>
|
16
|
+
<numberBatchesFailed>0</numberBatchesFailed>
|
17
|
+
<numberBatchesTotal>0</numberBatchesTotal>
|
18
|
+
<numberRecordsProcessed>0</numberRecordsProcessed>
|
19
|
+
<numberRetries>0</numberRetries>
|
20
|
+
<apiVersion>24.0</apiVersion>
|
21
|
+
<numberRecordsFailed>0</numberRecordsFailed>
|
22
|
+
<totalProcessingTime>0</totalProcessingTime>
|
23
|
+
<apiActiveProcessingTime>0</apiActiveProcessingTime>
|
24
|
+
<apexProcessingTime>0</apexProcessingTime>
|
25
|
+
</jobInfo>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sf="urn:fault.partner.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><soapenv:Fault><faultcode>sf:INVALID_LOGIN</faultcode><faultstring>INVALID_LOGIN: Invalid username, password, security token; or user locked out.</faultstring><detail><sf:LoginFault xsi:type="sf:LoginFault"><sf:exceptionCode>INVALID_LOGIN</sf:exceptionCode><sf:exceptionMessage>Invalid username, password, security token; or user locked out.</sf:exceptionMessage></sf:LoginFault></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><n1:login xmlns:n1="urn:partner.soap.sforce.com"><n1:username>MyUsername</n1:username><n1:password>MyPasswordMySecurityToken</n1:password></n1:login></env:Body></env:Envelope>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:partner.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
3
|
+
<soapenv:Body>
|
4
|
+
<loginResponse>
|
5
|
+
<result>
|
6
|
+
<metadataServerUrl>https://na9-api.salesforce.com/services/Soap/m/24.0/00DE0000000YSKp</metadataServerUrl>
|
7
|
+
<passwordExpired>false</passwordExpired>
|
8
|
+
<sandbox>false</sandbox>
|
9
|
+
<serverUrl>https://na9-api.salesforce.com/services/Soap/u/24.0/00DE0000000YSKp</serverUrl>
|
10
|
+
<sessionId>00DE0000000YSKp!AQ4AQNQhDKLMORZx2NwZppuKfure.ChCmdI3S35PPxpNA5MHb3ZVxhYd5STM3euVJTI5.39s.jOBT.3mKdZ3BWFDdIrddS8O</sessionId>
|
11
|
+
<userId>005E00000017spfIAA</userId>
|
12
|
+
<userInfo>
|
13
|
+
<accessibilityMode>false</accessibilityMode>
|
14
|
+
<currencySymbol>$</currencySymbol>
|
15
|
+
<orgAttachmentFileSizeLimit>5242880</orgAttachmentFileSizeLimit>
|
16
|
+
<orgDefaultCurrencyIsoCode>USD</orgDefaultCurrencyIsoCode>
|
17
|
+
<orgDisallowHtmlAttachments>false</orgDisallowHtmlAttachments>
|
18
|
+
<orgHasPersonAccounts>false</orgHasPersonAccounts>
|
19
|
+
<organizationId>00DE0000000YSKpMAO</organizationId>
|
20
|
+
<organizationMultiCurrency>false</organizationMultiCurrency>
|
21
|
+
<organizationName>Gmail</organizationName>
|
22
|
+
<profileId>00eE0000000oANhIAM</profileId>
|
23
|
+
<roleId xsi:nil="true" />
|
24
|
+
<sessionSecondsValid>7200</sessionSecondsValid>
|
25
|
+
<userDefaultCurrencyIsoCode xsi:nil="true" />
|
26
|
+
<userEmail>jjfutbol@gmail.com</userEmail>
|
27
|
+
<userFullName>Javier Julio</userFullName>
|
28
|
+
<userId>005E00000017spfIAA</userId>
|
29
|
+
<userLanguage>en_US</userLanguage>
|
30
|
+
<userLocale>en_US</userLocale>
|
31
|
+
<userName>jjfutbol@gmail.com</userName>
|
32
|
+
<userTimeZone>America/Panama</userTimeZone>
|
33
|
+
<userType>Standard</userType>
|
34
|
+
<userUiSkin>Theme3</userUiSkin>
|
35
|
+
</userInfo>
|
36
|
+
</result>
|
37
|
+
</loginResponse>
|
38
|
+
</soapenv:Body>
|
39
|
+
</soapenv:Envelope>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><result-list xmlns="http://www.force.com/2009/06/asyncapi/dataload"><result>752E0000000TNaq</result></result-list>
|