purolator_ruby 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>