n8-adcenter-client 0.1.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
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