channel_advisor 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/README +46 -0
  2. data/lib/channel_advisor/admin_service/client.rb +63 -0
  3. data/lib/channel_advisor/admin_service/mapping_registry.rb +206 -0
  4. data/lib/channel_advisor/admin_service/types.rb +175 -0
  5. data/lib/channel_advisor/admin_service.rb +14 -0
  6. data/lib/channel_advisor/auth_handler.rb +21 -0
  7. data/lib/channel_advisor/cart_service/client.rb +79 -0
  8. data/lib/channel_advisor/cart_service/mapping_registry.rb +344 -0
  9. data/lib/channel_advisor/cart_service/types.rb +386 -0
  10. data/lib/channel_advisor/cart_service.rb +14 -0
  11. data/lib/channel_advisor/errors.rb +13 -0
  12. data/lib/channel_advisor/inventory_service/client.rb +223 -0
  13. data/lib/channel_advisor/inventory_service/mapping_registry.rb +1765 -0
  14. data/lib/channel_advisor/inventory_service/types.rb +1708 -0
  15. data/lib/channel_advisor/inventory_service.rb +14 -0
  16. data/lib/channel_advisor/listing_service/client.rb +55 -0
  17. data/lib/channel_advisor/listing_service/mapping_registry.rb +153 -0
  18. data/lib/channel_advisor/listing_service/types.rb +125 -0
  19. data/lib/channel_advisor/listing_service.rb +14 -0
  20. data/lib/channel_advisor/marketplace_ad_service/client.rb +71 -0
  21. data/lib/channel_advisor/marketplace_ad_service/mapping_registry.rb +334 -0
  22. data/lib/channel_advisor/marketplace_ad_service/types.rb +317 -0
  23. data/lib/channel_advisor/marketplace_ad_service.rb +14 -0
  24. data/lib/channel_advisor/message_code.rb +30 -0
  25. data/lib/channel_advisor/order_service/client.rb +111 -0
  26. data/lib/channel_advisor/order_service/mapping_registry.rb +1696 -0
  27. data/lib/channel_advisor/order_service/types.rb +1781 -0
  28. data/lib/channel_advisor/order_service.rb +14 -0
  29. data/lib/channel_advisor/service_proxy.rb +62 -0
  30. data/lib/channel_advisor/shared_requires.rb +11 -0
  31. data/lib/channel_advisor/shipping_service/client.rb +79 -0
  32. data/lib/channel_advisor/shipping_service/mapping_registry.rb +500 -0
  33. data/lib/channel_advisor/shipping_service/types.rb +431 -0
  34. data/lib/channel_advisor/shipping_service.rb +14 -0
  35. data/lib/channel_advisor/store_service/client.rb +55 -0
  36. data/lib/channel_advisor/store_service/mapping_registry.rb +250 -0
  37. data/lib/channel_advisor/store_service/types.rb +180 -0
  38. data/lib/channel_advisor/store_service.rb +14 -0
  39. data/lib/channel_advisor/tax_service/client.rb +55 -0
  40. data/lib/channel_advisor/tax_service/mapping_registry.rb +233 -0
  41. data/lib/channel_advisor/tax_service/types.rb +221 -0
  42. data/lib/channel_advisor/tax_service.rb +14 -0
  43. data/lib/channel_advisor.rb +4 -0
  44. data/spec/integration/inventory_sync_spec.rb +55 -0
  45. data/spec/lib/channel_advisor/admin_service_spec.rb +12 -0
  46. data/spec/lib/channel_advisor/auth_handler_spec.rb +46 -0
  47. data/spec/lib/channel_advisor/cart_service_spec.rb +12 -0
  48. data/spec/lib/channel_advisor/errors_spec.rb +23 -0
  49. data/spec/lib/channel_advisor/inventory_service_spec.rb +12 -0
  50. data/spec/lib/channel_advisor/marketplace_ad_service_spec.rb +12 -0
  51. data/spec/lib/channel_advisor/message_code_spec.rb +40 -0
  52. data/spec/lib/channel_advisor/order_service_spec.rb +12 -0
  53. data/spec/lib/channel_advisor/service_proxy_spec.rb +130 -0
  54. data/spec/lib/channel_advisor/shipping_service_spec.rb +12 -0
  55. data/spec/lib/channel_advisor/store_service_spec.rb +12 -0
  56. data/spec/lib/channel_advisor/tax_service_spec.rb +12 -0
  57. data/spec/spec.opts +2 -0
  58. data/spec/spec_helper.rb +4 -0
  59. metadata +170 -0
