purolator_ruby 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/lib/purolator_ruby.rb +8 -1
  3. data/lib/purolator_ruby/client.rb +19 -8
  4. data/lib/purolator_ruby/create_shipment_response.rb +15 -0
  5. data/lib/purolator_ruby/environment_credentials.rb +22 -10
  6. data/lib/purolator_ruby/get_documents_payload.rb +28 -0
  7. data/lib/purolator_ruby/get_documents_response.rb +13 -0
  8. data/lib/purolator_ruby/purolator_response.rb +36 -0
  9. data/lib/purolator_ruby/request.rb +45 -0
  10. data/lib/purolator_ruby/validate_city_postal_code_zip_payload.rb +27 -0
  11. data/lib/purolator_ruby/validate_city_postal_code_zip_response.rb +13 -0
  12. data/lib/purolator_ruby/version.rb +1 -1
  13. data/lib/purolator_ruby/wsdl_location.rb +35 -0
  14. data/spec/fixtures/ServiceAvailabilityService.wsdl +1055 -0
  15. data/spec/fixtures/ShippingDocumentsService.wsdl +704 -0
  16. data/spec/fixtures/vcr_cassettes/get_documents.yml +55 -0
  17. data/spec/fixtures/vcr_cassettes/shipping_service_integration.yml +5 -5
  18. data/spec/fixtures/vcr_cassettes/shipping_service_integration_2.yml +60 -0
  19. data/spec/fixtures/vcr_cassettes/validate_address.yml +56 -0
  20. data/spec/fixtures/vcr_cassettes/validate_address_invalid.yml +57 -0
  21. data/spec/purolator_ruby/client_spec.rb +39 -12
  22. data/spec/purolator_ruby/create_shipment_response_spec.rb +57 -0
  23. data/spec/purolator_ruby/get_documents_payload_spec.rb +16 -0
  24. data/spec/purolator_ruby/get_documents_response_spec.rb +40 -0
  25. data/spec/purolator_ruby/integration/create_shipment_spec.rb +53 -0
  26. data/spec/purolator_ruby/integration/get_documents_spec.rb +29 -0
  27. data/spec/purolator_ruby/integration/validate_address_spec.rb +51 -0
  28. data/spec/purolator_ruby/validate_city_postal_code_zip_payload_spec.rb +31 -0
  29. data/spec/purolator_ruby/wsdl_location_spec.rb +37 -0
  30. data/spec/spec_helper.rb +9 -0
  31. metadata +38 -5
  32. data/lib/purolator_ruby/create_shipment_request.rb +0 -55
  33. data/spec/purolator_ruby/create_shipment_request_spec.rb +0 -64
