n8-adcenter-client 0.1.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. data/.autotest +23 -0
  2. data/.gemtest +0 -0
  3. data/History.txt +12 -0
  4. data/Manifest.txt +44 -0
  5. data/README.txt +82 -0
  6. data/Rakefile.rb +30 -0
  7. data/TODO +12 -0
  8. data/VERSION +1 -0
  9. data/bin/get_adcenter_account_info.rb +45 -0
  10. data/devel/gen_wsdl_drivers.rb +26 -0
  11. data/devel/wsdl.yml +19 -0
  12. data/lib/AdministrationServiceDriver.rb +59 -0
  13. data/lib/AdministrationServiceMappingRegistry.rb +153 -0
  14. data/lib/CampaignManagementServiceDriver.rb +699 -0
  15. data/lib/CampaignManagementServiceMappingRegistry.rb +5140 -0
  16. data/lib/CustomerBillingServiceDriver.rb +107 -0
  17. data/lib/CustomerBillingServiceMappingRegistry.rb +698 -0
  18. data/lib/CustomerManagementServiceDriver.rb +219 -0
  19. data/lib/CustomerManagementServiceMappingRegistry.rb +1703 -0
  20. data/lib/ReportingServiceDriver.rb +59 -0
  21. data/lib/ReportingServiceMappingRegistry.rb +3410 -0
  22. data/lib/SecureDataManagementServiceDriver.rb +51 -0
  23. data/lib/SecureDataManagementServiceMappingRegistry.rb +380 -0
  24. data/lib/adcenter_client.rb +112 -0
  25. data/lib/adcenter_service.rb +74 -0
  26. data/lib/adcenter_wrapper_entities.rb +8185 -0
  27. data/lib/administration_service.rb +9 -0
  28. data/lib/campaign_management_service.rb +7 -0
  29. data/lib/custom_assertions.rb +5 -0
  30. data/lib/custom_exceptions.rb +1 -0
  31. data/lib/customer_billing_service.rb +7 -0
  32. data/lib/customer_management_service.rb +9 -0
  33. data/lib/defaultDriver.rb +67 -0
  34. data/lib/defaultMappingRegistry.rb +529 -0
  35. data/lib/notification_management.rb +7 -0
  36. data/lib/reporting_service.rb +7 -0
  37. data/lib/secure_data_management_service.rb +7 -0
  38. data/tasks/doctask.rake +9 -0
  39. data/tasks/testtask.rake +13 -0
  40. data/test/adcenter_client_test.rb +14 -0
  41. data/test/administration_service_test.rb +19 -0
  42. data/test/customer_management_service_test.rb +20 -0
  43. data/test/report_service_test.rb +44 -0
  44. data/test/test_credentials.yml-sample +7 -0
  45. data/test/test_helper.rb +9 -0
  46. metadata +99 -11
