zuora_api 1.8.21 → 1.8.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -1
- data/lib/zuora_api/login.rb +17 -56
- data/lib/zuora_api/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5546a62ebcd1e41ab71c6e8555c49a9c8de4e627b69c2d6c3ee658e32a773a81
|
4
|
+
data.tar.gz: 75c008dec5f8652cfcdcd86d3e0503ddab0d6fe26789bd17a8b87551fdce7b3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8ee6cc80db3980eff77b60f94d8ce97a08fdabc5ed013a927c1ae8e8f40bc76fbaabcd95fae270dba1e7c813127aa526791e146d4838a610c29c4b56bc4e154
|
7
|
+
data.tar.gz: dc8cfcca12a83c6c0103e908c77b9f6838f9cb426a7762cd34998015e8f94d35ae756691b42527780204a65a22cea47502f057df48028551a5395271e7300c7a
|
data/CHANGELOG.md
CHANGED
data/lib/zuora_api/login.rb
CHANGED
@@ -1395,68 +1395,35 @@ module ZuoraAPI
|
|
1395
1395
|
|
1396
1396
|
def getDataSourceExport(query, extract: true, encrypted: false, zip: true, z_track_id: "")
|
1397
1397
|
tries ||= 3
|
1398
|
-
|
1399
|
-
|
1400
|
-
|
1401
|
-
|
1402
|
-
|
1403
|
-
|
1404
|
-
|
1405
|
-
|
1406
|
-
xml['
|
1407
|
-
xml['ns1'].zObjects('xsi:type' => "ns2:Export") do
|
1408
|
-
xml['ns2'].Format 'csv'
|
1409
|
-
xml['ns2'].Zip zip
|
1410
|
-
xml['ns2'].Name 'googman'
|
1411
|
-
xml['ns2'].Query query
|
1412
|
-
xml['ns2'].Encrypted encrypted
|
1413
|
-
end
|
1414
|
-
end
|
1398
|
+
|
1399
|
+
output_xml, input_xml = self.soap_call(debug: false, timeout_retry: true, zuora_track_id: z_track_id) do |xml|
|
1400
|
+
xml['ns1'].create do
|
1401
|
+
xml['ns1'].zObjects('xsi:type' => "ns2:Export") do
|
1402
|
+
xml['ns2'].Format 'csv'
|
1403
|
+
xml['ns2'].Zip zip
|
1404
|
+
xml['ns2'].Name 'googman'
|
1405
|
+
xml['ns2'].Query query
|
1406
|
+
xml['ns2'].Encrypted encrypted
|
1415
1407
|
end
|
1416
1408
|
end
|
1417
1409
|
end
|
1418
|
-
|
1419
|
-
response_query = HTTParty.post(self.url, body: request.to_xml(:save_with => XML_SAVE_OPTIONS).strip, headers: {'Content-Type' => "application/json; charset=utf-8", "Z-Track-Id" => z_track_id}, :timeout => 130)
|
1420
|
-
|
1421
|
-
output_xml = Nokogiri::XML(response_query.body)
|
1422
|
-
raise_errors(type: :SOAP, body: output_xml, response: response_query) if output_xml.xpath('//ns1:Success', 'ns1' =>'http://api.zuora.com/').text != "true"
|
1423
|
-
|
1424
|
-
# raise "Export Creation Unsuccessful : #{response_query.code}: #{response_query.parsed_response}" if output_xml.xpath('//ns1:Success', 'ns1' =>'http://api.zuora.com/').text != "true"
|
1425
1410
|
|
1426
1411
|
id = output_xml.xpath('//ns1:Id', 'ns1' =>'http://api.zuora.com/').text
|
1427
1412
|
|
1428
|
-
confirmRequest = Nokogiri::XML::Builder.new do |xml|
|
1429
|
-
xml['SOAP-ENV'].Envelope('xmlns:SOAP-ENV' => "http://schemas.xmlsoap.org/soap/envelope/", 'xmlns:ns2' => "http://object.api.zuora.com/", 'xmlns:xsi' => "http://www.w3.org/2001/XMLSchema-instance", 'xmlns:ns1' => "http://api.zuora.com/") do
|
1430
|
-
xml['SOAP-ENV'].Header do
|
1431
|
-
xml['ns1'].SessionHeader do
|
1432
|
-
xml['ns1'].session self.get_session(prefix: false, auth_type: :basic, zuora_track_id: z_track_id)
|
1433
|
-
end
|
1434
|
-
end
|
1435
|
-
xml['SOAP-ENV'].Body do
|
1436
|
-
xml['ns1'].query do
|
1437
|
-
xml['ns1'].queryString "SELECT Id, CreatedById, CreatedDate, Encrypted, FileId, Format, Name, Query, Size, Status, StatusReason, UpdatedById, UpdatedDate, Zip From Export where Id = '#{id}'"
|
1438
|
-
end
|
1439
|
-
end
|
1440
|
-
end
|
1441
|
-
end
|
1442
1413
|
result = 'Waiting'
|
1443
|
-
|
1444
1414
|
while result != "Completed"
|
1445
1415
|
sleep 3
|
1446
|
-
|
1447
|
-
|
1448
|
-
|
1416
|
+
output_xml, input_xml = self.soap_call(debug: false, timeout_retry: true, zuora_track_id: z_track_id) do |xml|
|
1417
|
+
xml['ns1'].query do
|
1418
|
+
xml['ns1'].queryString "SELECT Id, CreatedById, CreatedDate, Encrypted, FileId, Format, Name, Query, Size, Status, StatusReason, UpdatedById, UpdatedDate, Zip From Export where Id = '#{id}'"
|
1419
|
+
end
|
1420
|
+
end
|
1449
1421
|
result = output_xml.xpath('//ns2:Status', 'ns2' =>'http://object.api.zuora.com/').text
|
1450
|
-
status_code = response_query.code if response_query
|
1451
|
-
|
1452
|
-
raise_errors(type: :SOAP, body: output_xml, response: response_query) if result.blank? || result == "Failed"
|
1453
|
-
# raise "Export Creation Unsuccessful : #{response_query.code}: #{response_query.parsed_response}" if result.blank? || result == "Failed"
|
1454
1422
|
end
|
1455
1423
|
|
1456
1424
|
file_id = output_xml.xpath('//ns2:FileId', 'ns2' =>'http://object.api.zuora.com/').text
|
1457
1425
|
export_file = get_file(:url => self.fileURL(file_id))
|
1458
1426
|
export_file_path = export_file.path
|
1459
|
-
Rails.logger.debug("=====> Export path #{export_file.path}")
|
1460
1427
|
|
1461
1428
|
if extract && zip
|
1462
1429
|
require "zip"
|
@@ -1480,24 +1447,18 @@ module ZuoraAPI
|
|
1480
1447
|
rescue ZuoraAPI::Exceptions::ZuoraUnexpectedError => ex
|
1481
1448
|
if !(tries -= 1).zero?
|
1482
1449
|
Rails.logger.info("Trace ID: #{z_track_id} UnexpectedError, will retry after 10 seconds")
|
1483
|
-
sleep
|
1450
|
+
sleep(self.timeout_sleep)
|
1484
1451
|
retry
|
1485
1452
|
end
|
1486
1453
|
raise ex
|
1487
|
-
|
1488
|
-
rescue *ZUORA_API_ERRORS => ex
|
1489
|
-
raise ex
|
1490
|
-
|
1454
|
+
|
1491
1455
|
rescue *(CONNECTION_EXCEPTIONS + CONNECTION_READ_EXCEPTIONS) => ex
|
1492
1456
|
if !(tries -= 1).zero?
|
1493
1457
|
Rails.logger.info("Trace ID: #{z_track_id} Timed out will retry after 5 seconds")
|
1494
|
-
sleep
|
1458
|
+
sleep(self.timeout_sleep)
|
1495
1459
|
retry
|
1496
1460
|
end
|
1497
1461
|
raise ex
|
1498
|
-
|
1499
|
-
rescue ZuoraAPI::Exceptions::BadEntityError => ex
|
1500
|
-
raise ex
|
1501
1462
|
end
|
1502
1463
|
|
1503
1464
|
def query(query, parse = false)
|
data/lib/zuora_api/version.rb
CHANGED