@@ -0,0 +1,704 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <wsdl:definitions name="ShippingDocumentsService" targetNamespace="http://purolator.com/pws/service/v1" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http://purolator.com/pws/service/v1" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
3
+ <wsdl:types>
4
+ <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/">
5
+ <xs:element name="anyType" nillable="true" type="xs:anyType"/>
6
+ <xs:element name="anyURI" nillable="true" type="xs:anyURI"/>
7
+ <xs:element name="base64Binary" nillable="true" type="xs:base64Binary"/>
8
+ <xs:element name="boolean" nillable="true" type="xs:boolean"/>
9
+ <xs:element name="byte" nillable="true" type="xs:byte"/>
10
+ <xs:element name="dateTime" nillable="true" type="xs:dateTime"/>
11
+ <xs:element name="decimal" nillable="true" type="xs:decimal"/>
12
+ <xs:element name="double" nillable="true" type="xs:double"/>
13
+ <xs:element name="float" nillable="true" type="xs:float"/>
14
+ <xs:element name="int" nillable="true" type="xs:int"/>
15
+ <xs:element name="long" nillable="true" type="xs:long"/>
16
+ <xs:element name="QName" nillable="true" type="xs:QName"/>
17
+ <xs:element name="short" nillable="true" type="xs:short"/>
18
+ <xs:element name="string" nillable="true" type="xs:string"/>
19
+ <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte"/>
20
+ <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt"/>
21
+ <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong"/>
22
+ <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort"/>
23
+ <xs:element name="char" nillable="true" type="tns:char"/>
24
+ <xs:simpleType name="char">
25
+ <xs:restriction base="xs:int"/>
26
+ </xs:simpleType>
27
+ <xs:element name="duration" nillable="true" type="tns:duration"/>
28
+ <xs:simpleType name="duration">
29
+ <xs:restriction base="xs:duration">
30
+ <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?"/>
31
+ <xs:minInclusive value="-P10675199DT2H48M5.4775808S"/>
32
+ <xs:maxInclusive value="P10675199DT2H48M5.4775807S"/>
33
+ </xs:restriction>
34
+ </xs:simpleType>
35
+ <xs:element name="guid" nillable="true" type="tns:guid"/>
36
+ <xs:simpleType name="guid">
37
+ <xs:restriction base="xs:string">
38
+ <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}"/>
39
+ </xs:restriction>
40
+ </xs:simpleType>
41
+ <xs:attribute name="FactoryType" type="xs:QName"/>
42
+ <xs:attribute name="Id" type="xs:ID"/>
43
+ <xs:attribute name="Ref" type="xs:IDREF"/>
44
+ </xs:schema>
45
+ <xsd:schema elementFormDefault="qualified" targetNamespace="http://purolator.com/pws/datatypes/v1" xmlns:tns="http://purolator.com/pws/datatypes/v1">
46
+ <xsd:complexType name="GetDocumentsRequestContainer">
47
+ <xsd:annotation>
48
+ <xsd:appinfo/>
49
+ <xsd:documentation>GetDocumentsRequest</xsd:documentation>
50
+ </xsd:annotation>
51
+ <xsd:complexContent mixed="false">
52
+ <xsd:extension base="tns:RequestContainer">
53
+ <xsd:sequence>
54
+ <xsd:element minOccurs="0" maxOccurs="1" nillable="true" name="OutputType" type="xsd:string">
55
+ <xsd:annotation>
56
+ <xsd:appinfo/>
57
+ <xsd:documentation>OutputType - string</xsd:documentation>
58
+ </xsd:annotation>
59
+ </xsd:element>
60
+ <xsd:element minOccurs="0" maxOccurs="1" nillable="true" name="Synchronous" type="xsd:boolean">
61
+ <xsd:annotation>
62
+ <xsd:appinfo/>
63
+ <xsd:documentation>Synchronous - boolean</xsd:documentation>
64
+ </xsd:annotation>
65
+ </xsd:element>
66
+ <xsd:element name="DocumentCriterium" nillable="true" type="tns:ArrayOfDocumentCriteria">
67
+ <xsd:annotation>
68
+ <xsd:appinfo/>
69
+ <xsd:documentation>DocumentCriterium - DocumentCriteria[]</xsd:documentation>
70
+ </xsd:annotation>
71
+ </xsd:element>
72
+ </xsd:sequence>
73
+ </xsd:extension>
74
+ </xsd:complexContent>
75
+ </xsd:complexType>
76
+ <xsd:element name="GetDocumentsRequestContainer" nillable="true" type="tns:GetDocumentsRequestContainer"/>
77
+ <xsd:complexType name="RequestContainer">
78
+ <xsd:sequence/>
79
+ </xsd:complexType>
80
+ <xsd:element name="RequestContainer" nillable="true" type="tns:RequestContainer"/>
81
+ <xsd:complexType name="ArrayOfDocumentCriteria">
82
+ <xsd:sequence>
83
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="DocumentCriteria" nillable="true" type="tns:DocumentCriteria"/>
84
+ </xsd:sequence>
85
+ </xsd:complexType>
86
+ <xsd:element name="ArrayOfDocumentCriteria" nillable="true" type="tns:ArrayOfDocumentCriteria"/>
87
+ <xsd:complexType name="DocumentCriteria">
88
+ <xsd:annotation>
89
+ <xsd:appinfo/>
90
+ <xsd:documentation>DocumentCriteria</xsd:documentation>
91
+ </xsd:annotation>
92
+ <xsd:sequence>
93
+ <xsd:element name="PIN" nillable="true" type="tns:PIN">
94
+ <xsd:annotation>
95
+ <xsd:appinfo/>
96
+ <xsd:documentation>PIN - PIN</xsd:documentation>
97
+ </xsd:annotation>
98
+ </xsd:element>
99
+ <xsd:element minOccurs="0" name="DocumentTypes" nillable="true" type="tns:DocumentTypes">
100
+ <xsd:annotation>
101
+ <xsd:appinfo/>
102
+ <xsd:documentation>DocumentTypes - string[]</xsd:documentation>
103
+ </xsd:annotation>
104
+ </xsd:element>
105
+ </xsd:sequence>
106
+ </xsd:complexType>
107
+ <xsd:element name="DocumentCriteria" nillable="true" type="tns:DocumentCriteria"/>
108
+ <xsd:complexType name="PIN">
109
+ <xsd:annotation>
110
+ <xsd:appinfo/>
111
+ <xsd:documentation>PIN</xsd:documentation>
112
+ </xsd:annotation>
113
+ <xsd:sequence>
114
+ <xsd:element name="Value" nillable="true" type="xsd:string">
115
+ <xsd:annotation>
116
+ <xsd:appinfo/>
117
+ <xsd:documentation>Value - string</xsd:documentation>
118
+ </xsd:annotation>
119
+ </xsd:element>
120
+ </xsd:sequence>
121
+ </xsd:complexType>
122
+ <xsd:element name="PIN" nillable="true" type="tns:PIN"/>
123
+ <xsd:complexType name="DocumentTypes">
124
+ <xsd:annotation>
125
+ <xsd:appinfo>
126
+ <GenericType Name="DocumentTypes" Namespace="http://purolator.com/pws/datatypes/v1" xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
127
+ <GenericParameter Name="string" Namespace="http://www.w3.org/2001/XMLSchema"/>
128
+ </GenericType>
129
+ </xsd:appinfo>
130
+ </xsd:annotation>
131
+ <xsd:sequence>
132
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="DocumentType" nillable="true" type="xsd:string"/>
133
+ </xsd:sequence>
134
+ </xsd:complexType>
135
+ <xsd:element name="DocumentTypes" nillable="true" type="tns:DocumentTypes"/>
136
+ <xsd:element name="GetDocumentsRequest" nillable="true" type="tns:GetDocumentsRequestContainer"/>
137
+ <xsd:complexType name="RequestContext">
138
+ <xsd:annotation>
139
+ <xsd:appinfo/>
140
+ <xsd:documentation>RequestContext</xsd:documentation>
141
+ </xsd:annotation>
142
+ <xsd:sequence>
143
+ <xsd:element name="Version" nillable="true" type="xsd:string">
144
+ <xsd:annotation>
145
+ <xsd:appinfo/>
146
+ <xsd:documentation>Version - string</xsd:documentation>
147
+ </xsd:annotation>
148
+ </xsd:element>
149
+ <xsd:element name="Language" type="tns:Language">
150
+ <xsd:annotation>
151
+ <xsd:appinfo/>
152
+ <xsd:documentation>Language - string</xsd:documentation>
153
+ </xsd:annotation>
154
+ </xsd:element>
155
+ <xsd:element name="GroupID" nillable="true" type="xsd:string">
156
+ <xsd:annotation>
157
+ <xsd:appinfo/>
158
+ <xsd:documentation>GroupID - string</xsd:documentation>
159
+ </xsd:annotation>
160
+ </xsd:element>
161
+ <xsd:element name="RequestReference" nillable="true" type="xsd:string">
162
+ <xsd:annotation>
163
+ <xsd:appinfo/>
164
+ <xsd:documentation>RequestReference - string</xsd:documentation>
165
+ </xsd:annotation>
166
+ </xsd:element>
167
+ <xsd:element minOccurs="0" name="UserToken" nillable="true" type="xsd:string">
168
+ <xsd:annotation>
169
+ <xsd:appinfo/>
170
+ <xsd:documentation>UserToken - string</xsd:documentation>
171
+ </xsd:annotation>
172
+ </xsd:element>
173
+ </xsd:sequence>
174
+ </xsd:complexType>
175
+ <xsd:element name="RequestContext" nillable="true" type="tns:RequestContext"/>
176
+ <xsd:simpleType name="Language">
177
+ <xsd:annotation>
178
+ <xsd:appinfo/>
179
+ <xsd:documentation>Language - enum</xsd:documentation>
180
+ </xsd:annotation>
181
+ <xsd:restriction base="xsd:string">
182
+ <xsd:enumeration value="en">
183
+ <xsd:annotation>
184
+ <xsd:documentation>en</xsd:documentation>
185
+ </xsd:annotation>
186
+ </xsd:enumeration>
187
+ <xsd:enumeration value="fr">
188
+ <xsd:annotation>
189
+ <xsd:documentation>fr</xsd:documentation>
190
+ </xsd:annotation>
191
+ </xsd:enumeration>
192
+ </xsd:restriction>
193
+ </xsd:simpleType>
194
+ <xsd:element name="Language" nillable="true" type="tns:Language"/>
195
+ <xsd:complexType name="GetDocumentsResponseContainer">
196
+ <xsd:annotation>
197
+ <xsd:appinfo/>
198
+ <xsd:documentation>GetDocumentsResponse</xsd:documentation>
199
+ </xsd:annotation>
200
+ <xsd:complexContent mixed="false">
201
+ <xsd:extension base="tns:ResponseContainer">
202
+ <xsd:sequence>
203
+ <xsd:element minOccurs="0" name="Documents" nillable="true" type="tns:ArrayOfDocument">
204
+ <xsd:annotation>
205
+ <xsd:appinfo/>
206
+ <xsd:documentation>Documents - Document[]</xsd:documentation>
207
+ </xsd:annotation>
208
+ </xsd:element>
209
+ </xsd:sequence>
210
+ </xsd:extension>
211
+ </xsd:complexContent>
212
+ </xsd:complexType>
213
+ <xsd:element name="GetDocumentsResponseContainer" nillable="true" type="tns:GetDocumentsResponseContainer"/>
214
+ <xsd:complexType name="ResponseContainer">
215
+ <xsd:sequence>
216
+ <xsd:element name="ResponseInformation" nillable="true" type="tns:ResponseInformation">
217
+ <xsd:annotation>
218
+ <xsd:appinfo/>
219
+ <xsd:documentation>ResponseInformation - ResponseInformation</xsd:documentation>
220
+ </xsd:annotation>
221
+ </xsd:element>
222
+ </xsd:sequence>
223
+ </xsd:complexType>
224
+ <xsd:element name="ResponseContainer" nillable="true" type="tns:ResponseContainer"/>
225
+ <xsd:complexType name="ResponseInformation">
226
+ <xsd:annotation>
227
+ <xsd:appinfo/>
228
+ <xsd:documentation>ResponseInformation</xsd:documentation>
229
+ </xsd:annotation>
230
+ <xsd:sequence>
231
+ <xsd:element name="Errors" nillable="true" type="tns:ArrayOfError">
232
+ <xsd:annotation>
233
+ <xsd:appinfo/>
234
+ <xsd:documentation>Errors - Error[]</xsd:documentation>
235
+ </xsd:annotation>
236
+ </xsd:element>
237
+ <xsd:element name="InformationalMessages" nillable="true" type="tns:ArrayOfInformationalMessage">
238
+ <xsd:annotation>
239
+ <xsd:appinfo/>
240
+ <xsd:documentation>InformationalMessages - InformationalMessage[]</xsd:documentation>
241
+ </xsd:annotation>
242
+ </xsd:element>
243
+ </xsd:sequence>
244
+ </xsd:complexType>
245
+ <xsd:element name="ResponseInformation" nillable="true" type="tns:ResponseInformation"/>
246
+ <xsd:complexType name="ArrayOfError">
247
+ <xsd:sequence>
248
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="Error" nillable="true" type="tns:Error"/>
249
+ </xsd:sequence>
250
+ </xsd:complexType>
251
+ <xsd:element name="ArrayOfError" nillable="true" type="tns:ArrayOfError"/>
252
+ <xsd:complexType name="Error">
253
+ <xsd:annotation>
254
+ <xsd:appinfo/>
255
+ <xsd:documentation>Error</xsd:documentation>
256
+ </xsd:annotation>
257
+ <xsd:sequence>
258
+ <xsd:element name="Code" nillable="true" type="xsd:string">
259
+ <xsd:annotation>
260
+ <xsd:appinfo/>
261
+ <xsd:documentation>Code - string</xsd:documentation>
262
+ </xsd:annotation>
263
+ </xsd:element>
264
+ <xsd:element name="Description" nillable="true" type="xsd:string">
265
+ <xsd:annotation>
266
+ <xsd:appinfo/>
267
+ <xsd:documentation>Description - string</xsd:documentation>
268
+ </xsd:annotation>
269
+ </xsd:element>
270
+ <xsd:element name="AdditionalInformation" nillable="true" type="xsd:string">
271
+ <xsd:annotation>
272
+ <xsd:appinfo/>
273
+ <xsd:documentation>AdditionalInformation - string</xsd:documentation>
274
+ </xsd:annotation>
275
+ </xsd:element>
276
+ </xsd:sequence>
277
+ </xsd:complexType>
278
+ <xsd:element name="Error" nillable="true" type="tns:Error"/>
279
+ <xsd:complexType name="ArrayOfInformationalMessage">
280
+ <xsd:sequence>
281
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="InformationalMessage" nillable="true" type="tns:InformationalMessage"/>
282
+ </xsd:sequence>
283
+ </xsd:complexType>
284
+ <xsd:element name="ArrayOfInformationalMessage" nillable="true" type="tns:ArrayOfInformationalMessage"/>
285
+ <xsd:complexType name="InformationalMessage">
286
+ <xsd:annotation>
287
+ <xsd:appinfo/>
288
+ <xsd:documentation>InformationalMessage</xsd:documentation>
289
+ </xsd:annotation>
290
+ <xsd:sequence>
291
+ <xsd:element name="Code" nillable="true" type="xsd:string">
292
+ <xsd:annotation>
293
+ <xsd:appinfo/>
294
+ <xsd:documentation>Code - string</xsd:documentation>
295
+ </xsd:annotation>
296
+ </xsd:element>
297
+ <xsd:element name="Message" nillable="true" type="xsd:string">
298
+ <xsd:annotation>
299
+ <xsd:appinfo/>
300
+ <xsd:documentation>Message - string</xsd:documentation>
301
+ </xsd:annotation>
302
+ </xsd:element>
303
+ </xsd:sequence>
304
+ </xsd:complexType>
305
+ <xsd:element name="InformationalMessage" nillable="true" type="tns:InformationalMessage"/>
306
+ <xsd:complexType name="ArrayOfDocument">
307
+ <xsd:sequence>
308
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="Document" nillable="true" type="tns:Document"/>
309
+ </xsd:sequence>
310
+ </xsd:complexType>
311
+ <xsd:element name="ArrayOfDocument" nillable="true" type="tns:ArrayOfDocument"/>
312
+ <xsd:complexType name="Document">
313
+ <xsd:annotation>
314
+ <xsd:appinfo/>
315
+ <xsd:documentation>Document</xsd:documentation>
316
+ </xsd:annotation>
317
+ <xsd:sequence>
318
+ <xsd:element name="PIN" nillable="true" type="tns:PIN">
319
+ <xsd:annotation>
320
+ <xsd:appinfo/>
321
+ <xsd:documentation>PIN - PIN</xsd:documentation>
322
+ </xsd:annotation>
323
+ </xsd:element>
324
+ <xsd:element name="DocumentDetails" nillable="true" type="tns:ArrayOfDocumentDetail">
325
+ <xsd:annotation>
326
+ <xsd:appinfo/>
327
+ <xsd:documentation>DocumentDetails - DocumentDetail[]</xsd:documentation>
328
+ </xsd:annotation>
329
+ </xsd:element>
330
+ </xsd:sequence>
331
+ </xsd:complexType>
332
+ <xsd:element name="Document" nillable="true" type="tns:Document"/>
333
+ <xsd:complexType name="ArrayOfDocumentDetail">
334
+ <xsd:sequence>
335
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="DocumentDetail" nillable="true" type="tns:DocumentDetail"/>
336
+ </xsd:sequence>
337
+ </xsd:complexType>
338
+ <xsd:element name="ArrayOfDocumentDetail" nillable="true" type="tns:ArrayOfDocumentDetail"/>
339
+ <xsd:complexType name="DocumentDetail">
340
+ <xsd:annotation>
341
+ <xsd:appinfo/>
342
+ <xsd:documentation>DocumentDetail</xsd:documentation>
343
+ </xsd:annotation>
344
+ <xsd:sequence>
345
+ <xsd:element name="DocumentType" nillable="true" type="xsd:string">
346
+ <xsd:annotation>
347
+ <xsd:appinfo/>
348
+ <xsd:documentation>DocumentType - DocumentType</xsd:documentation>
349
+ </xsd:annotation>
350
+ </xsd:element>
351
+ <xsd:element name="Description" nillable="true" type="xsd:string">
352
+ <xsd:annotation>
353
+ <xsd:appinfo/>
354
+ <xsd:documentation>Description - string</xsd:documentation>
355
+ </xsd:annotation>
356
+ </xsd:element>
357
+ <xsd:element name="DocumentStatus" type="tns:DocumentStatus">
358
+ <xsd:annotation>
359
+ <xsd:appinfo/>
360
+ <xsd:documentation>DocumentType - DocumentStatus</xsd:documentation>
361
+ </xsd:annotation>
362
+ </xsd:element>
363
+ <xsd:element name="URL" nillable="true" type="xsd:string">
364
+ <xsd:annotation>
365
+ <xsd:appinfo/>
366
+ <xsd:documentation>URL - string</xsd:documentation>
367
+ </xsd:annotation>
368
+ </xsd:element>
369
+ <xsd:element name="Data" nillable="true" type="xsd:string">
370
+ <xsd:annotation>
371
+ <xsd:appinfo/>
372
+ <xsd:documentation>Data - string</xsd:documentation>
373
+ </xsd:annotation>
374
+ </xsd:element>
375
+ </xsd:sequence>
376
+ </xsd:complexType>
377
+ <xsd:element name="DocumentDetail" nillable="true" type="tns:DocumentDetail"/>
378
+ <xsd:simpleType name="DocumentStatus">
379
+ <xsd:annotation>
380
+ <xsd:appinfo/>
381
+ <xsd:documentation>DocumentStatus - enum</xsd:documentation>
382
+ </xsd:annotation>
383
+ <xsd:restriction base="xsd:string">
384
+ <xsd:enumeration value="Pending">
385
+ <xsd:annotation>
386
+ <xsd:documentation>Pending</xsd:documentation>
387
+ </xsd:annotation>
388
+ </xsd:enumeration>
389
+ <xsd:enumeration value="Queued">
390
+ <xsd:annotation>
391
+ <xsd:documentation>Queued</xsd:documentation>
392
+ </xsd:annotation>
393
+ </xsd:enumeration>
394
+ <xsd:enumeration value="Processing">
395
+ <xsd:annotation>
396
+ <xsd:documentation>Processing</xsd:documentation>
397
+ </xsd:annotation>
398
+ </xsd:enumeration>
399
+ <xsd:enumeration value="Completed">
400
+ <xsd:annotation>
401
+ <xsd:documentation>Completed</xsd:documentation>
402
+ </xsd:annotation>
403
+ </xsd:enumeration>
404
+ <xsd:enumeration value="Error">
405
+ <xsd:annotation>
406
+ <xsd:documentation>Error</xsd:documentation>
407
+ </xsd:annotation>
408
+ </xsd:enumeration>
409
+ </xsd:restriction>
410
+ </xsd:simpleType>
411
+ <xsd:element name="DocumentStatus" nillable="true" type="tns:DocumentStatus"/>
412
+ <xsd:element name="GetDocumentsResponse" nillable="true" type="tns:GetDocumentsResponseContainer"/>
413
+ <xsd:complexType name="ResponseContext">
414
+ <xsd:annotation>
415
+ <xsd:appinfo/>
416
+ <xsd:documentation>ResponseContext</xsd:documentation>
417
+ </xsd:annotation>
418
+ <xsd:sequence>
419
+ <xsd:element name="ResponseReference" nillable="true" type="xsd:string">
420
+ <xsd:annotation>
421
+ <xsd:appinfo/>
422
+ <xsd:documentation>ResponseReference - string</xsd:documentation>
423
+ </xsd:annotation>
424
+ </xsd:element>
425
+ </xsd:sequence>
426
+ </xsd:complexType>
427
+ <xsd:element name="ResponseContext" nillable="true" type="tns:ResponseContext"/>
428
+ <xsd:complexType name="GetShipmentManifestDocumentRequestContainer">
429
+ <xsd:annotation>
430
+ <xsd:appinfo/>
431
+ <xsd:documentation>GetShipmentManifestDocumentRequest</xsd:documentation>
432
+ </xsd:annotation>
433
+ <xsd:complexContent mixed="false">
434
+ <xsd:extension base="tns:RequestContainer">
435
+ <xsd:sequence>
436
+ <xsd:element name="ShipmentManifestDocumentCriterium" nillable="true" type="tns:ArrayOfShipmentManifestDocumentCriteria">
437
+ <xsd:annotation>
438
+ <xsd:appinfo/>
439
+ <xsd:documentation>ShipmentManifestDocumentCriterium - ShipmentManifestDocumentCriteria[]</xsd:documentation>
440
+ </xsd:annotation>
441
+ </xsd:element>
442
+ </xsd:sequence>
443
+ </xsd:extension>
444
+ </xsd:complexContent>
445
+ </xsd:complexType>
446
+ <xsd:element name="GetShipmentManifestDocumentRequestContainer" nillable="true" type="tns:GetShipmentManifestDocumentRequestContainer"/>
447
+ <xsd:complexType name="ArrayOfShipmentManifestDocumentCriteria">
448
+ <xsd:sequence>
449
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="ShipmentManifestDocumentCriteria" nillable="true" type="tns:ShipmentManifestDocumentCriteria"/>
450
+ </xsd:sequence>
451
+ </xsd:complexType>
452
+ <xsd:element name="ArrayOfShipmentManifestDocumentCriteria" nillable="true" type="tns:ArrayOfShipmentManifestDocumentCriteria"/>
453
+ <xsd:complexType name="ShipmentManifestDocumentCriteria">
454
+ <xsd:annotation>
455
+ <xsd:appinfo/>
456
+ <xsd:documentation>ShipmentManifestDocumentCriteria</xsd:documentation>
457
+ </xsd:annotation>
458
+ <xsd:sequence>
459
+ <xsd:element name="ManifestDate" nillable="true" type="xsd:string">
460
+ <xsd:annotation>
461
+ <xsd:appinfo/>
462
+ <xsd:documentation>ShipmentManifestDate - string</xsd:documentation>
463
+ </xsd:annotation>
464
+ </xsd:element>
465
+ </xsd:sequence>
466
+ </xsd:complexType>
467
+ <xsd:element name="ShipmentManifestDocumentCriteria" nillable="true" type="tns:ShipmentManifestDocumentCriteria"/>
468
+ <xsd:element name="GetShipmentManifestDocumentRequest" nillable="true" type="tns:GetShipmentManifestDocumentRequestContainer"/>
469
+ <xsd:complexType name="GetShipmentManifestDocumentResponseContainer">
470
+ <xsd:annotation>
471
+ <xsd:appinfo/>
472
+ <xsd:documentation>GetShipmentManifestDocumentResponse</xsd:documentation>
473
+ </xsd:annotation>
474
+ <xsd:complexContent mixed="false">
475
+ <xsd:extension base="tns:ResponseContainer">
476
+ <xsd:sequence>
477
+ <xsd:element minOccurs="0" name="ManifestBatches" nillable="true" type="tns:ArrayOfManifestBatch">
478
+ <xsd:annotation>
479
+ <xsd:appinfo/>
480
+ <xsd:documentation>ManifestBatches - ManifestBatch[]</xsd:documentation>
481
+ </xsd:annotation>
482
+ </xsd:element>
483
+ </xsd:sequence>
484
+ </xsd:extension>
485
+ </xsd:complexContent>
486
+ </xsd:complexType>
487
+ <xsd:element name="GetShipmentManifestDocumentResponseContainer" nillable="true" type="tns:GetShipmentManifestDocumentResponseContainer"/>
488
+ <xsd:complexType name="ArrayOfManifestBatch">
489
+ <xsd:sequence>
490
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="ManifestBatch" nillable="true" type="tns:ManifestBatch"/>
491
+ </xsd:sequence>
492
+ </xsd:complexType>
493
+ <xsd:element name="ArrayOfManifestBatch" nillable="true" type="tns:ArrayOfManifestBatch"/>
494
+ <xsd:complexType name="ManifestBatch">
495
+ <xsd:annotation>
496
+ <xsd:appinfo/>
497
+ <xsd:documentation>Document</xsd:documentation>
498
+ </xsd:annotation>
499
+ <xsd:sequence>
500
+ <xsd:element name="ShipmentManifestDate" nillable="true" type="xsd:string">
501
+ <xsd:annotation>
502
+ <xsd:appinfo/>
503
+ <xsd:documentation>string - ShipmentManifestDate</xsd:documentation>
504
+ </xsd:annotation>
505
+ </xsd:element>
506
+ <xsd:element name="ManifestCloseDateTime" nillable="true" type="xsd:string">
507
+ <xsd:annotation>
508
+ <xsd:appinfo/>
509
+ <xsd:documentation>string - ManifestCloseDateTime</xsd:documentation>
510
+ </xsd:annotation>
511
+ </xsd:element>
512
+ <xsd:element name="ManifestBatchDetails" nillable="true" type="tns:ArrayOfManifestBatchDetail">
513
+ <xsd:annotation>
514
+ <xsd:appinfo/>
515
+ <xsd:documentation>ManifestBatchDetails - ManifestBatchDetail[]</xsd:documentation>
516
+ </xsd:annotation>
517
+ </xsd:element>
518
+ </xsd:sequence>
519
+ </xsd:complexType>
520
+ <xsd:element name="ManifestBatch" nillable="true" type="tns:ManifestBatch"/>
521
+ <xsd:complexType name="ArrayOfManifestBatchDetail">
522
+ <xsd:sequence>
523
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="ManifestBatchDetail" nillable="true" type="tns:ManifestBatchDetail"/>
524
+ </xsd:sequence>
525
+ </xsd:complexType>
526
+ <xsd:element name="ArrayOfManifestBatchDetail" nillable="true" type="tns:ArrayOfManifestBatchDetail"/>
527
+ <xsd:complexType name="ManifestBatchDetail">
528
+ <xsd:annotation>
529
+ <xsd:appinfo/>
530
+ <xsd:documentation>ManifestBatchDetail</xsd:documentation>
531
+ </xsd:annotation>
532
+ <xsd:sequence>
533
+ <xsd:element name="DocumentType" nillable="true" type="xsd:string">
534
+ <xsd:annotation>
535
+ <xsd:appinfo/>
536
+ <xsd:documentation>DocumentType - DocumentType</xsd:documentation>
537
+ </xsd:annotation>
538
+ </xsd:element>
539
+ <xsd:element name="Description" nillable="true" type="xsd:string">
540
+ <xsd:annotation>
541
+ <xsd:appinfo/>
542
+ <xsd:documentation>Description - string</xsd:documentation>
543
+ </xsd:annotation>
544
+ </xsd:element>
545
+ <xsd:element name="DocumentStatus" type="tns:DocumentStatus">
546
+ <xsd:annotation>
547
+ <xsd:appinfo/>
548
+ <xsd:documentation>DocumentType - DocumentStatus</xsd:documentation>
549
+ </xsd:annotation>
550
+ </xsd:element>
551
+ <xsd:element name="URL" nillable="true" type="xsd:string">
552
+ <xsd:annotation>
553
+ <xsd:appinfo/>
554
+ <xsd:documentation>URL - string</xsd:documentation>
555
+ </xsd:annotation>
556
+ </xsd:element>
557
+ </xsd:sequence>
558
+ </xsd:complexType>
559
+ <xsd:element name="ManifestBatchDetail" nillable="true" type="tns:ManifestBatchDetail"/>
560
+ <xsd:element name="GetShipmentManifestDocumentResponse" nillable="true" type="tns:GetShipmentManifestDocumentResponseContainer"/>
561
+ </xsd:schema>
562
+ <xsd:schema elementFormDefault="qualified" targetNamespace="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation" xmlns:tns="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation">
563
+ <xsd:complexType name="ValidationFault">
564
+ <xsd:annotation>
565
+ <xsd:appinfo/>
566
+ <xsd:documentation>This class is used to return information to a WCF client when validation fails on a service parameter.</xsd:documentation>
567
+ </xsd:annotation>
568
+ <xsd:sequence>
569
+ <xsd:element minOccurs="0" name="Details" nillable="true" type="q1:ArrayOfValidationDetail" xmlns:q1="http://schemas.datacontract.org/2004/07/Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF">
570
+ <xsd:annotation>
571
+ <xsd:appinfo/>
572
+ <xsd:documentation/>
573
+ </xsd:annotation>
574
+ </xsd:element>
575
+ </xsd:sequence>
576
+ </xsd:complexType>
577
+ <xsd:element name="ValidationFault" nillable="true" type="tns:ValidationFault"/>
578
+ </xsd:schema>
579
+ <xsd:schema elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF" xmlns:tns="http://schemas.datacontract.org/2004/07/Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF">
580
+ <xsd:complexType name="ArrayOfValidationDetail">
581
+ <xsd:sequence>
582
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="ValidationDetail" nillable="true" type="tns:ValidationDetail"/>
583
+ </xsd:sequence>
584
+ </xsd:complexType>
585
+ <xsd:element name="ArrayOfValidationDetail" nillable="true" type="tns:ArrayOfValidationDetail"/>
586
+ <xsd:complexType name="ValidationDetail">
587
+ <xsd:annotation>
588
+ <xsd:appinfo/>
589
+ <xsd:documentation>This class holds the results of a single validation. Effectively, it's the same as a ValidationResult, but creating a separate class allows us to mark up a DataContract with impunity.</xsd:documentation>
590
+ </xsd:annotation>
591
+ <xsd:sequence>
592
+ <xsd:element minOccurs="0" name="Key" nillable="true" type="xsd:string">
593
+ <xsd:annotation>
594
+ <xsd:appinfo/>
595
+ <xsd:documentation>Get or set a name describing the location of the validation result.</xsd:documentation>
596
+ </xsd:annotation>
597
+ </xsd:element>
598
+ <xsd:element minOccurs="0" name="Message" nillable="true" type="xsd:string">
599
+ <xsd:annotation>
600
+ <xsd:appinfo/>
601
+ <xsd:documentation>Get or set a message describing the validation failure.</xsd:documentation>
602
+ </xsd:annotation>
603
+ </xsd:element>
604
+ <xsd:element minOccurs="0" name="Tag" nillable="true" type="xsd:string">
605
+ <xsd:annotation>
606
+ <xsd:appinfo/>
607
+ <xsd:documentation>Get or set a value characterizing the fault.</xsd:documentation>
608
+ </xsd:annotation>
609
+ </xsd:element>
610
+ </xsd:sequence>
611
+ </xsd:complexType>
612
+ <xsd:element name="ValidationDetail" nillable="true" type="tns:ValidationDetail"/>
613
+ </xsd:schema>
614
+ </wsdl:types>
615
+ <wsdl:message name="GetDocumentsRequest">
616
+ <wsdl:part name="GetDocumentsRequest" element="q2:GetDocumentsRequest" xmlns:q2="http://purolator.com/pws/datatypes/v1"/>
617
+ </wsdl:message>
618
+ <wsdl:message name="GetDocumentsRequest_Headers">
619
+ <wsdl:part name="RequestContext" element="q3:RequestContext" xmlns:q3="http://purolator.com/pws/datatypes/v1"/>
620
+ </wsdl:message>
621
+ <wsdl:message name="GetDocumentsResponse">
622
+ <wsdl:part name="GetDocumentsResponse" element="q4:GetDocumentsResponse" xmlns:q4="http://purolator.com/pws/datatypes/v1"/>
623
+ </wsdl:message>
624
+ <wsdl:message name="GetDocumentsResponse_Headers">
625
+ <wsdl:part name="ResponseContext" element="q5:ResponseContext" xmlns:q5="http://purolator.com/pws/datatypes/v1"/>
626
+ </wsdl:message>
627
+ <wsdl:message name="ShippingDocumentsServiceContract_GetDocuments_ValidationFaultFault_FaultMessage">
628
+ <wsdl:part name="detail" element="q6:ValidationFault" xmlns:q6="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation"/>
629
+ </wsdl:message>
630
+ <wsdl:message name="GetShipmentManifestDocumentRequest">
631
+ <wsdl:part name="GetShipmentManifestDocumentRequest" element="q7:GetShipmentManifestDocumentRequest" xmlns:q7="http://purolator.com/pws/datatypes/v1"/>
632
+ </wsdl:message>
633
+ <wsdl:message name="GetShipmentManifestDocumentRequest_Headers">
634
+ <wsdl:part name="RequestContext" element="q8:RequestContext" xmlns:q8="http://purolator.com/pws/datatypes/v1"/>
635
+ </wsdl:message>
636
+ <wsdl:message name="GetShipmentManifestDocumentResponse">
637
+ <wsdl:part name="GetShipmentManifestDocumentResponse" element="q9:GetShipmentManifestDocumentResponse" xmlns:q9="http://purolator.com/pws/datatypes/v1"/>
638
+ </wsdl:message>
639
+ <wsdl:message name="GetShipmentManifestDocumentResponse_Headers">
640
+ <wsdl:part name="ResponseContext" element="q10:ResponseContext" xmlns:q10="http://purolator.com/pws/datatypes/v1"/>
641
+ </wsdl:message>
642
+ <wsdl:message name="ShippingDocumentsServiceContract_GetShipmentManifestDocument_ValidationFaultFault_FaultMessage">
643
+ <wsdl:part name="detail" element="q11:ValidationFault" xmlns:q11="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation"/>
644
+ </wsdl:message>
645
+ <wsdl:portType name="ShippingDocumentsServiceContract">
646
+ <wsdl:documentation>Service Contract Class - ShippingDocumentsServiceContract</wsdl:documentation>
647
+ <wsdl:operation name="GetDocuments">
648
+ <wsdl:documentation>
649
+ GetDocuments
650
+ @param request GetDocumentsRequest
651
+ @return GetDocumentsResponse
652
+ </wsdl:documentation>
653
+ <wsdl:input wsaw:Action="http://purolator.com/pws/service/v1/GetDocuments" name="GetDocumentsRequest" message="tns:GetDocumentsRequest"/>
654
+ <wsdl:output wsaw:Action="http://purolator.com/pws/service/v1/ShippingDocumentsServiceContract/GetDocumentsResponse" name="GetDocumentsResponse" message="tns:GetDocumentsResponse"/>
655
+ <wsdl:fault wsaw:Action="http://purolator.com/pws/service/v1/ShippingDocumentsServiceContract/GetDocumentsValidationFaultFault" name="ValidationFaultFault" message="tns:ShippingDocumentsServiceContract_GetDocuments_ValidationFaultFault_FaultMessage"/>
656
+ </wsdl:operation>
657
+ <wsdl:operation name="GetShipmentManifestDocument">
658
+ <wsdl:documentation>
659
+ GetShipmentManifestDocument
660
+ @param request GetShipmentManifestRequest
661
+ @return GetShipmentManifestDocumentResponse
662
+ </wsdl:documentation>
663
+ <wsdl:input wsaw:Action="http://purolator.com/pws/service/v1/GetShipmentManifestDocument" name="GetShipmentManifestDocumentRequest" message="tns:GetShipmentManifestDocumentRequest"/>
664
+ <wsdl:output wsaw:Action="http://purolator.com/pws/service/v1/ShippingDocumentsServiceContract/GetShipmentManifestDocumentResponse" name="GetShipmentManifestDocumentResponse" message="tns:GetShipmentManifestDocumentResponse"/>
665
+ <wsdl:fault wsaw:Action="http://purolator.com/pws/service/v1/ShippingDocumentsServiceContract/GetShipmentManifestDocumentValidationFaultFault" name="ValidationFaultFault" message="tns:ShippingDocumentsServiceContract_GetShipmentManifestDocument_ValidationFaultFault_FaultMessage"/>
666
+ </wsdl:operation>
667
+ </wsdl:portType>
668
+ <wsdl:binding name="ShippingDocumentsServiceEndpoint" type="tns:ShippingDocumentsServiceContract">
669
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
670
+ <wsdl:operation name="GetDocuments">
671
+ <soap:operation soapAction="http://purolator.com/pws/service/v1/GetDocuments" style="document"/>
672
+ <wsdl:input name="GetDocumentsRequest">
673
+ <soap:header message="tns:GetDocumentsRequest_Headers" part="RequestContext" use="literal"/>
674
+ <soap:body use="literal"/>
675
+ </wsdl:input>
676
+ <wsdl:output name="GetDocumentsResponse">
677
+ <soap:header message="tns:GetDocumentsResponse_Headers" part="ResponseContext" use="literal"/>
678
+ <soap:body use="literal"/>
679
+ </wsdl:output>
680
+ <wsdl:fault name="ValidationFaultFault">
681
+ <soap:fault name="ValidationFaultFault" use="literal"/>
682
+ </wsdl:fault>
683
+ </wsdl:operation>
684
+ <wsdl:operation name="GetShipmentManifestDocument">
685
+ <soap:operation soapAction="http://purolator.com/pws/service/v1/GetShipmentManifestDocument" style="document"/>
686
+ <wsdl:input name="GetShipmentManifestDocumentRequest">
687
+ <soap:header message="tns:GetShipmentManifestDocumentRequest_Headers" part="RequestContext" use="literal"/>
688
+ <soap:body use="literal"/>
689
+ </wsdl:input>
690
+ <wsdl:output name="GetShipmentManifestDocumentResponse">
691
+ <soap:header message="tns:GetShipmentManifestDocumentResponse_Headers" part="ResponseContext" use="literal"/>
692
+ <soap:body use="literal"/>
693
+ </wsdl:output>
694
+ <wsdl:fault name="ValidationFaultFault">
695
+ <soap:fault name="ValidationFaultFault" use="literal"/>
696
+ </wsdl:fault>
697
+ </wsdl:operation>
698
+ </wsdl:binding>
699
+ <wsdl:service name="ShippingDocumentsService">
700
+ <wsdl:port name="ShippingDocumentsServiceEndpoint" binding="tns:ShippingDocumentsServiceEndpoint">
701
+ <soap:address location="https://devwebservices.purolator.com/EWS/V1/ShippingDocuments/ShippingDocumentsService.asmx"/>
702
+ </wsdl:port>
703
+ </wsdl:service>
704
+ </wsdl:definitions>