@@ -0,0 +1,14 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), 'shared_requires.rb'))
2
+ ['types.rb', 'mapping_registry.rb', 'client.rb'].each do |required|
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'order_service', required))
4
+ end
5
+
6
+ module ChannelAdvisor
7
+ class OrderService
8
+ include ChannelAdvisor::ServiceProxy
9
+ define_service_methods(
10
+ ChannelAdvisor::OrderServiceSOAP,
11
+ ChannelAdvisor::OrderServiceSOAP::OrderServiceSoap
12
+ )
13
+ end
14
+ end
@@ -0,0 +1,62 @@
1
+ module ChannelAdvisor
2
+ module ServiceProxy
3
+
4
+ def self.included(base)
5
+ base.extend(ChannelAdvisor::ServiceProxy::ClassMethods)
6
+ end
7
+
8
+ module InstanceMethods
9
+ protected
10
+
11
+ def init_client(developer_key = nil, password = nil)
12
+ client = self.class.const_get(:SOAP_CLASS).new
13
+ client.headerhandler << ChannelAdvisor::AuthHandler.new(developer_key, password)
14
+ client
15
+ end
16
+
17
+ def check_for_success(response)
18
+ unless response.status == 'Success'
19
+ raise ChannelAdvisor::Error.new(response, MessageCode.get(response.messageCode))
20
+ end
21
+ end
22
+ end
23
+
24
+ module ClassMethods
25
+ def define_service_methods(service_module, soap_class)
26
+ const_set(:SERVICE_MODULE, service_module)
27
+ const_set(:SOAP_CLASS, soap_class)
28
+
29
+ soap_class::Methods.each do |m|
30
+ method_name = m[1]
31
+ result_method = "#{method_name}Result"
32
+ class_name = method_name[0..0].upcase + method_name[1..-1]
33
+
34
+ define_method(method_name) do |*args|
35
+ if args.last.is_a? Hash
36
+ options = args.pop
37
+ else
38
+ options = {:account_id => configatron.channel_advisor.account_id}
39
+ end
40
+ args = args.unshift(options[:account_id])
41
+ client = self.init_client(options[:developer_key], options[:password])
42
+
43
+ verify_mode = configatron.channel_advisor.ssl_config.retrieve('verify_mode', OpenSSL::SSL::VERIFY_PEER)
44
+ client.streamhandler.client.ssl_config.verify_mode = verify_mode
45
+
46
+ request_class = service_module.const_get(class_name)
47
+ request = request_class.new(*args)
48
+
49
+ result = client.send(method_name, request)
50
+ response = result.send(result_method)
51
+
52
+ check_for_success(response)
53
+ response.resultData
54
+ end
55
+
56
+ include ChannelAdvisor::ServiceProxy::InstanceMethods
57
+ end
58
+ end
59
+ end
60
+
61
+ end
62
+ end
@@ -0,0 +1,11 @@
1
+ require 'rubygems'
2
+ gem 'soap4r'
3
+ require 'xsd/qname'
4
+ require 'xsd/mapping'
5
+ require 'soap/mapping'
6
+ require 'soap/rpc/driver'
7
+ require 'configatron'
8
+ require File.expand_path(File.join(File.dirname(__FILE__), 'auth_handler.rb'))
9
+ require File.expand_path(File.join(File.dirname(__FILE__), 'message_code.rb'))
10
+ require File.expand_path(File.join(File.dirname(__FILE__), 'errors.rb'))
11
+ require File.expand_path(File.join(File.dirname(__FILE__), 'service_proxy.rb'))
@@ -0,0 +1,79 @@
1
+ module ChannelAdvisor::ShippingServiceSOAP
2
+
3
+ class ShippingServiceSoap < ::SOAP::RPC::Driver
4
+ DefaultEndpointUrl = "https://api.channeladvisor.com/ChannelAdvisorAPI/v1/ShippingService.asmx"
5
+
6
+ Methods = [
7
+ [ "http://api.channeladvisor.com/webservices/GetShippingRateList",
8
+ "getShippingRateList",
9
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://api.channeladvisor.com/webservices/", "GetShippingRateList"]],
10
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://api.channeladvisor.com/webservices/", "GetShippingRateListResponse"]] ],
11
+ { :request_style => :document, :request_use => :literal,
12
+ :response_style => :document, :response_use => :literal,
13
+ :faults => {} }
14
+ ],
15
+ [ "http://api.channeladvisor.com/webservices/GetShippingCarrierList",
16
+ "getShippingCarrierList",
17
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://api.channeladvisor.com/webservices/", "GetShippingCarrierList"]],
18
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://api.channeladvisor.com/webservices/", "GetShippingCarrierListResponse"]] ],
19
+ { :request_style => :document, :request_use => :literal,
20
+ :response_style => :document, :response_use => :literal,
21
+ :faults => {} }
22
+ ],
23
+ [ "http://api.channeladvisor.com/webservices/OrderShipped",
24
+ "orderShipped",
25
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://api.channeladvisor.com/webservices/", "OrderShipped"]],
26
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://api.channeladvisor.com/webservices/", "OrderShippedResponse"]] ],
27
+ { :request_style => :document, :request_use => :literal,
28
+ :response_style => :document, :response_use => :literal,
29
+ :faults => {} }
30
+ ],
31
+ [ "http://api.channeladvisor.com/webservices/SubmitOrderShipmentList",
32
+ "submitOrderShipmentList",
33
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://api.channeladvisor.com/webservices/", "SubmitOrderShipmentList"]],
34
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://api.channeladvisor.com/webservices/", "SubmitOrderShipmentListResponse"]] ],
35
+ { :request_style => :document, :request_use => :literal,
36
+ :response_style => :document, :response_use => :literal,
37
+ :faults => {} }
38
+ ],
39
+ [ "http://api.channeladvisor.com/webservices/Ping",
40
+ "ping",
41
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "http://api.channeladvisor.com/webservices/", "Ping"]],
42
+ ["out", "parameters", ["::SOAP::SOAPElement", "http://api.channeladvisor.com/webservices/", "PingResponse"]] ],
43
+ { :request_style => :document, :request_use => :literal,
44
+ :response_style => :document, :response_use => :literal,
45
+ :faults => {} }
46
+ ]
47
+ ]
48
+
49
+ def initialize(endpoint_url = nil)
50
+ endpoint_url ||= DefaultEndpointUrl
51
+ super(endpoint_url, nil)
52
+ self.mapping_registry = DefaultMappingRegistry::EncodedRegistry
53
+ self.literal_mapping_registry = DefaultMappingRegistry::LiteralRegistry
54
+ init_methods
55
+ end
56
+
57
+ private
58
+
59
+ def init_methods
60
+ Methods.each do |definitions|
61
+ opt = definitions.last
62
+ if opt[:request_style] == :document
63
+ add_document_operation(*definitions)
64
+ else
65
+ add_rpc_operation(*definitions)
66
+ qname = definitions[0]
67
+ name = definitions[2]
68
+ if qname.name != name and qname.name.capitalize == name.capitalize
69
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
70
+ __send__(name, *arg)
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
77
+
78
+
79
+ end
@@ -0,0 +1,500 @@
1
+ module ChannelAdvisor; module ShippingServiceSOAP
2
+
3
+ module DefaultMappingRegistry
4
+ EncodedRegistry = ::SOAP::Mapping::EncodedRegistry.new
5
+ LiteralRegistry = ::SOAP::Mapping::LiteralRegistry.new
6
+ NsWebservices = "http://api.channeladvisor.com/webservices/"
7
+
8
+ EncodedRegistry.register(
9
+ :class => ChannelAdvisor::ShippingServiceSOAP::APIResultOfShippingRateResult,
10
+ :schema_type => XSD::QName.new(NsWebservices, "APIResultOfShippingRateResult"),
11
+ :schema_element => [
12
+ ["status", ["ChannelAdvisor::ShippingServiceSOAP::ResultStatus", XSD::QName.new(NsWebservices, "Status")]],
13
+ ["messageCode", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "MessageCode")]],
14
+ ["message", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Message")], [0, 1]],
15
+ ["data", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Data")], [0, 1]],
16
+ ["resultData", ["ChannelAdvisor::ShippingServiceSOAP::ShippingRateResult", XSD::QName.new(NsWebservices, "ResultData")], [0, 1]]
17
+ ]
18
+ )
19
+
20
+ EncodedRegistry.register(
21
+ :class => ChannelAdvisor::ShippingServiceSOAP::ShippingRateResult,
22
+ :schema_type => XSD::QName.new(NsWebservices, "ShippingRateResult"),
23
+ :schema_element => [
24
+ ["shippingDetailList", ["ChannelAdvisor::ShippingServiceSOAP::ArrayOfShippingItemBase", XSD::QName.new(NsWebservices, "ShippingDetailList")], [0, 1]]
25
+ ]
26
+ )
27
+
28
+ EncodedRegistry.register(
29
+ :class => ChannelAdvisor::ShippingServiceSOAP::ArrayOfShippingItemBase,
30
+ :schema_type => XSD::QName.new(NsWebservices, "ArrayOfShippingItemBase"),
31
+ :schema_element => [
32
+ ["shippingItemBase", ["ChannelAdvisor::ShippingServiceSOAP::ShippingItemBase[]", XSD::QName.new(NsWebservices, "ShippingItemBase")], [0, nil]]
33
+ ]
34
+ )
35
+
36
+ EncodedRegistry.register(
37
+ :class => ChannelAdvisor::ShippingServiceSOAP::ShippingItemBase,
38
+ :schema_type => XSD::QName.new(NsWebservices, "ShippingItemBase"),
39
+ :schema_element => [
40
+ ["carrierName", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "CarrierName")], [0, 1]],
41
+ ["className", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "ClassName")], [0, 1]],
42
+ ["shippingCost", ["SOAP::SOAPDecimal", XSD::QName.new(NsWebservices, "ShippingCost")]]
43
+ ]
44
+ )
45
+
46
+ EncodedRegistry.register(
47
+ :class => ChannelAdvisor::ShippingServiceSOAP::APICredentials,
48
+ :schema_type => XSD::QName.new(NsWebservices, "APICredentials"),
49
+ :schema_element => [
50
+ ["developerKey", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "DeveloperKey")], [0, 1]],
51
+ ["password", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Password")], [0, 1]]
52
+ ]
53
+ )
54
+
55
+ EncodedRegistry.register(
56
+ :class => ChannelAdvisor::ShippingServiceSOAP::APIResultOfArrayOfShippingCarrier,
57
+ :schema_type => XSD::QName.new(NsWebservices, "APIResultOfArrayOfShippingCarrier"),
58
+ :schema_element => [
59
+ ["status", ["ChannelAdvisor::ShippingServiceSOAP::ResultStatus", XSD::QName.new(NsWebservices, "Status")]],
60
+ ["messageCode", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "MessageCode")]],
61
+ ["message", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Message")], [0, 1]],
62
+ ["data", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Data")], [0, 1]],
63
+ ["resultData", ["ChannelAdvisor::ShippingServiceSOAP::ArrayOfShippingCarrier", XSD::QName.new(NsWebservices, "ResultData")], [0, 1]]
64
+ ]
65
+ )
66
+
67
+ EncodedRegistry.register(
68
+ :class => ChannelAdvisor::ShippingServiceSOAP::ArrayOfShippingCarrier,
69
+ :schema_type => XSD::QName.new(NsWebservices, "ArrayOfShippingCarrier"),
70
+ :schema_element => [
71
+ ["shippingCarrier", ["ChannelAdvisor::ShippingServiceSOAP::ShippingCarrier[]", XSD::QName.new(NsWebservices, "ShippingCarrier")], [0, nil]]
72
+ ]
73
+ )
74
+
75
+ EncodedRegistry.register(
76
+ :class => ChannelAdvisor::ShippingServiceSOAP::ShippingCarrier,
77
+ :schema_type => XSD::QName.new(NsWebservices, "ShippingCarrier"),
78
+ :schema_element => [
79
+ ["carrierID", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "CarrierID")]],
80
+ ["classID", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "ClassID")]],
81
+ ["carrierName", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "CarrierName")], [0, 1]],
82
+ ["carrierCode", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "CarrierCode")], [0, 1]],
83
+ ["classCode", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "ClassCode")], [0, 1]],
84
+ ["className", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "ClassName")], [0, 1]]
85
+ ]
86
+ )
87
+
88
+ EncodedRegistry.register(
89
+ :class => ChannelAdvisor::ShippingServiceSOAP::APIResultOfBoolean,
90
+ :schema_type => XSD::QName.new(NsWebservices, "APIResultOfBoolean"),
91
+ :schema_element => [
92
+ ["status", ["ChannelAdvisor::ShippingServiceSOAP::ResultStatus", XSD::QName.new(NsWebservices, "Status")]],
93
+ ["messageCode", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "MessageCode")]],
94
+ ["message", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Message")], [0, 1]],
95
+ ["data", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Data")], [0, 1]],
96
+ ["resultData", ["SOAP::SOAPBoolean", XSD::QName.new(NsWebservices, "ResultData")]]
97
+ ]
98
+ )
99
+
100
+ EncodedRegistry.register(
101
+ :class => ChannelAdvisor::ShippingServiceSOAP::OrderShipmentList,
102
+ :schema_type => XSD::QName.new(NsWebservices, "OrderShipmentList"),
103
+ :schema_element => [
104
+ ["shipmentList", ["ChannelAdvisor::ShippingServiceSOAP::ArrayOfOrderShipment", XSD::QName.new(NsWebservices, "ShipmentList")], [0, 1]]
105
+ ]
106
+ )
107
+
108
+ EncodedRegistry.register(
109
+ :class => ChannelAdvisor::ShippingServiceSOAP::ArrayOfOrderShipment,
110
+ :schema_type => XSD::QName.new(NsWebservices, "ArrayOfOrderShipment"),
111
+ :schema_element => [
112
+ ["orderShipment", ["ChannelAdvisor::ShippingServiceSOAP::OrderShipment[]", XSD::QName.new(NsWebservices, "OrderShipment")], [0, nil]]
113
+ ]
114
+ )
115
+
116
+ EncodedRegistry.register(
117
+ :class => ChannelAdvisor::ShippingServiceSOAP::OrderShipment,
118
+ :schema_type => XSD::QName.new(NsWebservices, "OrderShipment"),
119
+ :schema_element => [
120
+ ["orderId", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "OrderId")]],
121
+ ["clientOrderIdentifier", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "ClientOrderIdentifier")], [0, 1]],
122
+ ["shipmentType", ["ChannelAdvisor::ShippingServiceSOAP::ShipmentTypeEnum", XSD::QName.new(NsWebservices, "ShipmentType")]],
123
+ ["partialShipment", ["ChannelAdvisor::ShippingServiceSOAP::PartialShipmentContents", XSD::QName.new(NsWebservices, "PartialShipment")], [0, 1]],
124
+ ["fullShipment", ["ChannelAdvisor::ShippingServiceSOAP::FullShipmentContents", XSD::QName.new(NsWebservices, "FullShipment")], [0, 1]]
125
+ ]
126
+ )
127
+
128
+ EncodedRegistry.register(
129
+ :class => ChannelAdvisor::ShippingServiceSOAP::PartialShipmentContents,
130
+ :schema_type => XSD::QName.new(NsWebservices, "PartialShipmentContents"),
131
+ :schema_element => [
132
+ ["shipmentContents", "ChannelAdvisor::ShippingServiceSOAP::ShipmentContents"],
133
+ ["dateShippedGMT", "SOAP::SOAPDateTime"],
134
+ ["carrierCode", "SOAP::SOAPString", [0, 1]],
135
+ ["classCode", "SOAP::SOAPString", [0, 1]],
136
+ ["trackingNumber", "SOAP::SOAPString", [0, 1]],
137
+ ["shipmentCost", "SOAP::SOAPDecimal"],
138
+ ["shipmentTaxCost", "SOAP::SOAPDecimal"],
139
+ ["insuranceCost", "SOAP::SOAPDecimal"]
140
+ ]
141
+ )
142
+
143
+ EncodedRegistry.register(
144
+ :class => ChannelAdvisor::ShippingServiceSOAP::ShipmentContents,
145
+ :schema_type => XSD::QName.new(NsWebservices, "ShipmentContents"),
146
+ :schema_element => [
147
+ ["lineItemList", ["ChannelAdvisor::ShippingServiceSOAP::ArrayOfLineItem", XSD::QName.new(NsWebservices, "LineItemList")], [0, 1]]
148
+ ]
149
+ )
150
+
151
+ EncodedRegistry.register(
152
+ :class => ChannelAdvisor::ShippingServiceSOAP::ArrayOfLineItem,
153
+ :schema_type => XSD::QName.new(NsWebservices, "ArrayOfLineItem"),
154
+ :schema_element => [
155
+ ["lineItem", ["ChannelAdvisor::ShippingServiceSOAP::LineItem[]", XSD::QName.new(NsWebservices, "LineItem")], [0, nil]]
156
+ ]
157
+ )
158
+
159
+ EncodedRegistry.register(
160
+ :class => ChannelAdvisor::ShippingServiceSOAP::LineItem,
161
+ :schema_type => XSD::QName.new(NsWebservices, "LineItem"),
162
+ :schema_element => [
163
+ ["sKU", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "SKU")], [0, 1]],
164
+ ["quantity", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "Quantity")]]
165
+ ]
166
+ )
167
+
168
+ EncodedRegistry.register(
169
+ :class => ChannelAdvisor::ShippingServiceSOAP::FullShipmentContents,
170
+ :schema_type => XSD::QName.new(NsWebservices, "FullShipmentContents"),
171
+ :schema_element => [
172
+ ["dateShippedGMT", "SOAP::SOAPDateTime"],
173
+ ["carrierCode", "SOAP::SOAPString", [0, 1]],
174
+ ["classCode", "SOAP::SOAPString", [0, 1]],
175
+ ["trackingNumber", "SOAP::SOAPString", [0, 1]],
176
+ ["shipmentCost", "SOAP::SOAPDecimal"],
177
+ ["shipmentTaxCost", "SOAP::SOAPDecimal"],
178
+ ["insuranceCost", "SOAP::SOAPDecimal"]
179
+ ]
180
+ )
181
+
182
+ EncodedRegistry.register(
183
+ :class => ChannelAdvisor::ShippingServiceSOAP::APIResultOfString,
184
+ :schema_type => XSD::QName.new(NsWebservices, "APIResultOfString"),
185
+ :schema_element => [
186
+ ["status", ["ChannelAdvisor::ShippingServiceSOAP::ResultStatus", XSD::QName.new(NsWebservices, "Status")]],
187
+ ["messageCode", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "MessageCode")]],
188
+ ["message", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Message")], [0, 1]],
189
+ ["data", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Data")], [0, 1]],
190
+ ["resultData", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "ResultData")], [0, 1]]
191
+ ]
192
+ )
193
+
194
+ EncodedRegistry.register(
195
+ :class => ChannelAdvisor::ShippingServiceSOAP::ResultStatus,
196
+ :schema_type => XSD::QName.new(NsWebservices, "ResultStatus")
197
+ )
198
+
199
+ EncodedRegistry.register(
200
+ :class => ChannelAdvisor::ShippingServiceSOAP::ShipmentTypeEnum,
201
+ :schema_type => XSD::QName.new(NsWebservices, "ShipmentTypeEnum")
202
+ )
203
+
204
+ LiteralRegistry.register(
205
+ :class => ChannelAdvisor::ShippingServiceSOAP::APIResultOfShippingRateResult,
206
+ :schema_type => XSD::QName.new(NsWebservices, "APIResultOfShippingRateResult"),
207
+ :schema_element => [
208
+ ["status", ["ChannelAdvisor::ShippingServiceSOAP::ResultStatus", XSD::QName.new(NsWebservices, "Status")]],
209
+ ["messageCode", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "MessageCode")]],
210
+ ["message", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Message")], [0, 1]],
211
+ ["data", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Data")], [0, 1]],
212
+ ["resultData", ["ChannelAdvisor::ShippingServiceSOAP::ShippingRateResult", XSD::QName.new(NsWebservices, "ResultData")], [0, 1]]
213
+ ]
214
+ )
215
+
216
+ LiteralRegistry.register(
217
+ :class => ChannelAdvisor::ShippingServiceSOAP::ShippingRateResult,
218
+ :schema_type => XSD::QName.new(NsWebservices, "ShippingRateResult"),
219
+ :schema_element => [
220
+ ["shippingDetailList", ["ChannelAdvisor::ShippingServiceSOAP::ArrayOfShippingItemBase", XSD::QName.new(NsWebservices, "ShippingDetailList")], [0, 1]]
221
+ ]
222
+ )
223
+
224
+ LiteralRegistry.register(
225
+ :class => ChannelAdvisor::ShippingServiceSOAP::ArrayOfShippingItemBase,
226
+ :schema_type => XSD::QName.new(NsWebservices, "ArrayOfShippingItemBase"),
227
+ :schema_element => [
228
+ ["shippingItemBase", ["ChannelAdvisor::ShippingServiceSOAP::ShippingItemBase[]", XSD::QName.new(NsWebservices, "ShippingItemBase")], [0, nil]]
229
+ ]
230
+ )
231
+
232
+ LiteralRegistry.register(
233
+ :class => ChannelAdvisor::ShippingServiceSOAP::ShippingItemBase,
234
+ :schema_type => XSD::QName.new(NsWebservices, "ShippingItemBase"),
235
+ :schema_element => [
236
+ ["carrierName", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "CarrierName")], [0, 1]],
237
+ ["className", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "ClassName")], [0, 1]],
238
+ ["shippingCost", ["SOAP::SOAPDecimal", XSD::QName.new(NsWebservices, "ShippingCost")]]
239
+ ]
240
+ )
241
+
242
+ LiteralRegistry.register(
243
+ :class => ChannelAdvisor::ShippingServiceSOAP::APICredentials,
244
+ :schema_type => XSD::QName.new(NsWebservices, "APICredentials"),
245
+ :schema_element => [
246
+ ["developerKey", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "DeveloperKey")], [0, 1]],
247
+ ["password", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Password")], [0, 1]]
248
+ ]
249
+ )
250
+
251
+ LiteralRegistry.register(
252
+ :class => ChannelAdvisor::ShippingServiceSOAP::APIResultOfArrayOfShippingCarrier,
253
+ :schema_type => XSD::QName.new(NsWebservices, "APIResultOfArrayOfShippingCarrier"),
254
+ :schema_element => [
255
+ ["status", ["ChannelAdvisor::ShippingServiceSOAP::ResultStatus", XSD::QName.new(NsWebservices, "Status")]],
256
+ ["messageCode", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "MessageCode")]],
257
+ ["message", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Message")], [0, 1]],
258
+ ["data", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Data")], [0, 1]],
259
+ ["resultData", ["ChannelAdvisor::ShippingServiceSOAP::ArrayOfShippingCarrier", XSD::QName.new(NsWebservices, "ResultData")], [0, 1]]
260
+ ]
261
+ )
262
+
263
+ LiteralRegistry.register(
264
+ :class => ChannelAdvisor::ShippingServiceSOAP::ArrayOfShippingCarrier,
265
+ :schema_type => XSD::QName.new(NsWebservices, "ArrayOfShippingCarrier"),
266
+ :schema_element => [
267
+ ["shippingCarrier", ["ChannelAdvisor::ShippingServiceSOAP::ShippingCarrier[]", XSD::QName.new(NsWebservices, "ShippingCarrier")], [0, nil]]
268
+ ]
269
+ )
270
+
271
+ LiteralRegistry.register(
272
+ :class => ChannelAdvisor::ShippingServiceSOAP::ShippingCarrier,
273
+ :schema_type => XSD::QName.new(NsWebservices, "ShippingCarrier"),
274
+ :schema_element => [
275
+ ["carrierID", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "CarrierID")]],
276
+ ["classID", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "ClassID")]],
277
+ ["carrierName", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "CarrierName")], [0, 1]],
278
+ ["carrierCode", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "CarrierCode")], [0, 1]],
279
+ ["classCode", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "ClassCode")], [0, 1]],
280
+ ["className", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "ClassName")], [0, 1]]
281
+ ]
282
+ )
283
+
284
+ LiteralRegistry.register(
285
+ :class => ChannelAdvisor::ShippingServiceSOAP::APIResultOfBoolean,
286
+ :schema_type => XSD::QName.new(NsWebservices, "APIResultOfBoolean"),
287
+ :schema_element => [
288
+ ["status", ["ChannelAdvisor::ShippingServiceSOAP::ResultStatus", XSD::QName.new(NsWebservices, "Status")]],
289
+ ["messageCode", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "MessageCode")]],
290
+ ["message", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Message")], [0, 1]],
291
+ ["data", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Data")], [0, 1]],
292
+ ["resultData", ["SOAP::SOAPBoolean", XSD::QName.new(NsWebservices, "ResultData")]]
293
+ ]
294
+ )
295
+
296
+ LiteralRegistry.register(
297
+ :class => ChannelAdvisor::ShippingServiceSOAP::OrderShipmentList,
298
+ :schema_type => XSD::QName.new(NsWebservices, "OrderShipmentList"),
299
+ :schema_element => [
300
+ ["shipmentList", ["ChannelAdvisor::ShippingServiceSOAP::ArrayOfOrderShipment", XSD::QName.new(NsWebservices, "ShipmentList")], [0, 1]]
301
+ ]
302
+ )
303
+
304
+ LiteralRegistry.register(
305
+ :class => ChannelAdvisor::ShippingServiceSOAP::ArrayOfOrderShipment,
306
+ :schema_type => XSD::QName.new(NsWebservices, "ArrayOfOrderShipment"),
307
+ :schema_element => [
308
+ ["orderShipment", ["ChannelAdvisor::ShippingServiceSOAP::OrderShipment[]", XSD::QName.new(NsWebservices, "OrderShipment")], [0, nil]]
309
+ ]
310
+ )
311
+
312
+ LiteralRegistry.register(
313
+ :class => ChannelAdvisor::ShippingServiceSOAP::OrderShipment,
314
+ :schema_type => XSD::QName.new(NsWebservices, "OrderShipment"),
315
+ :schema_element => [
316
+ ["orderId", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "OrderId")]],
317
+ ["clientOrderIdentifier", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "ClientOrderIdentifier")], [0, 1]],
318
+ ["shipmentType", ["ChannelAdvisor::ShippingServiceSOAP::ShipmentTypeEnum", XSD::QName.new(NsWebservices, "ShipmentType")]],
319
+ ["partialShipment", ["ChannelAdvisor::ShippingServiceSOAP::PartialShipmentContents", XSD::QName.new(NsWebservices, "PartialShipment")], [0, 1]],
320
+ ["fullShipment", ["ChannelAdvisor::ShippingServiceSOAP::FullShipmentContents", XSD::QName.new(NsWebservices, "FullShipment")], [0, 1]]
321
+ ]
322
+ )
323
+
324
+ LiteralRegistry.register(
325
+ :class => ChannelAdvisor::ShippingServiceSOAP::PartialShipmentContents,
326
+ :schema_type => XSD::QName.new(NsWebservices, "PartialShipmentContents"),
327
+ :schema_element => [
328
+ ["shipmentContents", "ChannelAdvisor::ShippingServiceSOAP::ShipmentContents"],
329
+ ["dateShippedGMT", "SOAP::SOAPDateTime"],
330
+ ["carrierCode", "SOAP::SOAPString", [0, 1]],
331
+ ["classCode", "SOAP::SOAPString", [0, 1]],
332
+ ["trackingNumber", "SOAP::SOAPString", [0, 1]],
333
+ ["shipmentCost", "SOAP::SOAPDecimal"],
334
+ ["shipmentTaxCost", "SOAP::SOAPDecimal"],
335
+ ["insuranceCost", "SOAP::SOAPDecimal"]
336
+ ]
337
+ )
338
+
339
+ LiteralRegistry.register(
340
+ :class => ChannelAdvisor::ShippingServiceSOAP::ShipmentContents,
341
+ :schema_type => XSD::QName.new(NsWebservices, "ShipmentContents"),
342
+ :schema_element => [
343
+ ["lineItemList", ["ChannelAdvisor::ShippingServiceSOAP::ArrayOfLineItem", XSD::QName.new(NsWebservices, "LineItemList")], [0, 1]]
344
+ ]
345
+ )
346
+
347
+ LiteralRegistry.register(
348
+ :class => ChannelAdvisor::ShippingServiceSOAP::ArrayOfLineItem,
349
+ :schema_type => XSD::QName.new(NsWebservices, "ArrayOfLineItem"),
350
+ :schema_element => [
351
+ ["lineItem", ["ChannelAdvisor::ShippingServiceSOAP::LineItem[]", XSD::QName.new(NsWebservices, "LineItem")], [0, nil]]
352
+ ]
353
+ )
354
+
355
+ LiteralRegistry.register(
356
+ :class => ChannelAdvisor::ShippingServiceSOAP::LineItem,
357
+ :schema_type => XSD::QName.new(NsWebservices, "LineItem"),
358
+ :schema_element => [
359
+ ["sKU", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "SKU")], [0, 1]],
360
+ ["quantity", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "Quantity")]]
361
+ ]
362
+ )
363
+
364
+ LiteralRegistry.register(
365
+ :class => ChannelAdvisor::ShippingServiceSOAP::FullShipmentContents,
366
+ :schema_type => XSD::QName.new(NsWebservices, "FullShipmentContents"),
367
+ :schema_element => [
368
+ ["dateShippedGMT", "SOAP::SOAPDateTime"],
369
+ ["carrierCode", "SOAP::SOAPString", [0, 1]],
370
+ ["classCode", "SOAP::SOAPString", [0, 1]],
371
+ ["trackingNumber", "SOAP::SOAPString", [0, 1]],
372
+ ["shipmentCost", "SOAP::SOAPDecimal"],
373
+ ["shipmentTaxCost", "SOAP::SOAPDecimal"],
374
+ ["insuranceCost", "SOAP::SOAPDecimal"]
375
+ ]
376
+ )
377
+
378
+ LiteralRegistry.register(
379
+ :class => ChannelAdvisor::ShippingServiceSOAP::APIResultOfString,
380
+ :schema_type => XSD::QName.new(NsWebservices, "APIResultOfString"),
381
+ :schema_element => [
382
+ ["status", ["ChannelAdvisor::ShippingServiceSOAP::ResultStatus", XSD::QName.new(NsWebservices, "Status")]],
383
+ ["messageCode", ["SOAP::SOAPInt", XSD::QName.new(NsWebservices, "MessageCode")]],
384
+ ["message", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Message")], [0, 1]],
385
+ ["data", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Data")], [0, 1]],
386
+ ["resultData", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "ResultData")], [0, 1]]
387
+ ]
388
+ )
389
+
390
+ LiteralRegistry.register(
391
+ :class => ChannelAdvisor::ShippingServiceSOAP::ResultStatus,
392
+ :schema_type => XSD::QName.new(NsWebservices, "ResultStatus")
393
+ )
394
+
395
+ LiteralRegistry.register(
396
+ :class => ChannelAdvisor::ShippingServiceSOAP::ShipmentTypeEnum,
397
+ :schema_type => XSD::QName.new(NsWebservices, "ShipmentTypeEnum")
398
+ )
399
+
400
+ LiteralRegistry.register(
401
+ :class => ChannelAdvisor::ShippingServiceSOAP::GetShippingRateList,
402
+ :schema_name => XSD::QName.new(NsWebservices, "GetShippingRateList"),
403
+ :schema_element => [
404
+ ["accountID", "SOAP::SOAPString", [0, 1]],
405
+ ["cartID", "SOAP::SOAPInt"],
406
+ ["street", "SOAP::SOAPString", [0, 1]],
407
+ ["city", "SOAP::SOAPString", [0, 1]],
408
+ ["state", "SOAP::SOAPString", [0, 1]],
409
+ ["postalCode", "SOAP::SOAPString", [0, 1]],
410
+ ["country", "SOAP::SOAPString", [0, 1]]
411
+ ]
412
+ )
413
+
414
+ LiteralRegistry.register(
415
+ :class => ChannelAdvisor::ShippingServiceSOAP::GetShippingRateListResponse,
416
+ :schema_name => XSD::QName.new(NsWebservices, "GetShippingRateListResponse"),
417
+ :schema_element => [
418
+ ["getShippingRateListResult", ["ChannelAdvisor::ShippingServiceSOAP::APIResultOfShippingRateResult", XSD::QName.new(NsWebservices, "GetShippingRateListResult")], [0, 1]]
419
+ ]
420
+ )
421
+
422
+ LiteralRegistry.register(
423
+ :class => ChannelAdvisor::ShippingServiceSOAP::APICredentials,
424
+ :schema_name => XSD::QName.new(NsWebservices, "APICredentials"),
425
+ :schema_element => [
426
+ ["developerKey", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "DeveloperKey")], [0, 1]],
427
+ ["password", ["SOAP::SOAPString", XSD::QName.new(NsWebservices, "Password")], [0, 1]]
428
+ ]
429
+ )
430
+
431
+ LiteralRegistry.register(
432
+ :class => ChannelAdvisor::ShippingServiceSOAP::GetShippingCarrierList,
433
+ :schema_name => XSD::QName.new(NsWebservices, "GetShippingCarrierList"),
434
+ :schema_element => [
435
+ ["accountID", "SOAP::SOAPString", [0, 1]]
436
+ ]
437
+ )
438
+
439
+ LiteralRegistry.register(
440
+ :class => ChannelAdvisor::ShippingServiceSOAP::GetShippingCarrierListResponse,
441
+ :schema_name => XSD::QName.new(NsWebservices, "GetShippingCarrierListResponse"),
442
+ :schema_element => [
443
+ ["getShippingCarrierListResult", ["ChannelAdvisor::ShippingServiceSOAP::APIResultOfArrayOfShippingCarrier", XSD::QName.new(NsWebservices, "GetShippingCarrierListResult")], [0, 1]]
444
+ ]
445
+ )
446
+
447
+ LiteralRegistry.register(
448
+ :class => ChannelAdvisor::ShippingServiceSOAP::OrderShipped,
449
+ :schema_name => XSD::QName.new(NsWebservices, "OrderShipped"),
450
+ :schema_element => [
451
+ ["accountID", "SOAP::SOAPString", [0, 1]],
452
+ ["orderID", "SOAP::SOAPInt"],
453
+ ["dateShippedGMT", "SOAP::SOAPDateTime"],
454
+ ["carrierCode", "SOAP::SOAPString", [0, 1]],
455
+ ["classCode", "SOAP::SOAPString", [0, 1]],
456
+ ["trackingNumber", "SOAP::SOAPString", [0, 1]]
457
+ ]
458
+ )
459
+
460
+ LiteralRegistry.register(
461
+ :class => ChannelAdvisor::ShippingServiceSOAP::OrderShippedResponse,
462
+ :schema_name => XSD::QName.new(NsWebservices, "OrderShippedResponse"),
463
+ :schema_element => [
464
+ ["orderShippedResult", ["ChannelAdvisor::ShippingServiceSOAP::APIResultOfBoolean", XSD::QName.new(NsWebservices, "OrderShippedResult")], [0, 1]]
465
+ ]
466
+ )
467
+
468
+ LiteralRegistry.register(
469
+ :class => ChannelAdvisor::ShippingServiceSOAP::SubmitOrderShipmentList,
470
+ :schema_name => XSD::QName.new(NsWebservices, "SubmitOrderShipmentList"),
471
+ :schema_element => [
472
+ ["accountID", "SOAP::SOAPString", [0, 1]],
473
+ ["shipmentList", ["ChannelAdvisor::ShippingServiceSOAP::OrderShipmentList", XSD::QName.new(NsWebservices, "ShipmentList")], [0, 1]]
474
+ ]
475
+ )
476
+
477
+ LiteralRegistry.register(
478
+ :class => ChannelAdvisor::ShippingServiceSOAP::SubmitOrderShipmentListResponse,
479
+ :schema_name => XSD::QName.new(NsWebservices, "SubmitOrderShipmentListResponse"),
480
+ :schema_element => [
481
+ ["submitOrderShipmentListResult", ["ChannelAdvisor::ShippingServiceSOAP::APIResultOfBoolean", XSD::QName.new(NsWebservices, "SubmitOrderShipmentListResult")], [0, 1]]
482
+ ]
483
+ )
484
+
485
+ LiteralRegistry.register(
486
+ :class => ChannelAdvisor::ShippingServiceSOAP::Ping,
487
+ :schema_name => XSD::QName.new(NsWebservices, "Ping"),
488
+ :schema_element => []
489
+ )
490
+
491
+ LiteralRegistry.register(
492
+ :class => ChannelAdvisor::ShippingServiceSOAP::PingResponse,
493
+ :schema_name => XSD::QName.new(NsWebservices, "PingResponse"),
494
+ :schema_element => [
495
+ ["pingResult", ["ChannelAdvisor::ShippingServiceSOAP::APIResultOfString", XSD::QName.new(NsWebservices, "PingResult")], [0, 1]]
496
+ ]
497
+ )
498
+ end
499
+
500
+ end; end