pixi_client 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +34 -0
- data/.rspec +2 -0
- data/Gemfile +4 -0
- data/Guardfile +45 -0
- data/LICENSE.txt +22 -0
- data/README.md +171 -0
- data/Rakefile +8 -0
- data/lib/pixi_client/configuration.rb +5 -0
- data/lib/pixi_client/requests/add_comment_to_order.rb +20 -0
- data/lib/pixi_client/requests/base.rb +25 -0
- data/lib/pixi_client/requests/cancel_order.rb +19 -0
- data/lib/pixi_client/requests/cancel_order_line.rb +19 -0
- data/lib/pixi_client/requests/get_changed_item_stock.rb +27 -0
- data/lib/pixi_client/requests/get_changed_items.rb +19 -0
- data/lib/pixi_client/requests/get_invoice.rb +19 -0
- data/lib/pixi_client/requests/get_item_info.rb +19 -0
- data/lib/pixi_client/requests/get_item_stock_bins.rb +18 -0
- data/lib/pixi_client/requests/get_items_info.rb +34 -0
- data/lib/pixi_client/requests/get_items_on_stock_bin.rb +19 -0
- data/lib/pixi_client/requests/get_items_stock_history.rb +18 -0
- data/lib/pixi_client/requests/get_order_comments.rb +19 -0
- data/lib/pixi_client/requests/get_order_header.rb +19 -0
- data/lib/pixi_client/requests/get_order_line_history.rb +22 -0
- data/lib/pixi_client/requests/get_order_lines.rb +21 -0
- data/lib/pixi_client/requests/get_order_nr_external_by_box_nr.rb +19 -0
- data/lib/pixi_client/requests/get_stock.rb +19 -0
- data/lib/pixi_client/requests/get_stock_by_bin.rb +19 -0
- data/lib/pixi_client/requests/get_unshippable_orders.rb +19 -0
- data/lib/pixi_client/requests/itemable.rb +24 -0
- data/lib/pixi_client/requests/read_items.rb +23 -0
- data/lib/pixi_client/requests/read_orderlines.rb +18 -0
- data/lib/pixi_client/requests/set_stock_multiple.rb +19 -0
- data/lib/pixi_client/requests/shipping_get_picklist_details.rb +19 -0
- data/lib/pixi_client/requests/shipping_get_picklist_headers.rb +19 -0
- data/lib/pixi_client/requests.rb +27 -0
- data/lib/pixi_client/response.rb +12 -0
- data/lib/pixi_client/response_parser.rb +137 -0
- data/lib/pixi_client/version.rb +3 -0
- data/lib/pixi_client.rb +17 -0
- data/pixi_client.gemspec +32 -0
- data/spec/fixtures/get_order_nr_external_by_box_nr.xml +51 -0
- data/spec/fixtures/pixi_get_changed_item_stock.xml +140 -0
- data/spec/integration/pixi_get_changed_item_stock_spec.rb +85 -0
- data/spec/lib/pixi_client/configuration_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/add_comment_to_order_spec.rb +48 -0
- data/spec/lib/pixi_client/requests/cancel_order_line_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/cancel_order_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/get_changed_item_stock_spec.rb +61 -0
- data/spec/lib/pixi_client/requests/get_changed_items_spec.rb +54 -0
- data/spec/lib/pixi_client/requests/get_invoice_spec.rb +46 -0
- data/spec/lib/pixi_client/requests/get_item_info_spec.rb +48 -0
- data/spec/lib/pixi_client/requests/get_item_stock_bins_spec.rb +48 -0
- data/spec/lib/pixi_client/requests/get_items_info_spec.rb +60 -0
- data/spec/lib/pixi_client/requests/get_items_on_stock_bin_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/get_items_stock_history_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/get_order_comments_spec.rb +46 -0
- data/spec/lib/pixi_client/requests/get_order_header_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/get_order_line_history_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/get_order_lines_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/get_order_nr_external_by_box_nr_spec.rb +51 -0
- data/spec/lib/pixi_client/requests/get_stock_by_bin_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/get_stock_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/get_unshippable_orders_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/itemable_shared_examples.rb +52 -0
- data/spec/lib/pixi_client/requests/read_items_spec.rb +56 -0
- data/spec/lib/pixi_client/requests/read_orderlines_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/set_stock_multiple_spec.rb +53 -0
- data/spec/lib/pixi_client/requests/shipping_get_picklist_details_spec.rb +47 -0
- data/spec/lib/pixi_client/requests/shipping_get_picklist_headers_spec.rb +47 -0
- data/spec/lib/pixi_client/response_parser_spec.rb +96 -0
- data/spec/lib/pixi_client/soap_request_spec.rb +30 -0
- data/spec/lib/pixi_client_spec.rb +19 -0
- data/spec/spec_helper.rb +11 -0
- data/spec/support/test_helpers.rb +136 -0
- 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
|
data/lib/pixi_client.rb
ADDED
@@ -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
|
data/pixi_client.gemspec
ADDED
@@ -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>
|