data/.autotest ADDED
@@ -0,0 +1,23 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'autotest/restart'
4
+
5
+ # Autotest.add_hook :initialize do |at|
6
+ # at.extra_files << "../some/external/dependency.rb"
7
+ #
8
+ # at.libs << ":../some/external"
9
+ #
10
+ # at.add_exception 'vendor'
11
+ #
12
+ # at.add_mapping(/dependency.rb/) do |f, _|
13
+ # at.files_matching(/test_.*rb$/)
14
+ # end
15
+ #
16
+ # %w(TestA TestB).each do |klass|
17
+ # at.extra_class_map[klass] = "test/test_misc.rb"
18
+ # end
19
+ # end
20
+
21
+ # Autotest.add_hook :run_command do |at|
22
+ # system "rake build"
23
+ # end
data/.gemtest ADDED
File without changes
data/History.txt ADDED
@@ -0,0 +1,12 @@
1
+ === 7.0.3 / 2011-01-31
2
+
3
+ * Version 7.0.3
4
+
5
+ * fixed namespace clobbering when importing adcenter_client
6
+
7
+ === 7.0.0 / 2011-01-23
8
+
9
+ * Initial Release
10
+
11
+ * seems to work for adCenter API v7
12
+
data/Manifest.txt ADDED
@@ -0,0 +1,44 @@
1
+ .autotest
2
+ History.txt
3
+ Manifest.txt
4
+ README.txt
5
+ Rakefile.rb
6
+ TODO
7
+ VERSION
8
+ bin/get_adcenter_account_info.rb
9
+ devel/gen_wsdl_drivers.rb
10
+ devel/wsdl.yml
11
+ lib/AdministrationServiceDriver.rb
12
+ lib/AdministrationServiceMappingRegistry.rb
13
+ lib/CampaignManagementServiceDriver.rb
14
+ lib/CampaignManagementServiceMappingRegistry.rb
15
+ lib/CustomerBillingServiceDriver.rb
16
+ lib/CustomerBillingServiceMappingRegistry.rb
17
+ lib/CustomerManagementServiceDriver.rb
18
+ lib/CustomerManagementServiceMappingRegistry.rb
19
+ lib/ReportingServiceDriver.rb
20
+ lib/ReportingServiceMappingRegistry.rb
21
+ lib/SecureDataManagementServiceDriver.rb
22
+ lib/SecureDataManagementServiceMappingRegistry.rb
23
+ lib/adcenter_client.rb
24
+ lib/adcenter_service.rb
25
+ lib/adcenter_wrapper_entities.rb
26
+ lib/administration_service.rb
27
+ lib/campaign_management_service.rb
28
+ lib/custom_assertions.rb
29
+ lib/custom_exceptions.rb
30
+ lib/customer_billing_service.rb
31
+ lib/customer_management_service.rb
32
+ lib/defaultDriver.rb
33
+ lib/defaultMappingRegistry.rb
34
+ lib/notification_management.rb
35
+ lib/reporting_service.rb
36
+ lib/secure_data_management_service.rb
37
+ tasks/doctask.rake
38
+ tasks/testtask.rake
39
+ test/adcenter_client_test.rb
40
+ test/administration_service_test.rb
41
+ test/customer_management_service_test.rb
42
+ test/report_service_test.rb
43
+ test/test_credentials.yml-sample
44
+ test/test_helper.rb
data/README.txt ADDED
@@ -0,0 +1,82 @@
1
+ = adcenter_client
2
+
3
+ * scm:: (https://github.com/bleechack/adcenter-client)
4
+ * rubyforge:: (http://rubyforge.org/projects/adcenter-client/)
5
+
6
+ == DESCRIPTION:
7
+
8
+ Interface to Microsoft (Yahoo!) adCenter SOAP API
9
+
10
+ == FEATURES/PROBLEMS:
11
+
12
+ * adds a wrapper around MSN adCenter SOAP API for ruby use
13
+ * entities are created directly from the WSDL using wsdl2ruby.rb
14
+
15
+ == SYNOPSIS:
16
+
17
+ credentials = {
18
+ 'UserName' => options[:username],
19
+ 'Password' => options[:password],
20
+ 'ApplicationToken' => '',
21
+ 'DeveloperToken' => options[:token],
22
+ 'CustomerId' => options[:customerid],
23
+ 'CustomerAccountId' => options[:accountid] || ""
24
+ }
25
+
26
+ @acc = AdCenterClient.new(credentials)
27
+ @svc = @acc.customer_management_service
28
+ @entities = @acc.entities
29
+
30
+ req = @entities::GetAccountsInfoRequest.new(credentials[:customerid])
31
+ res = @svc.getAccountsInfo(req)
32
+
33
+ == REQUIREMENTS:
34
+
35
+ * soap4r
36
+
37
+ == INSTALL:
38
+
39
+ $ sudo gem install adcenter-client
40
+
41
+ == DEVELOPERS:
42
+
43
+ After checking out the source, run:
44
+
45
+ $ rake adcenter-client
46
+
47
+ This task will install any missing dependencies, run the tests/specs,
48
+ and generate the RDoc.
49
+
50
+ == AUTHOR:
51
+
52
+ {Josh Peck}[jmp@joshpeck.org]
53
+
54
+ == LICENSE:
55
+
56
+ (The BSD License)
57
+
58
+ Copyright (c) 2011, JOSH PECK
59
+ All rights reserved.
60
+
61
+ Redistribution and use in source and binary forms, with or without
62
+ modification, are permitted provided that the following conditions are met:
63
+
64
+ * Redistributions of source code must retain the above copyright notice,
65
+ this list of conditions and the following disclaimer.
66
+ * Redistributions in binary form must reproduce the above copyright
67
+ notice, this list of conditions and the following disclaimer in the
68
+ documentation and/or other materials provided with the distribution.
69
+ * Neither the name of the <ORGANIZATION> nor the names of its contributors
70
+ may be used to endorse or promote products derived from this software
71
+ without specific prior written permission.
72
+
73
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
74
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
75
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
76
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
77
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
78
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
79
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
80
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
81
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
82
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/Rakefile.rb ADDED
@@ -0,0 +1,30 @@
1
+ # -*- ruby -*-
2
+ load 'tasks/testtask.rake'
3
+ load 'tasks/doctask.rake'
4
+
5
+ require 'rubygems'
6
+ # require 'rubyforge'
7
+ require 'hoe'
8
+
9
+ # Hoe.plugin :compiler
10
+ # Hoe.plugin :gem_prelude_sucks
11
+ Hoe.plugin :gemcutter
12
+ # Hoe.plugin :inline
13
+ # Hoe.plugin :racc
14
+ # Hoe.plugin :rubyforge
15
+ # Hoe.plugin :rubyforge
16
+
17
+ Hoe.spec 'n8-adcenter-client' do |h|
18
+ h.summary = "SOAP client for MSN adCenter"
19
+ h.email = "jmp@joshpeck.org"
20
+ h.author = "Josh Peck"
21
+ h.url = "http://bleechack.github.com/adcenter-client/"
22
+ h.description = h.paragraphs_of('README.txt', 2..3).join("\n\n")
23
+ h.changes = h.paragraphs_of('History.txt', 0..4).join("\n\n")
24
+ h.remote_rdoc_dir = 'adcenter-client'
25
+ h.developer('Josh Peck', 'jmp@joshpeck.org')
26
+ h.rubyforge_name = 'n8-adcenter-client'
27
+ h.extra_deps << [ 'soap4r', '>= 1.5.8' ]
28
+ end
29
+
30
+ # vim: syntax=ruby
data/TODO ADDED
@@ -0,0 +1,12 @@
1
+ = TODO
2
+
3
+ == Automated Testing of Services
4
+
5
+ * add sandbox to test suite to permit destructive tests
6
+ * test all AdministrationService operations
7
+ * test all CampaignManagementService operations
8
+ * test all CustomerBillingService operations
9
+ * test all CustomerManagementService operations
10
+ * test all NotificationManagement operations
11
+ * test all ReportingService operations
12
+ * test all SecureDataManagementService operations
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 7.0.3
@@ -0,0 +1,45 @@
1
+ #! /usr/bin/env ruby
2
+ $: << File.expand_path(File.dirname(__FILE__) + "/../lib/")
3
+
4
+ require 'optparse'
5
+ require 'yaml'
6
+ require 'adcenter_client'
7
+
8
+ $DEBUG = false
9
+
10
+ options = {}
11
+ OptionParser.new do |opts|
12
+ opts.banner = "Usage: get_adcenter_account_info.rb [options]"
13
+ opts.on("-u", "--username=LOGIN", "API account username") do |v|
14
+ options[:username] = v.to_s
15
+ end
16
+ opts.on("-p", "--password=PASSWORD", "API account password") do |v|
17
+ options[:password] = v.to_s
18
+ end
19
+ opts.on("-t", "--token=DEVTOKEN", "API account developer token") do |v|
20
+ options[:token] = v.to_s
21
+ end
22
+ opts.on("-c", "--customerid=n", "API account customer id") do |v|
23
+ options[:customerid] = v.to_i.to_s
24
+ end
25
+ opts.on("-a", "--accountid=n", "API account customer account id (optional)") do |v|
26
+ options[:accountid] = v.to_i.to_s
27
+ end
28
+ end.parse!
29
+
30
+ credentials = {
31
+ 'UserName' => options[:username],
32
+ 'Password' => options[:password],
33
+ 'ApplicationToken' => '',
34
+ 'DeveloperToken' => options[:token],
35
+ 'CustomerId' => options[:customerid],
36
+ 'CustomerAccountId' => options[:accountid] || ""
37
+ }
38
+
39
+ @acc = AdCenterClient.new(credentials, nil, false)
40
+ @svc = @acc.customer_management_service
41
+ @entities = @acc.entities
42
+
43
+ req = @entities::GetAccountsInfoRequest.new(credentials[:customerid])
44
+ res = @svc.getAccountsInfo(req)
45
+ puts res.to_yaml
@@ -0,0 +1,26 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ require 'optparse'
4
+ require 'yaml'
5
+
6
+ DEFAULT_DESTINATION_DIR = File.expand_path(File.dirname(__FILE__) + '/lib-devel/')
7
+ DEFAULT_WSDL_FILE = File.expand_path(File.dirname(__FILE__) + '/wsdl.yml')
8
+
9
+ options = {}
10
+ OptionParser.new do |opts|
11
+ opts.banner = "Usage: gen_drivers.rb [options]"
12
+ opts.on("-d", "--destination=DIRECTORY", "destination directory for generated files") do |v|
13
+ options[:destination_dir] = File.expand_path(v)
14
+ end
15
+ opts.on("-w", "--wsdl=FILE", "file containing WSDL endpoints in YAML") do |v|
16
+ options[:wsdl_file] = File.expand_path(v)
17
+ end
18
+ end.parse!
19
+
20
+ destination_dir = options[:destination_dir] ? options[:destination_dir].to_s : DEFAULT_DESTINATION_DIR
21
+ wsdl_file = options[:wsdl_file] ? options[:wsdl_file].to_s : DEFAULT_WSDL_FILE
22
+ wsdls = YAML::load_file(wsdl_file)
23
+ wsdls['production'].each do |service, endpoint|
24
+ puts "Working on #{service} [#{endpoint}]..."
25
+ `mkdir -p #{destination_dir} && cd #{destination_dir} && wsdl2ruby.rb --module_path AdCenterWrapper --type client --wsdl '#{endpoint}'`
26
+ end
data/devel/wsdl.yml ADDED
@@ -0,0 +1,19 @@
1
+ ---
2
+ production:
3
+ ad_intelligence_service: https://adcenterapi.microsoft.com/Api/Advertiser/v8/CampaignManagement/AdIntelligenceService.svc?wsdl
4
+ administration_service: https://adcenterapi.microsoft.com/Api/Advertiser/v8/Administration/AdministrationService.svc?wsdl
5
+ campaign_management_service: https://adcenterapi.microsoft.com/Api/Advertiser/v8/CampaignManagement/CampaignManagementService.svc?wsdl
6
+ customer_billing_service: https://sharedservices.adcenterapi.microsoft.com/Api/Billing/v8/CustomerBillingService.svc?wsdl
7
+ customer_management_service: https://sharedservices.adcenterapi.microsoft.com/Api/CustomerManagement/v8/CustomerManagementService.svc?wsdl
8
+ notification_service: https://sharedservices.adcenterapi.microsoft.com/Api/Notification/v8/NotificationService.svc?wsdl
9
+ optimizer_service: https://adcenterapi.microsoft.com/Api/Advertiser/v8/Optimizer/OptimizerService.svc?wsdl
10
+ reporting_service: https://adcenterapi.microsoft.com/Api/Advertiser/v8/Reporting/ReportingService.svc?wsdl
11
+ sandbox:
12
+ ad_intelligence_service: ~
13
+ administration_service: ~
14
+ campaign_management_service: ~
15
+ customer_billing_service: ~
16
+ customer_management_service: ~
17
+ notification_service: ~
18
+ optimizer_service: ~
19
+ reporting_service: ~
@@ -0,0 +1,59 @@
1
+ require 'AdministrationService.rb'
2
+ require 'AdministrationServiceMappingRegistry.rb'
3
+ require 'soap/rpc/driver'
4
+
5
+ module AdCenterWrapper
6
+
7
+ class IAdministrationService < ::SOAP::RPC::Driver
8
+ DefaultEndpointUrl = "https://adcenterapi.microsoft.com/Api/Advertiser/V8/Administration/AdministrationService.svc"
9
+
10
+ Methods = [
11
+ [ "GetAssignedQuota",
12
+ "getAssignedQuota",
13
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adcenter.microsoft.com/v8", "GetAssignedQuotaRequest"]],
14
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adcenter.microsoft.com/v8", "GetAssignedQuotaResponse"]] ],
15
+ { :request_style => :document, :request_use => :literal,
16
+ :response_style => :document, :response_use => :literal,
17
+ :faults => {"AdCenterWrapper::AdApiFaultDetailFault"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adcenter.microsoft.com/v8", :namespace=>nil, :name=>"AdApiFaultDetailFault"}} }
18
+ ],
19
+ [ "GetRemainingQuota",
20
+ "getRemainingQuota",
21
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "https://adcenter.microsoft.com/v8", "GetRemainingQuotaRequest"]],
22
+ ["out", "parameters", ["::SOAP::SOAPElement", "https://adcenter.microsoft.com/v8", "GetRemainingQuotaResponse"]] ],
23
+ { :request_style => :document, :request_use => :literal,
24
+ :response_style => :document, :response_use => :literal,
25
+ :faults => {"AdCenterWrapper::AdApiFaultDetailFault"=>{:encodingstyle=>"document", :use=>"literal", :ns=>"https://adcenter.microsoft.com/v8", :namespace=>nil, :name=>"AdApiFaultDetailFault"}} }
26
+ ]
27
+ ]
28
+
29
+ def initialize(endpoint_url = nil)
30
+ endpoint_url ||= DefaultEndpointUrl
31
+ super(endpoint_url, nil)
32
+ self.mapping_registry = AdministrationServiceMappingRegistry::EncodedRegistry
33
+ self.literal_mapping_registry = AdministrationServiceMappingRegistry::LiteralRegistry
34
+ init_methods
35
+ end
36
+
37
+ private
38
+
39
+ def init_methods
40
+ Methods.each do |definitions|
41
+ opt = definitions.last
42
+ if opt[:request_style] == :document
43
+ add_document_operation(*definitions)
44
+ else
45
+ add_rpc_operation(*definitions)
46
+ qname = definitions[0]
47
+ name = definitions[2]
48
+ if qname.name != name and qname.name.capitalize == name.capitalize
49
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
50
+ __send__(name, *arg)
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+
58
+
59
+ end
@@ -0,0 +1,153 @@
1
+ require 'adcenter_wrapper_entities'
2
+ require 'AdministrationService.rb'
3
+ require 'soap/mapping'
4
+
5
+ module AdCenterWrapper
6
+
7
+ module AdministrationServiceMappingRegistry
8
+ EncodedRegistry = ::SOAP::Mapping::EncodedRegistry.new
9
+ LiteralRegistry = ::SOAP::Mapping::LiteralRegistry.new
10
+ NsAdapiMicrosoftCom = "https://adapi.microsoft.com"
11
+ NsV8 = "https://adcenter.microsoft.com/v8"
12
+
13
+ EncodedRegistry.register(
14
+ :class => AdCenterWrapper::AdApiFaultDetail,
15
+ :schema_type => XSD::QName.new(NsAdapiMicrosoftCom, "AdApiFaultDetail"),
16
+ :schema_basetype => XSD::QName.new(NsAdapiMicrosoftCom, "ApplicationFault"),
17
+ :schema_element => [
18
+ ["trackingId", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "TrackingId")], [0, 1]],
19
+ ["errors", ["AdCenterWrapper::ArrayOfAdApiError", XSD::QName.new(NsAdapiMicrosoftCom, "Errors")], [0, 1]]
20
+ ]
21
+ )
22
+
23
+ EncodedRegistry.register(
24
+ :class => AdCenterWrapper::ApplicationFault,
25
+ :schema_type => XSD::QName.new(NsAdapiMicrosoftCom, "ApplicationFault"),
26
+ :schema_element => [
27
+ ["trackingId", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "TrackingId")], [0, 1]]
28
+ ]
29
+ )
30
+
31
+ EncodedRegistry.register(
32
+ :class => AdCenterWrapper::ArrayOfAdApiError,
33
+ :schema_type => XSD::QName.new(NsAdapiMicrosoftCom, "ArrayOfAdApiError"),
34
+ :schema_element => [
35
+ ["adApiError", ["AdCenterWrapper::AdApiError[]", XSD::QName.new(NsAdapiMicrosoftCom, "AdApiError")], [0, nil]]
36
+ ]
37
+ )
38
+
39
+ EncodedRegistry.register(
40
+ :class => AdCenterWrapper::AdApiError,
41
+ :schema_type => XSD::QName.new(NsAdapiMicrosoftCom, "AdApiError"),
42
+ :schema_element => [
43
+ ["code", ["SOAP::SOAPInt", XSD::QName.new(NsAdapiMicrosoftCom, "Code")], [0, 1]],
44
+ ["detail", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "Detail")], [0, 1]],
45
+ ["errorCode", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "ErrorCode")], [0, 1]],
46
+ ["message", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "Message")], [0, 1]]
47
+ ]
48
+ )
49
+
50
+ LiteralRegistry.register(
51
+ :class => AdCenterWrapper::AdApiFaultDetail,
52
+ :schema_type => XSD::QName.new(NsAdapiMicrosoftCom, "AdApiFaultDetail"),
53
+ :schema_basetype => XSD::QName.new(NsAdapiMicrosoftCom, "ApplicationFault"),
54
+ :schema_element => [
55
+ ["trackingId", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "TrackingId")], [0, 1]],
56
+ ["errors", ["AdCenterWrapper::ArrayOfAdApiError", XSD::QName.new(NsAdapiMicrosoftCom, "Errors")], [0, 1]]
57
+ ]
58
+ )
59
+
60
+ LiteralRegistry.register(
61
+ :class => AdCenterWrapper::ApplicationFault,
62
+ :schema_type => XSD::QName.new(NsAdapiMicrosoftCom, "ApplicationFault"),
63
+ :schema_element => [
64
+ ["trackingId", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "TrackingId")], [0, 1]]
65
+ ]
66
+ )
67
+
68
+ LiteralRegistry.register(
69
+ :class => AdCenterWrapper::ArrayOfAdApiError,
70
+ :schema_type => XSD::QName.new(NsAdapiMicrosoftCom, "ArrayOfAdApiError"),
71
+ :schema_element => [
72
+ ["adApiError", ["AdCenterWrapper::AdApiError[]", XSD::QName.new(NsAdapiMicrosoftCom, "AdApiError")], [0, nil]]
73
+ ]
74
+ )
75
+
76
+ LiteralRegistry.register(
77
+ :class => AdCenterWrapper::AdApiError,
78
+ :schema_type => XSD::QName.new(NsAdapiMicrosoftCom, "AdApiError"),
79
+ :schema_element => [
80
+ ["code", ["SOAP::SOAPInt", XSD::QName.new(NsAdapiMicrosoftCom, "Code")], [0, 1]],
81
+ ["detail", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "Detail")], [0, 1]],
82
+ ["errorCode", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "ErrorCode")], [0, 1]],
83
+ ["message", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "Message")], [0, 1]]
84
+ ]
85
+ )
86
+
87
+ LiteralRegistry.register(
88
+ :class => AdCenterWrapper::GetAssignedQuotaRequest,
89
+ :schema_name => XSD::QName.new(NsV8, "GetAssignedQuotaRequest"),
90
+ :schema_element => []
91
+ )
92
+
93
+ LiteralRegistry.register(
94
+ :class => AdCenterWrapper::GetAssignedQuotaResponse,
95
+ :schema_name => XSD::QName.new(NsV8, "GetAssignedQuotaResponse"),
96
+ :schema_element => [
97
+ ["assignedQuota", ["SOAP::SOAPLong", XSD::QName.new(NsV8, "AssignedQuota")], [0, 1]]
98
+ ]
99
+ )
100
+
101
+ LiteralRegistry.register(
102
+ :class => AdCenterWrapper::GetRemainingQuotaRequest,
103
+ :schema_name => XSD::QName.new(NsV8, "GetRemainingQuotaRequest"),
104
+ :schema_element => []
105
+ )
106
+
107
+ LiteralRegistry.register(
108
+ :class => AdCenterWrapper::GetRemainingQuotaResponse,
109
+ :schema_name => XSD::QName.new(NsV8, "GetRemainingQuotaResponse"),
110
+ :schema_element => [
111
+ ["remainingQuota", ["SOAP::SOAPLong", XSD::QName.new(NsV8, "RemainingQuota")], [0, 1]]
112
+ ]
113
+ )
114
+
115
+ LiteralRegistry.register(
116
+ :class => AdCenterWrapper::AdApiFaultDetail,
117
+ :schema_name => XSD::QName.new(NsAdapiMicrosoftCom, "AdApiFaultDetail"),
118
+ :schema_element => [
119
+ ["trackingId", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "TrackingId")], [0, 1]],
120
+ ["errors", ["AdCenterWrapper::ArrayOfAdApiError", XSD::QName.new(NsAdapiMicrosoftCom, "Errors")], [0, 1]]
121
+ ]
122
+ )
123
+
124
+ LiteralRegistry.register(
125
+ :class => AdCenterWrapper::ApplicationFault,
126
+ :schema_name => XSD::QName.new(NsAdapiMicrosoftCom, "ApplicationFault"),
127
+ :schema_element => [
128
+ ["trackingId", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "TrackingId")], [0, 1]]
129
+ ]
130
+ )
131
+
132
+ LiteralRegistry.register(
133
+ :class => AdCenterWrapper::ArrayOfAdApiError,
134
+ :schema_name => XSD::QName.new(NsAdapiMicrosoftCom, "ArrayOfAdApiError"),
135
+ :schema_element => [
136
+ ["adApiError", ["AdCenterWrapper::AdApiError[]", XSD::QName.new(NsAdapiMicrosoftCom, "AdApiError")], [0, nil]]
137
+ ]
138
+ )
139
+
140
+ LiteralRegistry.register(
141
+ :class => AdCenterWrapper::AdApiError,
142
+ :schema_name => XSD::QName.new(NsAdapiMicrosoftCom, "AdApiError"),
143
+ :schema_element => [
144
+ ["code", ["SOAP::SOAPInt", XSD::QName.new(NsAdapiMicrosoftCom, "Code")], [0, 1]],
145
+ ["detail", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "Detail")], [0, 1]],
146
+ ["errorCode", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "ErrorCode")], [0, 1]],
147
+ ["message", ["SOAP::SOAPString", XSD::QName.new(NsAdapiMicrosoftCom, "Message")], [0, 1]]
148
+ ]
149
+ )
150
+
151
+ end
152
+
153
+ end