pixi_client 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +34 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +4 -0
  5. data/Guardfile +45 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +171 -0
  8. data/Rakefile +8 -0
  9. data/lib/pixi_client/configuration.rb +5 -0
  10. data/lib/pixi_client/requests/add_comment_to_order.rb +20 -0
  11. data/lib/pixi_client/requests/base.rb +25 -0
  12. data/lib/pixi_client/requests/cancel_order.rb +19 -0
  13. data/lib/pixi_client/requests/cancel_order_line.rb +19 -0
  14. data/lib/pixi_client/requests/get_changed_item_stock.rb +27 -0
  15. data/lib/pixi_client/requests/get_changed_items.rb +19 -0
  16. data/lib/pixi_client/requests/get_invoice.rb +19 -0
  17. data/lib/pixi_client/requests/get_item_info.rb +19 -0
  18. data/lib/pixi_client/requests/get_item_stock_bins.rb +18 -0
  19. data/lib/pixi_client/requests/get_items_info.rb +34 -0
  20. data/lib/pixi_client/requests/get_items_on_stock_bin.rb +19 -0
  21. data/lib/pixi_client/requests/get_items_stock_history.rb +18 -0
  22. data/lib/pixi_client/requests/get_order_comments.rb +19 -0
  23. data/lib/pixi_client/requests/get_order_header.rb +19 -0
  24. data/lib/pixi_client/requests/get_order_line_history.rb +22 -0
  25. data/lib/pixi_client/requests/get_order_lines.rb +21 -0
  26. data/lib/pixi_client/requests/get_order_nr_external_by_box_nr.rb +19 -0
  27. data/lib/pixi_client/requests/get_stock.rb +19 -0
  28. data/lib/pixi_client/requests/get_stock_by_bin.rb +19 -0
  29. data/lib/pixi_client/requests/get_unshippable_orders.rb +19 -0
  30. data/lib/pixi_client/requests/itemable.rb +24 -0
  31. data/lib/pixi_client/requests/read_items.rb +23 -0
  32. data/lib/pixi_client/requests/read_orderlines.rb +18 -0
  33. data/lib/pixi_client/requests/set_stock_multiple.rb +19 -0
  34. data/lib/pixi_client/requests/shipping_get_picklist_details.rb +19 -0
  35. data/lib/pixi_client/requests/shipping_get_picklist_headers.rb +19 -0
  36. data/lib/pixi_client/requests.rb +27 -0
  37. data/lib/pixi_client/response.rb +12 -0
  38. data/lib/pixi_client/response_parser.rb +137 -0
  39. data/lib/pixi_client/version.rb +3 -0
  40. data/lib/pixi_client.rb +17 -0
  41. data/pixi_client.gemspec +32 -0
  42. data/spec/fixtures/get_order_nr_external_by_box_nr.xml +51 -0
  43. data/spec/fixtures/pixi_get_changed_item_stock.xml +140 -0
  44. data/spec/integration/pixi_get_changed_item_stock_spec.rb +85 -0
  45. data/spec/lib/pixi_client/configuration_spec.rb +47 -0
  46. data/spec/lib/pixi_client/requests/add_comment_to_order_spec.rb +48 -0
  47. data/spec/lib/pixi_client/requests/cancel_order_line_spec.rb +47 -0
  48. data/spec/lib/pixi_client/requests/cancel_order_spec.rb +47 -0
  49. data/spec/lib/pixi_client/requests/get_changed_item_stock_spec.rb +61 -0
  50. data/spec/lib/pixi_client/requests/get_changed_items_spec.rb +54 -0
  51. data/spec/lib/pixi_client/requests/get_invoice_spec.rb +46 -0
  52. data/spec/lib/pixi_client/requests/get_item_info_spec.rb +48 -0
  53. data/spec/lib/pixi_client/requests/get_item_stock_bins_spec.rb +48 -0
  54. data/spec/lib/pixi_client/requests/get_items_info_spec.rb +60 -0
  55. data/spec/lib/pixi_client/requests/get_items_on_stock_bin_spec.rb +47 -0
  56. data/spec/lib/pixi_client/requests/get_items_stock_history_spec.rb +47 -0
  57. data/spec/lib/pixi_client/requests/get_order_comments_spec.rb +46 -0
  58. data/spec/lib/pixi_client/requests/get_order_header_spec.rb +47 -0
  59. data/spec/lib/pixi_client/requests/get_order_line_history_spec.rb +47 -0
  60. data/spec/lib/pixi_client/requests/get_order_lines_spec.rb +47 -0
  61. data/spec/lib/pixi_client/requests/get_order_nr_external_by_box_nr_spec.rb +51 -0
  62. data/spec/lib/pixi_client/requests/get_stock_by_bin_spec.rb +47 -0
  63. data/spec/lib/pixi_client/requests/get_stock_spec.rb +47 -0
  64. data/spec/lib/pixi_client/requests/get_unshippable_orders_spec.rb +47 -0
  65. data/spec/lib/pixi_client/requests/itemable_shared_examples.rb +52 -0
  66. data/spec/lib/pixi_client/requests/read_items_spec.rb +56 -0
  67. data/spec/lib/pixi_client/requests/read_orderlines_spec.rb +47 -0
  68. data/spec/lib/pixi_client/requests/set_stock_multiple_spec.rb +53 -0
  69. data/spec/lib/pixi_client/requests/shipping_get_picklist_details_spec.rb +47 -0
  70. data/spec/lib/pixi_client/requests/shipping_get_picklist_headers_spec.rb +47 -0
  71. data/spec/lib/pixi_client/response_parser_spec.rb +96 -0
  72. data/spec/lib/pixi_client/soap_request_spec.rb +30 -0
  73. data/spec/lib/pixi_client_spec.rb +19 -0
  74. data/spec/spec_helper.rb +11 -0
  75. data/spec/support/test_helpers.rb +136 -0
  76. metadata +306 -0
@@ -0,0 +1,19 @@
1
+ module PixiClient
2
+ module Requests
3
+ class GetStock < Base
4
+ attr_accessor :exclude_zeros
5
+
6
+ def initialize(exclude_zeros = true)
7
+ self.exclude_zeros = exclude_zeros
8
+ end
9
+
10
+ def api_method
11
+ :pixi_shop_link_get_items_stock
12
+ end
13
+
14
+ def message
15
+ { 'ExcludeZeros' => exclude_zeros }
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module PixiClient
2
+ module Requests
3
+ class GetStockByBin < PixiClient::Requests::Base
4
+ attr_accessor :loc_id
5
+
6
+ def initialize(loc_id)
7
+ self.loc_id = loc_id
8
+ end
9
+
10
+ def api_method
11
+ :pixi_get_stock_bins
12
+ end
13
+
14
+ def message
15
+ { 'LocID' => loc_id }
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module PixiClient
2
+ module Requests
3
+ class GetUnshippableOrders < Base
4
+ attr_accessor :location
5
+
6
+ def initialize(location)
7
+ self.location = location
8
+ end
9
+
10
+ def api_method
11
+ :pixi_report_get_unshippable_orders
12
+ end
13
+
14
+ def message
15
+ { 'ViewDetails' => 1, 'IncludeCustLock' => 0, 'LocID' => location }
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,24 @@
1
+ module PixiClient
2
+ module Requests
3
+ module Itemable
4
+
5
+ def message
6
+ { item_id_key_to_param => item_id }
7
+ end
8
+
9
+ private
10
+
11
+ def item_id_key_to_param
12
+ case item_id_key
13
+ when :ean then 'EAN'
14
+ when :eanupc then 'EANUPC'
15
+ when :item_key then 'ItemKey'
16
+ when :item_nr_int then 'ItemNrInt'
17
+ when :item_nr_suppl then 'ItemNrSuppl'
18
+ else fail('Not recognized item id key')
19
+ end
20
+ end
21
+
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ module PixiClient
2
+ module Requests
3
+ class ReadItems < Base
4
+ attr_accessor :created_from, :created_to
5
+
6
+ def initialize(created_from, created_to)
7
+ self.created_from = created_from
8
+ self.created_to = created_to
9
+ end
10
+
11
+ def api_method
12
+ :pixi_read_items
13
+ end
14
+
15
+ def message
16
+ {
17
+ 'CreateDateFrom' => created_from.strftime(TIME_STRING_FORMAT),
18
+ 'CreateDateTo' => created_to.strftime(TIME_STRING_FORMAT)
19
+ }
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,18 @@
1
+ module PixiClient
2
+ module Requests
3
+ class ReadOrderlines < Base
4
+ attr_accessor :message
5
+
6
+ # Pixi* documentation says that the pixi order number
7
+ # is mandatory for this requests
8
+ def initialize(message)
9
+ self.message = message
10
+ end
11
+
12
+ def api_method
13
+ :pixi_read_orderlines
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ module PixiClient
2
+ module Requests
3
+ class SetStockMultiple < Base
4
+ attr_accessor :item_updates_xml
5
+
6
+ def initialize(item_updates_xml)
7
+ self.item_updates_xml = item_updates_xml
8
+ end
9
+
10
+ def api_method
11
+ :pixi_set_stock_multiple
12
+ end
13
+
14
+ def message
15
+ { 'ParameterXML' => item_updates_xml }
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module PixiClient
2
+ module Requests
3
+ class ShippingGetPicklistDetails < Base
4
+ attr_accessor :picklist_key
5
+
6
+ def initialize(picklist_key)
7
+ self.picklist_key = picklist_key
8
+ end
9
+
10
+ def api_method
11
+ :pixi_shipping_get_picklist_details
12
+ end
13
+
14
+ def message
15
+ { 'PicklistKey' => picklist_key }
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module PixiClient
2
+ module Requests
3
+ class ShippingGetPicklistHeaders < Base
4
+ attr_accessor :location
5
+
6
+ def initialize(location)
7
+ self.location = location
8
+ end
9
+
10
+ def api_method
11
+ :pixi_shipping_get_picklist_headers
12
+ end
13
+
14
+ def message
15
+ { 'LocID' => location }
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,27 @@
1
+ require 'pixi_client/requests/base'
2
+ require 'pixi_client/requests/itemable'
3
+ require 'pixi_client/requests/add_comment_to_order'
4
+ require 'pixi_client/requests/cancel_order'
5
+ require 'pixi_client/requests/cancel_order_line'
6
+ require 'pixi_client/requests/get_changed_item_stock'
7
+ require 'pixi_client/requests/get_changed_items'
8
+ require 'pixi_client/requests/get_invoice'
9
+ require 'pixi_client/requests/get_item_info'
10
+ require 'pixi_client/requests/get_order_comments'
11
+ require 'pixi_client/requests/set_stock_multiple'
12
+ require 'pixi_client/requests/get_item_stock_bins'
13
+ require 'pixi_client/requests/get_items_info'
14
+ require 'pixi_client/requests/get_items_on_stock_bin'
15
+ require 'pixi_client/requests/get_items_stock_history'
16
+ require 'pixi_client/requests/get_order_header'
17
+ require 'pixi_client/requests/get_order_line_history'
18
+ require 'pixi_client/requests/get_order_lines'
19
+ require 'pixi_client/requests/get_order_nr_external_by_box_nr'
20
+ require 'pixi_client/requests/get_stock'
21
+ require 'pixi_client/requests/get_stock_by_bin'
22
+ require 'pixi_client/requests/get_unshippable_orders'
23
+ require 'pixi_client/requests/read_items'
24
+ require 'pixi_client/requests/read_orderlines'
25
+ require 'pixi_client/requests/set_stock_multiple'
26
+ require 'pixi_client/requests/shipping_get_picklist_details'
27
+ require 'pixi_client/requests/shipping_get_picklist_headers'
@@ -0,0 +1,12 @@
1
+ module PixiClient
2
+ class Response
3
+ attr_accessor :rows, :sql_messages
4
+
5
+ def initialize(api_method, response_body)
6
+ parser = PixiClient::ResponseParser.new(response_body[:"#{api_method}_response"][:"#{api_method}_result"])
7
+ parser.parse!
8
+ self.rows = parser.rows
9
+ self.sql_messages = parser.sql_messages
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,137 @@
1
+ require 'ostruct'
2
+
3
+ module PixiClient
4
+ class ResponseParser
5
+ attr_accessor :rows, :sql_messages, :response_body
6
+
7
+ SQL_ROWSET1_SCHEMA_NS = 'urn:schemas-microsoft-com:sql:SqlRowSet1'
8
+
9
+ def initialize(response_body)
10
+ self.response_body = response_body
11
+ self.rows = []
12
+ self.sql_messages = []
13
+ end
14
+
15
+ def parse!
16
+ parse_sql_messages
17
+ parse_rowset
18
+ end
19
+
20
+ private
21
+
22
+ def parse_sql_messages
23
+ unparsed_messages.each do |unparsed_message|
24
+ self.sql_messages << parse_sql_message(unparsed_message)
25
+ end
26
+ end
27
+
28
+ def unparsed_messages
29
+ unless @unparsed_messages
30
+ @unparsed_messages = response_body[:sql_message] || []
31
+ @unparsed_messages = [@unparsed_messages] unless @unparsed_messages.is_a?(Array)
32
+ end
33
+
34
+ @unparsed_messages
35
+ end
36
+
37
+ def parse_sql_message(unparsed_message)
38
+ OpenStruct.new.tap do |parsed_message|
39
+ parsed_message.message_class = unparsed_message[:class]
40
+ [:line_number, :message, :number, :procedure, :server, :source, :state].each do |attr|
41
+ parsed_message.send(:"#{attr}=", unparsed_message[attr])
42
+ end
43
+ end
44
+ end
45
+
46
+ def parse_rowset
47
+ unparsed_rows.each do |unparsed_row|
48
+ self.rows << parse_row(unparsed_row)
49
+ end
50
+ end
51
+
52
+ def unparsed_rows
53
+ return [] if response_body[:sql_row_set].nil?
54
+ return [] if response_body[:sql_row_set][:diffgram].nil?
55
+ return [] if response_body[:sql_row_set][:diffgram][:sql_row_set1].nil?
56
+
57
+ rowset = response_body[:sql_row_set][:diffgram][:sql_row_set1][:row]
58
+
59
+ rowset.is_a?(Array) && rowset || [rowset]
60
+ end
61
+
62
+ def parse_row(row)
63
+ OpenStruct.new.tap do |parsed_row|
64
+ rowset_schema.each do |conversion|
65
+ attr_name = conversion[:name].to_sym
66
+ converted_value = send(conversion[:method], row[attr_name])
67
+ parsed_row.send(:"#{attr_name}=", converted_value)
68
+ end
69
+ end
70
+ end
71
+
72
+ def rowset_schema
73
+ if @rowset_schema.nil?
74
+ schemas = response_body[:sql_row_set][:schema]
75
+ schemas = [schemas] unless schemas.is_a?(Array)
76
+ @rowset_schema = schemas.find { |schema| schema[:@target_namespace] == SQL_ROWSET1_SCHEMA_NS } || fail('Impossible to process response body: any schema definition found!')
77
+ @rowset_schema = rowset_schema_to_conversion_hash(@rowset_schema)
78
+ end
79
+
80
+ @rowset_schema
81
+ end
82
+
83
+ def rowset_schema_to_conversion_hash(schema)
84
+ field_list = schema[:element][:complex_type][:sequence][:element][:complex_type][:sequence][:element]
85
+ field_list = [field_list] unless field_list.is_a?(Array)
86
+ field_list.reduce([]) do |memo, field|
87
+ conversion = {}
88
+ conversion[:name] = underscore(field[:@name])
89
+
90
+ if field[:@type]
91
+ conversion[:method] = schema_type_to_conversion_method(field[:@type])
92
+ else
93
+ conversion[:method] = schema_type_to_conversion_method(field[:simple_type][:restriction][:@base])
94
+ end
95
+
96
+ memo << conversion
97
+ end
98
+ end
99
+
100
+ def schema_type_to_conversion_method(schema_type)
101
+ case(schema_type)
102
+ when 'sqltypes:int' then :to_integer
103
+ when 'sqltypes:datetime' then :to_time
104
+ when 'sqltypes:bit' then :to_boolean
105
+ when 'sqltypes:varchar' then :identity
106
+ else :identity
107
+ end
108
+ end
109
+
110
+ # Extract from Rails ActiveSupport::Inflector
111
+ def underscore(word)
112
+ word.gsub(/::/, '/').
113
+ gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
114
+ gsub(/([a-z\d])([A-Z])/,'\1_\2').
115
+ tr("-", "_").
116
+ downcase
117
+ end
118
+
119
+ def identity(value)
120
+ value
121
+ end
122
+
123
+ def to_integer(value)
124
+ value.to_i
125
+ end
126
+
127
+ def to_boolean(value)
128
+ value.to_i == 1
129
+ end
130
+
131
+ def to_time(value)
132
+ return '' if value.nil?
133
+
134
+ Time.parse(value.to_s)
135
+ end
136
+ end
137
+ end
@@ -0,0 +1,3 @@
1
+ module PixiClient
2
+ VERSION = "0.0.5"
3
+ end
@@ -0,0 +1,17 @@
1
+ require 'pixi_client/version'
2
+ require 'pixi_client/configuration'
3
+ require 'pixi_client/response_parser'
4
+ require 'pixi_client/response'
5
+ require 'pixi_client/requests'
6
+
7
+ module PixiClient
8
+ class << self
9
+ def configuration
10
+ @configuration ||= Configuration.new
11
+ end
12
+
13
+ def configure
14
+ yield(configuration)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'pixi_client/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "pixi_client"
8
+ spec.version = PixiClient::VERSION
9
+ spec.authors = ["heragu"]
10
+ spec.email = ["daniel.hernandez@modomoto.de"]
11
+ spec.summary = %q{SOAP Pixi* API client}
12
+ spec.description = %q{SOAP Pixi* API client}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "savon", "~> 2.10.1"
22
+ spec.add_development_dependency "bundler", "~> 1.7"
23
+ spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "rspec"
25
+ spec.add_development_dependency "rspec-nc"
26
+ spec.add_development_dependency "guard"
27
+ spec.add_development_dependency "guard-rspec"
28
+ spec.add_development_dependency "pry"
29
+ spec.add_development_dependency "pry-remote"
30
+ spec.add_development_dependency "pry-nav"
31
+ spec.add_development_dependency "pry-byebug"
32
+ end
@@ -0,0 +1,51 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sql="http://schemas.microsoft.com/sqlserver/2004/SOAP" xmlns:sqlsoaptypes="http://schemas.microsoft.com/sqlserver/2004/SOAP/types" xmlns:sqlrowcount="http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlRowCount" xmlns:sqlmessage="http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlMessage" xmlns:sqlresultstream="http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlResultStream" xmlns:sqltransaction="http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlTransaction" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:method="https://rgpsql4.api.madgeniuses.net/pixiMMO/" xml:space="preserve">
3
+ <SOAP-ENV:Body>
4
+ <method:pixiGetOrderNrExternalByBoxNrResponse>
5
+ <method:pixiGetOrderNrExternalByBoxNrResult xmlns="">
6
+ <sqlresultstream:SqlRowSet xsi:type="sqlsoaptypes:SqlRowSet" msdata:UseDataSetSchemaOnly="true" msdata:UDTColumnValueWrapped="true">
7
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes">
8
+ <xsd:simpleType name="int">
9
+ <xsd:restriction base="xsd:int"/>
10
+ </xsd:simpleType>
11
+ <xsd:simpleType name="varchar">
12
+ <xsd:restriction base="xsd:string"/>
13
+ </xsd:simpleType>
14
+ </xsd:schema>
15
+ <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes" targetNamespace="urn:schemas-microsoft-com:sql:SqlRowSet1" elementFormDefault="qualified">
16
+ <xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes"/>
17
+ <xsd:element name="SqlRowSet1" msdata:IsDataSet="true" msdata:DataSetNamespace="urn:schemas-microsoft-com:sql:SqlDataSet" msdata:DataSetName="SqlDataSet">
18
+ <xsd:complexType>
19
+ <xsd:sequence>
20
+ <xsd:element name="row" minOccurs="0" maxOccurs="unbounded">
21
+ <xsd:complexType>
22
+ <xsd:sequence>
23
+ <xsd:element name="OrderNr" type="sqltypes:int" minOccurs="0"/>
24
+ <xsd:element name="OrderNrExternal" minOccurs="0">
25
+ <xsd:simpleType>
26
+ <xsd:restriction base="sqltypes:varchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
27
+ <xsd:maxLength value="50"/>
28
+ </xsd:restriction>
29
+ </xsd:simpleType>
30
+ </xsd:element>
31
+ </xsd:sequence>
32
+ </xsd:complexType>
33
+ </xsd:element>
34
+ </xsd:sequence>
35
+ </xsd:complexType>
36
+ </xsd:element>
37
+ </xsd:schema>
38
+ <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
39
+ <SqlRowSet1 xmlns="urn:schemas-microsoft-com:sql:SqlRowSet1">
40
+ <row>
41
+ <OrderNr>10000</OrderNr>
42
+ <OrderNrExternal>193498</OrderNrExternal>
43
+ </row>
44
+ </SqlRowSet1>
45
+ </diffgr:diffgram>
46
+ </sqlresultstream:SqlRowSet>
47
+ <sqlresultstream:SqlResultCode xsi:type="sqlsoaptypes:SqlResultCode">0</sqlresultstream:SqlResultCode>
48
+ </method:pixiGetOrderNrExternalByBoxNrResult>
49
+ </method:pixiGetOrderNrExternalByBoxNrResponse>
50
+ </SOAP-ENV:Body>
51
+ </SOAP-ENV:Envelope>
@@ -0,0 +1,140 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sql="http://schemas.microsoft.com/sqlserver/2004/SOAP" xmlns:sqlsoaptypes="http://schemas.microsoft.com/sqlserver/2004/SOAP/types" xmlns:sqlrowcount="http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlRowCount" xmlns:sqlmessage="http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlMessage" xmlns:sqlresultstream="http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlResultStream" xmlns:sqltransaction="http://schemas.microsoft.com/sqlserver/2004/SOAP/types/SqlTransaction" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:method="https://rgpsql4.api.madgeniuses.net/pixiMMO/" xml:space="preserve">
3
+ <SOAP-ENV:Body>
4
+ <method:pixiGetChangedItemStockResponse>
5
+ <method:pixiGetChangedItemStockResult xmlns="">
6
+ <sqlresultstream:SqlMessage xsi:type="sqlmessage:SqlMessage">
7
+ <sqlmessage:Class>0</sqlmessage:Class>
8
+ <sqlmessage:LineNumber>103</sqlmessage:LineNumber>
9
+ <sqlmessage:Message>Warning: Null value is eliminated by an aggregate or other SET operation.</sqlmessage:Message>
10
+ <sqlmessage:Number>8153</sqlmessage:Number>
11
+ <sqlmessage:Procedure>pipiGetChangedItemStock</sqlmessage:Procedure>
12
+ <sqlmessage:Server>RGPSQL4</sqlmessage:Server>
13
+ <sqlmessage:Source>Microsoft-SQL/10.0</sqlmessage:Source>
14
+ <sqlmessage:State>1</sqlmessage:State>
15
+ </sqlresultstream:SqlMessage>
16
+ <sqlresultstream:SqlRowSet xsi:type="sqlsoaptypes:SqlRowSet" msdata:UseDataSetSchemaOnly="true" msdata:UDTColumnValueWrapped="true">
17
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes">
18
+ <xsd:simpleType name="int">
19
+ <xsd:restriction base="xsd:int"/>
20
+ </xsd:simpleType>
21
+ <xsd:simpleType name="varchar">
22
+ <xsd:restriction base="xsd:string"/>
23
+ </xsd:simpleType>
24
+ <xsd:simpleType name="datetime">
25
+ <xsd:restriction base="xsd:dateTime">
26
+ <xsd:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|([1-9][0-9]{3}))-((0[1-9])|(1[012]))-((0[1-9])|([12][0-9])|(3[01]))T(([01][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.[0-9]{2}[037])?"/>
27
+ <xsd:minInclusive value="1753-01-01T00:00:00.000"/>
28
+ <xsd:maxInclusive value="9999-12-31T23:59:59.997"/>
29
+ </xsd:restriction>
30
+ </xsd:simpleType>
31
+ <xsd:simpleType name="bit">
32
+ <xsd:restriction base="xsd:boolean"/>
33
+ </xsd:simpleType>
34
+ </xsd:schema>
35
+ <xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes" targetNamespace="urn:schemas-microsoft-com:sql:SqlRowSet1" elementFormDefault="qualified">
36
+ <xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes"/>
37
+ <xsd:element name="SqlRowSet1" msdata:IsDataSet="true" msdata:DataSetNamespace="urn:schemas-microsoft-com:sql:SqlDataSet" msdata:DataSetName="SqlDataSet">
38
+ <xsd:complexType>
39
+ <xsd:sequence>
40
+ <xsd:element name="row" minOccurs="0" maxOccurs="unbounded">
41
+ <xsd:complexType>
42
+ <xsd:sequence>
43
+ <xsd:element name="ItemKey" type="sqltypes:int"/>
44
+ <xsd:element name="ItemNrInt" minOccurs="0">
45
+ <xsd:simpleType>
46
+ <xsd:restriction base="sqltypes:varchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
47
+ <xsd:maxLength value="50"/>
48
+ </xsd:restriction>
49
+ </xsd:simpleType>
50
+ </xsd:element>
51
+ <xsd:element name="EANUPC" minOccurs="0">
52
+ <xsd:simpleType>
53
+ <xsd:restriction base="sqltypes:varchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
54
+ <xsd:maxLength value="13"/>
55
+ </xsd:restriction>
56
+ </xsd:simpleType>
57
+ </xsd:element>
58
+ <xsd:element name="ItemNrSuppl" minOccurs="0">
59
+ <xsd:simpleType>
60
+ <xsd:restriction base="sqltypes:varchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
61
+ <xsd:maxLength value="50"/>
62
+ </xsd:restriction>
63
+ </xsd:simpleType>
64
+ </xsd:element>
65
+ <xsd:element name="PhysicalStock" type="sqltypes:int" minOccurs="0"/>
66
+ <xsd:element name="AvailableStock" type="sqltypes:int" minOccurs="0"/>
67
+ <xsd:element name="StockChange" type="sqltypes:int" minOccurs="0"/>
68
+ <xsd:element name="EstimatedDelivery" type="sqltypes:datetime" minOccurs="0"/>
69
+ <xsd:element name="MinStockQty" type="sqltypes:int" minOccurs="0"/>
70
+ <xsd:element name="Enabled" type="sqltypes:bit" minOccurs="0"/>
71
+ <xsd:element name="OpenSupplierOrderQTY" type="sqltypes:int" minOccurs="0"/>
72
+ <xsd:element name="UpdateDate" type="sqltypes:datetime" minOccurs="0"/>
73
+ <xsd:element name="OriginalUpdateDate" type="sqltypes:datetime" minOccurs="0"/>
74
+ <xsd:element name="BundleItem" type="sqltypes:bit" minOccurs="0"/>
75
+ <xsd:element name="RowNr" type="sqltypes:int" minOccurs="0"/>
76
+ </xsd:sequence>
77
+ </xsd:complexType>
78
+ </xsd:element>
79
+ </xsd:sequence>
80
+ </xsd:complexType>
81
+ </xsd:element>
82
+ </xsd:schema>
83
+ <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
84
+ <SqlRowSet1 xmlns="urn:schemas-microsoft-com:sql:SqlRowSet1">
85
+ <row>
86
+ <ItemKey>92664</ItemKey>
87
+ <ItemNrInt>117843-102-8</ItemNrInt>
88
+ <EANUPC>0117843102089</EANUPC>
89
+ <ItemNrSuppl>6017 1550</ItemNrSuppl>
90
+ <PhysicalStock>9</PhysicalStock>
91
+ <AvailableStock>8</AvailableStock>
92
+ <StockChange>9</StockChange>
93
+ <MinStockQty>0</MinStockQty>
94
+ <Enabled>1</Enabled>
95
+ <OpenSupplierOrderQTY>0</OpenSupplierOrderQTY>
96
+ <UpdateDate>2014-12-23T13:25:02.030</UpdateDate>
97
+ <OriginalUpdateDate>2014-12-23T13:25:02.030</OriginalUpdateDate>
98
+ <BundleItem>0</BundleItem>
99
+ <RowNr>1</RowNr>
100
+ </row>
101
+ <row>
102
+ <ItemKey>2071</ItemKey>
103
+ <ItemNrInt>112852-704-1</ItemNrInt>
104
+ <EANUPC>0112852704019</EANUPC>
105
+ <ItemNrSuppl>857819996210</ItemNrSuppl>
106
+ <PhysicalStock>17</PhysicalStock>
107
+ <AvailableStock>17</AvailableStock>
108
+ <StockChange>17</StockChange>
109
+ <MinStockQty>0</MinStockQty>
110
+ <Enabled>1</Enabled>
111
+ <OpenSupplierOrderQTY>0</OpenSupplierOrderQTY>
112
+ <UpdateDate>2014-12-23T15:00:01.510</UpdateDate>
113
+ <OriginalUpdateDate>2014-12-23T15:00:01.510</OriginalUpdateDate>
114
+ <BundleItem>0</BundleItem>
115
+ <RowNr>2</RowNr>
116
+ </row>
117
+ <row>
118
+ <ItemKey>102032</ItemKey>
119
+ <ItemNrInt>207904-504-1</ItemNrInt>
120
+ <EANUPC>0207904504010</EANUPC>
121
+ <ItemNrSuppl>W8538Q</ItemNrSuppl>
122
+ <PhysicalStock>1</PhysicalStock>
123
+ <AvailableStock>1</AvailableStock>
124
+ <StockChange>1</StockChange>
125
+ <MinStockQty>0</MinStockQty>
126
+ <Enabled>1</Enabled>
127
+ <OpenSupplierOrderQTY>0</OpenSupplierOrderQTY>
128
+ <UpdateDate>2014-12-23T17:51:02.383</UpdateDate>
129
+ <OriginalUpdateDate>2014-12-23T17:51:02.383</OriginalUpdateDate>
130
+ <BundleItem>0</BundleItem>
131
+ <RowNr>3</RowNr>
132
+ </row>
133
+ </SqlRowSet1>
134
+ </diffgr:diffgram>
135
+ </sqlresultstream:SqlRowSet>
136
+ <sqlresultstream:SqlResultCode xsi:type="sqlsoaptypes:SqlResultCode">0</sqlresultstream:SqlResultCode>
137
+ </method:pixiGetChangedItemStockResult>
138
+ </method:pixiGetChangedItemStockResponse>
139
+ </SOAP-ENV:Body>
140
+ </SOAP-ENV:Envelope>