groupwise 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ca3192d390b241a0f478abd6a936202acc29f7bf
4
+ data.tar.gz: b0897ba221671e86211442d9e5a7aa891a77a56f
5
+ SHA512:
6
+ metadata.gz: 840d03040c3945a2369e78c5cb44c864034532dea2e1faa25782c419e91e68d48c958e6ee28a355375cf1782736a90328b463584a2bd8853bad0abbb8dfe3fd5
7
+ data.tar.gz: 2212a0ecdaa0a3205184b6872fdbfcb935f2ec4eab1abfa53b2df481ae02c59c5f3a5113e463c08e05779a1fedf4e483debf30b35e7756d24706884a4316545c
@@ -0,0 +1,23 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ *.bundle
19
+ *.so
20
+ *.o
21
+ *.a
22
+ mkmf.log
23
+ spec/groupwise_config.yml
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in groupwise.gemspec
4
+ gemspec
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Curtis Schiewek
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,33 @@
1
+ # Groupwise
2
+
3
+ Wrapper for Groupwise SOAP web services. Currently only targets Groupwise 2012 or higher.
4
+
5
+ Currently, only authentication and free/busy lookup are implemented.
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ gem 'groupwise'
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install groupwise
20
+
21
+ Create a new [Trusted Application](https://www.novell.com/documentation/groupwise2012/gw2012_guide_admin/data/ake1tw1.html) on your Groupwise server.
22
+
23
+ ## Testing
24
+
25
+ Rename groupwise_config.yml.sample to groupwise_config.yml and update it to match your groupwise setup prior to launching the specs.
26
+
27
+ ## Contributing
28
+
29
+ 1. Fork it ( https://github.com/cschiewek/groupwise/fork )
30
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
31
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
32
+ 4. Push to the branch (`git push origin my-new-feature`)
33
+ 5. Create a new Pull Request
@@ -0,0 +1,6 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task default: :spec
@@ -0,0 +1,259 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><!--
2
+ ================================================================================
3
+ File: archive.wsdl
4
+
5
+ Copyright (c) 2005-2008 Novell, Inc. All Rights Reserved.
6
+
7
+ Use and redistribution of this work is subject to the developer license
8
+ agreement through which this work is made available. Pursuant to that license
9
+ agreement, Novell hereby grants You a royalty-free, non-exclusive license to
10
+ include Novell's sample code in Your product(s) that interoperate with the
11
+ applicable Novell product, and worldwide distribution rights to market,
12
+ distribute, or sell Novell's sample code as a component of Your product.
13
+
14
+ THE WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
15
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
16
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL NOVELL OR THE AUTHORS
17
+ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
18
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
19
+ OR IN CONNECTION WITH THE WORK OR THE USE OR OTHER DEALINGS IN THE WORK.
20
+
21
+
22
+ Alternatively, the contents of this file may be used under the terms of
23
+ GNU General Public License Version 2 (the "GPL") as explained below.
24
+ If you wish to allow use of your version of this file only under the terms
25
+ of the GPL, and not to allow others to use your version of this file under
26
+ the provisions appearing above, indicate your decision by deleting the
27
+ provisions above and replace them with the notice and other provisions required
28
+ by the GPL. If you do not delete the provisions above, a recipient may use
29
+ your version of this file under the above provisions of the GPL.
30
+
31
+
32
+ This file is free software; you can redistribute it and/or modify it under the
33
+ terms of version 2 of the GNU General Public License as published by the
34
+ Free Software Foundation. This program is distributed in the hope that it will
35
+ be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
36
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
37
+ for more details. You should have received a copy of the GNU General Public License
38
+ along with this program; if not, contact Novell, Inc.
39
+
40
+ To contact Novell about this file by physical or electronic mail, you may find
41
+ current contact information at www.novell.com.
42
+ ================================================================================
43
+ --><definitions xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://schemas.novell.com/2007/05/GroupWise/archive.wsdl" xmlns:tns="http://schemas.novell.com/2007/05/GroupWise/archive.wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:archive="http://schemas.novell.com/2007/05/GroupWise/archive" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
44
+
45
+ <types>
46
+ <schema xmlns="http://www.w3.org/2001/XMLSchema">
47
+ <import namespace="http://schemas.novell.com/2007/05/GroupWise/archive" schemaLocation="archive.xsd"/>
48
+ </schema>
49
+ </types>
50
+
51
+ <message name="sessionMessage">
52
+ <part name="sessionId" element="archive:session"/>
53
+ </message>
54
+
55
+ <message name="cancelReadRequestMessage">
56
+ <part name="cancelReadReq" element="archive:cancelReadRequest"/>
57
+ </message>
58
+ <message name="cancelReadResponseMessage">
59
+ <part name="cancelReadRes" element="archive:cancelReadResponse"/>
60
+ </message>
61
+
62
+ <message name="loginRequestMessage">
63
+ <part name="loginReq" element="archive:loginRequest"/>
64
+ </message>
65
+
66
+ <message name="loginResponseMessage">
67
+ <part name="loginRes" element="archive:loginResponse"/>
68
+ </message>
69
+
70
+ <message name="logoutRequestMessage">
71
+ <part name="logoutReq" element="archive:logoutRequest"/>
72
+ </message>
73
+ <message name="logoutResponseMessage">
74
+ <part name="logoutRes" element="archive:logoutResponse"/>
75
+ </message>
76
+
77
+ <message name="readArchiveRequestMessage">
78
+ <part name="readArchiveReq" element="archive:readArchiveRequest"/>
79
+ </message>
80
+ <message name="readArchiveResponseMessage">
81
+ <part name="readArchiveRes" element="archive:readArchiveResponse"/>
82
+ </message>
83
+
84
+ <message name="readAttachmentRequestMessage">
85
+ <part name="readAttachmentReq" element="archive:readAttachmentRequest"/>
86
+ </message>
87
+ <message name="readAttachmentResponseMessage">
88
+ <part name="readAttachmentRes" element="archive:readAttachmentResponse"/>
89
+ </message>
90
+
91
+ <message name="readItemRequestMessage">
92
+ <part name="readItemReq" element="archive:readItemRequest"/>
93
+ </message>
94
+ <message name="readItemResponseMessage">
95
+ <part name="readItemRes" element="archive:readItemResponse"/>
96
+ </message>
97
+
98
+ <message name="restoreRequestMessage">
99
+ <part name="restoreReq" element="archive:restoreRequest"/>
100
+ </message>
101
+ <message name="restoreResponseMessage">
102
+ <part name="restoreRes" element="archive:restoreResponse"/>
103
+ </message>
104
+
105
+ <message name="stubRequestMessage">
106
+ <part name="stubReq" element="archive:stubRequest"/>
107
+ </message>
108
+ <message name="stubResponseMessage">
109
+ <part name="stubRes" element="archive:stubResponse"/>
110
+ </message>
111
+
112
+ <portType name="GroupWiseArchivePortType">
113
+
114
+ <operation name="cancelReadRequest">
115
+ <input message="tns:cancelReadRequestMessage"/>
116
+ <output message="tns:cancelReadResponseMessage"/>
117
+ </operation>
118
+
119
+ <operation name="loginRequest">
120
+ <input message="tns:loginRequestMessage"/>
121
+ <output message="tns:loginResponseMessage"/>
122
+ </operation>
123
+
124
+ <operation name="logoutRequest">
125
+ <input message="tns:logoutRequestMessage"/>
126
+ <output message="tns:logoutResponseMessage"/>
127
+ </operation>
128
+
129
+ <operation name="readArchiveRequest">
130
+ <input message="tns:readArchiveRequestMessage"/>
131
+ <output message="tns:readArchiveResponseMessage"/>
132
+ </operation>
133
+
134
+ <operation name="readAttachmentRequest">
135
+ <input message="tns:readAttachmentRequestMessage"/>
136
+ <output message="tns:readAttachmentResponseMessage"/>
137
+ </operation>
138
+
139
+ <operation name="readItemRequest">
140
+ <input message="tns:readItemRequestMessage"/>
141
+ <output message="tns:readItemResponseMessage"/>
142
+ </operation>
143
+
144
+ <operation name="restoreRequest">
145
+ <input message="tns:restoreRequestMessage"/>
146
+ <output message="tns:restoreResponseMessage"/>
147
+ </operation>
148
+
149
+ <operation name="stubRequest">
150
+ <input message="tns:stubRequestMessage"/>
151
+ <output message="tns:stubResponseMessage"/>
152
+ </operation>
153
+
154
+ </portType>
155
+
156
+ <binding name="GroupWiseArchiveBinding" type="tns:GroupWiseArchivePortType">
157
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
158
+
159
+ <operation name="cancelReadRequest">
160
+ <soap:operation soapAction="cancelReadRequest" style="document"/>
161
+ <input>
162
+ <soap:header message="tns:sessionMessage" part="sessionId" use="literal"/>
163
+ <soap:body use="literal"/>
164
+ </input>
165
+ <output>
166
+ <soap:body use="literal"/>
167
+ </output>
168
+ </operation>
169
+
170
+ <operation name="loginRequest">
171
+ <soap:operation soapAction="loginRequest" style="document"/>
172
+ <input>
173
+ <soap:body use="literal"/>
174
+ </input>
175
+ <output>
176
+ <soap:body use="literal"/>
177
+ </output>
178
+ </operation>
179
+
180
+ <operation name="logoutRequest">
181
+ <soap:operation soapAction="logoutRequest" style="document"/>
182
+ <input>
183
+ <soap:header message="tns:sessionMessage" part="sessionId" use="literal"/>
184
+ <soap:body use="literal"/>
185
+ </input>
186
+ <output>
187
+ <soap:body use="literal"/>
188
+ </output>
189
+ </operation>
190
+
191
+ <operation name="readArchiveRequest">
192
+ <soap:operation soapAction="readArchiveRequest" style="document"/>
193
+ <input>
194
+ <soap:header message="tns:sessionMessage" part="sessionId" use="literal"/>
195
+ <soap:body use="literal"/>
196
+ </input>
197
+ <output>
198
+ <soap:body use="literal"/>
199
+ </output>
200
+ </operation>
201
+
202
+ <operation name="readAttachmentRequest">
203
+ <soap:operation soapAction="readAttachmentRequest" style="document"/>
204
+ <input>
205
+ <soap:header message="tns:sessionMessage" part="sessionId" use="literal"/>
206
+ <soap:body use="literal"/>
207
+ </input>
208
+ <output>
209
+ <soap:body use="literal"/>
210
+ </output>
211
+ </operation>
212
+
213
+ <operation name="readItemRequest">
214
+ <soap:operation soapAction="readItemRequest" style="document"/>
215
+ <input>
216
+ <soap:header message="tns:sessionMessage" part="sessionId" use="literal"/>
217
+ <soap:body use="literal"/>
218
+ </input>
219
+ <output>
220
+ <soap:body use="literal"/>
221
+ </output>
222
+ </operation>
223
+
224
+ <operation name="restoreRequest">
225
+ <soap:operation soapAction="restoreRequest" style="document"/>
226
+ <input>
227
+ <soap:header message="tns:sessionMessage" part="sessionId" use="literal"/>
228
+ <soap:body use="literal"/>
229
+ </input>
230
+ <output>
231
+ <soap:body use="literal"/>
232
+ </output>
233
+ </operation>
234
+
235
+ <operation name="stubRequest">
236
+ <soap:operation soapAction="stubRequest" style="document"/>
237
+ <input>
238
+ <soap:header message="tns:sessionMessage" part="sessionId" use="literal"/>
239
+ <soap:body use="literal"/>
240
+ </input>
241
+ <output>
242
+ <soap:body use="literal"/>
243
+ </output>
244
+ </operation>
245
+
246
+ </binding>
247
+
248
+ <service name="GroupwiseArchiveService">
249
+
250
+ <port binding="tns:GroupWiseArchiveBinding" name="GroupWiseArchivePort">
251
+ <documentation>
252
+ The default port for the GroupWise Archive is the same as the SOAP protocol - 7151.
253
+ </documentation>
254
+ <soap:address location="http://localhost:7151/gwarchive"/>
255
+ </port>
256
+
257
+ </service>
258
+
259
+ </definitions>
@@ -0,0 +1,800 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><!--
2
+ ================================================================================
3
+ File: archive.xsd
4
+
5
+ Copyright (c) 2005-2008 Novell, Inc. All Rights Reserved.
6
+
7
+ Use and redistribution of this work is subject to the developer license
8
+ agreement through which this work is made available. Pursuant to that license
9
+ agreement, Novell hereby grants You a royalty-free, non-exclusive license to
10
+ include Novell's sample code in Your product(s) that interoperate with the
11
+ applicable Novell product, and worldwide distribution rights to market,
12
+ distribute, or sell Novell's sample code as a component of Your product.
13
+
14
+ THE WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
15
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
16
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL NOVELL OR THE AUTHORS
17
+ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
18
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
19
+ OR IN CONNECTION WITH THE WORK OR THE USE OR OTHER DEALINGS IN THE WORK.
20
+
21
+
22
+ Alternatively, the contents of this file may be used under the terms of
23
+ GNU General Public License Version 2 (the "GPL") as explained below.
24
+ If you wish to allow use of your version of this file only under the terms
25
+ of the GPL, and not to allow others to use your version of this file under
26
+ the provisions appearing above, indicate your decision by deleting the
27
+ provisions above and replace them with the notice and other provisions required
28
+ by the GPL. If you do not delete the provisions above, a recipient may use
29
+ your version of this file under the above provisions of the GPL.
30
+
31
+
32
+ This file is free software; you can redistribute it and/or modify it under the
33
+ terms of version 2 of the GNU General Public License as published by the
34
+ Free Software Foundation. This program is distributed in the hope that it will
35
+ be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
36
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
37
+ for more details. You should have received a copy of the GNU General Public License
38
+ along with this program; if not, contact Novell, Inc.
39
+
40
+ To contact Novell about this file by physical or electronic mail, you may find
41
+ current contact information at www.novell.com.
42
+ ================================================================================
43
+ --><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.novell.com/2007/05/GroupWise/archive" elementFormDefault="qualified" xmlns="http://schemas.novell.com/2007/05/GroupWise/archive" xmlns:tns="http://schemas.novell.com/2007/05/GroupWise/archive">
44
+
45
+ <xs:element name="acceptLevel" type="tns:AcceptLevel"/>
46
+ <xs:element name="code" type="xs:int"/>
47
+ <xs:element name="description" type="xs:string"/>
48
+ <xs:element name="displayName" type="xs:string"/>
49
+ <xs:element name="endDate" type="xs:dateTime"/>
50
+ <xs:element name="email" type="xs:string"/>
51
+ <xs:element name="id" type="tns:uid"/>
52
+ <xs:element name="modified" type="xs:dateTime"/>
53
+ <xs:element name="name" type="xs:string"/>
54
+ <xs:element name="place" type="xs:string"/>
55
+ <xs:element name="session" type="xs:string"/>
56
+ <xs:element name="startDate" type="xs:dateTime"/>
57
+ <xs:element name="subject" type="xs:string"/>
58
+ <xs:element name="uuid" type="tns:UUID"/>
59
+ <xs:element name="version" type="xs:unsignedInt"/>
60
+
61
+ <xs:simpleType name="AcceptLevel">
62
+ <xs:restriction base="xs:string">
63
+ <xs:enumeration value="Free"/>
64
+ <xs:enumeration value="Tentative"/>
65
+ <xs:enumeration value="Busy"/>
66
+ <xs:enumeration value="OutOfOffice"/>
67
+ </xs:restriction>
68
+ </xs:simpleType>
69
+ <xs:complexType name="Alarm">
70
+ <xs:simpleContent>
71
+ <xs:extension base="xs:int">
72
+ <xs:attribute name="enabled" type="xs:boolean"/>
73
+ </xs:extension>
74
+ </xs:simpleContent>
75
+ </xs:complexType>
76
+ <xs:complexType name="Appointment">
77
+ <xs:complexContent>
78
+ <xs:extension base="tns:CalendarItem">
79
+ <xs:sequence>
80
+ <xs:element ref="tns:startDate" minOccurs="0"/>
81
+ <xs:element ref="tns:endDate" minOccurs="0"/>
82
+ <xs:element name="startDay" type="xs:date" minOccurs="0"/>
83
+ <xs:element name="endDay" type="xs:date" minOccurs="0"/>
84
+ <xs:element ref="tns:acceptLevel" minOccurs="0"/>
85
+ <xs:element name="alarm" type="tns:Alarm" minOccurs="0"/>
86
+ <xs:element name="allDayEvent" type="xs:boolean" minOccurs="0"/>
87
+ <xs:element ref="tns:place" minOccurs="0"/>
88
+ <xs:element name="timezone" type="tns:Timezone" minOccurs="0"/>
89
+ </xs:sequence>
90
+ </xs:extension>
91
+ </xs:complexContent>
92
+ </xs:complexType>
93
+ <xs:complexType name="AttachmentID">
94
+ <xs:simpleContent>
95
+ <xs:extension base="tns:uid">
96
+ <xs:attribute name="itemReference" type="xs:boolean"/>
97
+ </xs:extension>
98
+ </xs:simpleContent>
99
+ </xs:complexType>
100
+ <xs:complexType name="AttachmentInfo">
101
+ <xs:sequence>
102
+ <xs:element name="attachment" type="tns:AttachmentItemInfo" maxOccurs="unbounded"/>
103
+ </xs:sequence>
104
+ </xs:complexType>
105
+ <xs:complexType name="AttachmentItemInfo">
106
+ <xs:sequence>
107
+ <xs:element name="id" type="tns:AttachmentID" minOccurs="0"/>
108
+ <xs:element ref="tns:name" minOccurs="0"/>
109
+ <xs:element name="contentId" type="xs:string" minOccurs="0"/>
110
+ <xs:element name="contentType" type="xs:string" minOccurs="0"/>
111
+ <xs:element name="size" type="xs:unsignedInt" minOccurs="0"/>
112
+ <xs:element name="date" type="xs:dateTime" minOccurs="0"/>
113
+ <xs:element name="data" type="xs:base64Binary" minOccurs="0"/>
114
+ <xs:element name="hidden" type="xs:boolean" minOccurs="0"/>
115
+ <xs:element name="isPersonal" type="xs:boolean" minOccurs="0"/>
116
+ <xs:element name="hash" type="xs:string" minOccurs="0"/>
117
+ </xs:sequence>
118
+ </xs:complexType>
119
+ <xs:complexType name="Authentication"/>
120
+ <xs:complexType name="BoxEntry">
121
+ <xs:complexContent>
122
+ <xs:extension base="tns:ContainerItem">
123
+ <xs:sequence>
124
+ <xs:element name="status" type="tns:ItemStatus" minOccurs="0"/>
125
+ <xs:element name="thread" type="xs:string" minOccurs="0"/>
126
+ <xs:element name="msgId" type="xs:string" minOccurs="0"/>
127
+ <xs:element name="messageId" type="xs:string" minOccurs="0"/>
128
+ <xs:element name="source" type="tns:ItemSource" minOccurs="0"/>
129
+ <xs:element name="returnSentItemsId" type="xs:boolean" minOccurs="0"/>
130
+ <xs:element name="delivered" type="xs:dateTime"/>
131
+ <xs:element name="class" type="tns:ItemClass" minOccurs="0"/>
132
+ <xs:element name="security" type="tns:ItemSecurity" minOccurs="0"/>
133
+ <xs:element name="comment" type="xs:string" minOccurs="0"/>
134
+ <xs:element name="threading" type="tns:ItemThreading" minOccurs="0"/>
135
+ </xs:sequence>
136
+ </xs:extension>
137
+ </xs:complexContent>
138
+ </xs:complexType>
139
+ <xs:complexType name="CalendarItem">
140
+ <xs:complexContent>
141
+ <xs:extension base="tns:Mail">
142
+ <xs:sequence>
143
+ <xs:element name="iCalId" type="xs:string" minOccurs="0"/>
144
+ </xs:sequence>
145
+ </xs:extension>
146
+ </xs:complexContent>
147
+ </xs:complexType>
148
+ <xs:complexType name="CategoryRefList">
149
+ <xs:sequence>
150
+ <xs:element name="category" type="tns:uid" minOccurs="0" maxOccurs="unbounded"/>
151
+ </xs:sequence>
152
+ <xs:attribute name="primary" type="tns:uid"/>
153
+ </xs:complexType>
154
+ <xs:complexType name="CommentStatus">
155
+ <xs:simpleContent>
156
+ <xs:extension base="xs:dateTime">
157
+ <xs:attribute name="comment" type="xs:string"/>
158
+ </xs:extension>
159
+ </xs:simpleContent>
160
+ </xs:complexType>
161
+ <xs:complexType name="ContainerItem">
162
+ <xs:complexContent>
163
+ <xs:extension base="tns:Item">
164
+ <xs:sequence>
165
+ <xs:element name="container" type="tns:ContainerRef" minOccurs="1" maxOccurs="unbounded"/>
166
+ <xs:element name="categories" type="tns:CategoryRefList" minOccurs="0"/>
167
+ <xs:element name="created" type="xs:dateTime" minOccurs="0"/>
168
+ <xs:element name="customs" type="tns:CustomList" minOccurs="0"/>
169
+ </xs:sequence>
170
+ </xs:extension>
171
+ </xs:complexContent>
172
+ </xs:complexType>
173
+ <xs:complexType name="ContainerRef">
174
+ <xs:simpleContent>
175
+ <xs:extension base="xs:string">
176
+ <xs:attribute name="deleted" type="xs:dateTime"/>
177
+ </xs:extension>
178
+ </xs:simpleContent>
179
+ </xs:complexType>
180
+ <xs:complexType name="Custom">
181
+ <xs:sequence>
182
+ <xs:element name="field" type="xs:string"/>
183
+ <xs:element name="value" type="xs:string" minOccurs="0"/>
184
+ <xs:element name="locked" type="xs:boolean" minOccurs="0"/>
185
+ </xs:sequence>
186
+ <xs:attribute name="type" type="tns:CustomType" use="optional"/>
187
+ </xs:complexType>
188
+ <xs:complexType name="CustomList">
189
+ <xs:sequence>
190
+ <xs:element name="custom" type="tns:Custom" minOccurs="0" maxOccurs="unbounded"/>
191
+ </xs:sequence>
192
+ </xs:complexType>
193
+ <xs:simpleType name="CustomType">
194
+ <xs:restriction base="xs:string">
195
+ <xs:enumeration value="String"/>
196
+ <xs:enumeration value="Numeric"/>
197
+ <xs:enumeration value="Date"/>
198
+ <xs:enumeration value="Binary"/>
199
+ </xs:restriction>
200
+ </xs:simpleType>
201
+ <xs:simpleType name="Day">
202
+ <xs:restriction base="xs:unsignedByte">
203
+ <xs:maxInclusive value="30"/>
204
+ </xs:restriction>
205
+ </xs:simpleType>
206
+ <xs:complexType name="DayOfWeek">
207
+ <xs:simpleContent>
208
+ <xs:extension base="tns:WeekDay">
209
+ <xs:attribute name="occurrence" type="tns:OccurrenceType"/>
210
+ </xs:extension>
211
+ </xs:simpleContent>
212
+ </xs:complexType>
213
+ <xs:complexType name="DelegatedStatus">
214
+ <xs:simpleContent>
215
+ <xs:extension base="tns:CommentStatus">
216
+ <xs:attribute name="userid" type="xs:string"/>
217
+ </xs:extension>
218
+ </xs:simpleContent>
219
+ </xs:complexType>
220
+ <xs:complexType name="DelegateeStatus">
221
+ <xs:complexContent>
222
+ <xs:extension base="tns:RecipientStatus">
223
+ <xs:attribute name="userid" type="xs:string"/>
224
+ </xs:extension>
225
+ </xs:complexContent>
226
+ </xs:complexType>
227
+ <xs:complexType name="Distribution">
228
+ <xs:sequence>
229
+ <xs:element name="from" type="tns:From" minOccurs="0"/>
230
+ <xs:element name="to" type="xs:string" minOccurs="0"/>
231
+ <xs:element name="cc" type="xs:string" minOccurs="0"/>
232
+ <xs:element name="bc" type="xs:string" minOccurs="0"/>
233
+ <xs:element name="recipients" type="tns:RecipientList" minOccurs="0"/>
234
+ </xs:sequence>
235
+ </xs:complexType>
236
+ <xs:simpleType name="DistributionType">
237
+ <xs:restriction base="xs:string">
238
+ <xs:enumeration value="TO"/>
239
+ <xs:enumeration value="CC"/>
240
+ <xs:enumeration value="BC"/>
241
+ </xs:restriction>
242
+ </xs:simpleType>
243
+ <xs:complexType name="DocumentRef">
244
+ <xs:complexContent>
245
+ <xs:extension base="tns:Mail">
246
+ <xs:sequence>
247
+ <xs:element name="library" type="tns:NameAndEmail" minOccurs="0"/>
248
+ <xs:element name="documentNumber" type="xs:unsignedInt" minOccurs="0"/>
249
+ <xs:element name="versionNumber" type="xs:unsignedInt" minOccurs="0"/>
250
+ <xs:element name="versionDescription" type="xs:string" minOccurs="0"/>
251
+ </xs:sequence>
252
+ </xs:extension>
253
+ </xs:complexContent>
254
+ </xs:complexType>
255
+ <xs:complexType name="Filter">
256
+ <xs:sequence>
257
+ <xs:element name="element" type="tns:FilterElement" minOccurs="0" maxOccurs="1"/>
258
+ </xs:sequence>
259
+ </xs:complexType>
260
+ <xs:simpleType name="FilterDate">
261
+ <xs:restriction base="xs:string">
262
+ <xs:enumeration value="Today"/>
263
+ <xs:enumeration value="Tomorrow"/>
264
+ <xs:enumeration value="ThisMonth"/>
265
+ <xs:enumeration value="ThisWeek"/>
266
+ <xs:enumeration value="ThisYear"/>
267
+ <xs:enumeration value="Yesterday"/>
268
+ </xs:restriction>
269
+ </xs:simpleType>
270
+ <xs:complexType name="FilterElement">
271
+ <xs:sequence>
272
+ <xs:element name="op" type="tns:FilterOp"/>
273
+ </xs:sequence>
274
+ </xs:complexType>
275
+ <xs:complexType name="FilterEntry">
276
+ <xs:complexContent>
277
+ <xs:extension base="tns:FilterElement">
278
+ <xs:sequence>
279
+ <xs:element name="field" type="xs:string" minOccurs="0"/>
280
+ <xs:element name="custom" type="tns:Custom" minOccurs="0"/>
281
+ <xs:element name="value" type="xs:string" minOccurs="0"/>
282
+ <xs:element name="date" type="tns:FilterDate" minOccurs="0"/>
283
+ <xs:element name="mask" type="xs:string" minOccurs="0"/>
284
+ </xs:sequence>
285
+ </xs:extension>
286
+ </xs:complexContent>
287
+ </xs:complexType>
288
+ <xs:complexType name="FilterGroup">
289
+ <xs:annotation>
290
+ <xs:documentation>
291
+ FilterGroup comprises FilterOp "and", "or" or "not"
292
+ </xs:documentation>
293
+ </xs:annotation>
294
+ <xs:complexContent>
295
+ <xs:extension base="tns:FilterElement">
296
+ <xs:sequence>
297
+ <xs:element name="element" type="tns:FilterElement" minOccurs="1" maxOccurs="unbounded"/>
298
+ </xs:sequence>
299
+ </xs:extension>
300
+ </xs:complexContent>
301
+ </xs:complexType>
302
+ <xs:simpleType name="FilterOp">
303
+ <xs:restriction base="xs:string">
304
+ <xs:enumeration value="and"/>
305
+ <xs:enumeration value="or"/>
306
+ <xs:enumeration value="not"/>
307
+ <xs:enumeration value="eq"/>
308
+ <xs:enumeration value="ne"/>
309
+ <xs:enumeration value="gt"/>
310
+ <xs:enumeration value="lt"/>
311
+ <xs:enumeration value="gte"/>
312
+ <xs:enumeration value="lte"/>
313
+ <xs:enumeration value="contains"/>
314
+ <xs:enumeration value="containsWord"/>
315
+ <xs:enumeration value="begins"/>
316
+ <xs:enumeration value="exists"/>
317
+ <xs:enumeration value="notExist"/>
318
+ <xs:enumeration value="isOf"/>
319
+ <xs:enumeration value="isNotOf"/>
320
+ <xs:enumeration value="fieldEqual"/>
321
+ <xs:enumeration value="fieldGTE"/>
322
+ <xs:enumeration value="fieldGT"/>
323
+ <xs:enumeration value="fieldLTE"/>
324
+ <xs:enumeration value="fieldLT"/>
325
+ <xs:enumeration value="fieldNE"/>
326
+ <xs:enumeration value="fieldDateEqual"/>
327
+ <xs:enumeration value="bitCare"/>
328
+ <xs:enumeration value="notContains"/>
329
+ </xs:restriction>
330
+ </xs:simpleType>
331
+ <xs:complexType name="From">
332
+ <xs:complexContent>
333
+ <xs:extension base="tns:NameAndEmail">
334
+ <xs:sequence>
335
+ <xs:element name="replyTo" type="xs:string" minOccurs="0"/>
336
+ </xs:sequence>
337
+ </xs:extension>
338
+ </xs:complexContent>
339
+ </xs:complexType>
340
+ <xs:simpleType name="GMTOffset">
341
+ <xs:restriction base="xs:int">
342
+ <xs:minExclusive value="-86400"/>
343
+ <xs:maxExclusive value="86400"/>
344
+ </xs:restriction>
345
+ </xs:simpleType>
346
+ <xs:simpleType name="Hour">
347
+ <xs:restriction base="xs:unsignedByte">
348
+ <xs:maxInclusive value="23"/>
349
+ </xs:restriction>
350
+ </xs:simpleType>
351
+ <xs:complexType name="Item">
352
+ <xs:sequence>
353
+ <xs:element ref="tns:id" minOccurs="0"/>
354
+ <xs:element ref="tns:name" minOccurs="0"/>
355
+ <xs:element ref="tns:version" minOccurs="0"/>
356
+ <xs:element ref="tns:modified" minOccurs="0"/>
357
+ </xs:sequence>
358
+ </xs:complexType>
359
+ <xs:simpleType name="ItemClass">
360
+ <xs:restriction base="xs:string">
361
+ <xs:enumeration value="Public"/>
362
+ <xs:enumeration value="Private"/>
363
+ </xs:restriction>
364
+ </xs:simpleType>
365
+ <xs:complexType name="ItemList">
366
+ <xs:sequence>
367
+ <xs:element name="item" type="tns:Item" minOccurs="0" maxOccurs="unbounded"/>
368
+ </xs:sequence>
369
+ <xs:attribute name="offset" type="xs:int"/>
370
+ <xs:attribute name="count" type="xs:int"/>
371
+ </xs:complexType>
372
+ <xs:complexType name="ItemOptions">
373
+ <xs:sequence>
374
+ <xs:element name="priority" type="tns:ItemOptionsPriority" minOccurs="0" default="Standard"/>
375
+ <xs:element name="expires" type="xs:dateTime" minOccurs="0"/>
376
+ <xs:element name="delayDeliveryUntil" type="xs:dateTime" minOccurs="0"/>
377
+ <xs:element name="concealSubject" type="xs:boolean" minOccurs="0"/>
378
+ <xs:element name="hidden" type="xs:boolean" minOccurs="0"/>
379
+ </xs:sequence>
380
+ </xs:complexType>
381
+ <xs:simpleType name="ItemOptionsPriority">
382
+ <xs:restriction base="xs:string">
383
+ <xs:enumeration value="High"/>
384
+ <xs:enumeration value="Standard"/>
385
+ <xs:enumeration value="Low"/>
386
+ </xs:restriction>
387
+ </xs:simpleType>
388
+ <xs:simpleType name="ItemSecurity">
389
+ <xs:restriction base="xs:string">
390
+ <xs:enumeration value="Normal"/>
391
+ <xs:enumeration value="Proprietary"/>
392
+ <xs:enumeration value="Confidential"/>
393
+ <xs:enumeration value="Secret"/>
394
+ <xs:enumeration value="TopSecret"/>
395
+ <xs:enumeration value="ForYourEyesOnly"/>
396
+ </xs:restriction>
397
+ </xs:simpleType>
398
+ <xs:simpleType name="ItemSource">
399
+ <xs:restriction base="xs:string">
400
+ <xs:enumeration value="received"/>
401
+ <xs:enumeration value="sent"/>
402
+ <xs:enumeration value="draft"/>
403
+ <xs:enumeration value="personal"/>
404
+ </xs:restriction>
405
+ </xs:simpleType>
406
+ <xs:complexType name="ItemStatus">
407
+ <xs:sequence>
408
+ <xs:element name="accepted" type="xs:boolean" minOccurs="0"/>
409
+ <xs:element name="completed" type="xs:boolean" minOccurs="0"/>
410
+ <xs:element name="delegated" type="xs:boolean" minOccurs="0"/>
411
+ <xs:element name="deleted" type="xs:boolean" minOccurs="0"/>
412
+ <xs:element name="forwarded" type="xs:boolean" minOccurs="0"/>
413
+ <xs:element name="private" type="xs:boolean" minOccurs="0"/>
414
+ <xs:element name="opened" type="xs:boolean" minOccurs="0"/>
415
+ <xs:element name="read" type="xs:boolean" minOccurs="0"/>
416
+ <xs:element name="replied" type="xs:boolean" minOccurs="0"/>
417
+ </xs:sequence>
418
+ </xs:complexType>
419
+ <xs:complexType name="ItemThreading">
420
+ <xs:sequence>
421
+ <xs:element name="id" type="xs:string" minOccurs="0"/>
422
+ <xs:element name="parent" type="xs:string" minOccurs="0"/>
423
+ </xs:sequence>
424
+ </xs:complexType>
425
+ <xs:complexType name="Mail">
426
+ <xs:complexContent>
427
+ <xs:extension base="tns:BoxEntry">
428
+ <xs:sequence>
429
+ <xs:element ref="tns:subject" minOccurs="0"/>
430
+ <xs:element name="originalSubject" type="xs:string" minOccurs="0"/>
431
+ <xs:element name="subjectPrefix" type="xs:string" minOccurs="0"/>
432
+ <xs:element name="distribution" type="tns:Distribution" minOccurs="0"/>
433
+ <xs:element name="message" type="tns:MessageBody" minOccurs="0"/>
434
+ <xs:element name="attachments" type="tns:AttachmentInfo" minOccurs="0"/>
435
+ <xs:element name="options" type="tns:ItemOptions" minOccurs="0"/>
436
+ <xs:element name="hasAttachment" type="xs:boolean" default="0" minOccurs="0"/>
437
+ <xs:element name="size" type="xs:int" minOccurs="0" default="0"/>
438
+ <xs:element name="subType" type="xs:string" minOccurs="0"/>
439
+ <xs:element name="xField" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
440
+ <xs:element name="originalId" type="tns:uid" minOccurs="0"/>
441
+ <xs:element name="archiveId" type="xs:string" minOccurs="0"/>
442
+ <xs:element name="archived" type="xs:dateTime" minOccurs="0"/>
443
+ </xs:sequence>
444
+ <xs:attribute name="internet" type="xs:boolean"/>
445
+ <xs:attribute name="stub" type="xs:boolean"/>
446
+ </xs:extension>
447
+ </xs:complexContent>
448
+ </xs:complexType>
449
+ <xs:complexType name="MessageBody">
450
+ <xs:sequence>
451
+ <xs:element name="part" type="tns:MessagePart" maxOccurs="unbounded"/>
452
+ </xs:sequence>
453
+ </xs:complexType>
454
+ <xs:complexType name="MessagePart">
455
+ <xs:simpleContent>
456
+ <xs:extension base="xs:base64Binary">
457
+ <xs:attribute name="id" type="tns:uid" use="optional"/>
458
+ <xs:attribute name="contentId" type="xs:string" default=""/>
459
+ <xs:attribute name="contentType" type="xs:string" default="text/plain" use="optional"/>
460
+ <xs:attribute name="length" type="xs:int" default="0" use="optional"/>
461
+ <xs:attribute name="offset" type="xs:int" default="0" use="optional"/>
462
+ <xs:attribute name="hash" type="xs:string" default="" use="optional"/>
463
+ </xs:extension>
464
+ </xs:simpleContent>
465
+ </xs:complexType>
466
+ <xs:simpleType name="Minute">
467
+ <xs:restriction base="xs:unsignedByte">
468
+ <xs:maxInclusive value="59"/>
469
+ </xs:restriction>
470
+ </xs:simpleType>
471
+ <xs:simpleType name="Month">
472
+ <xs:restriction base="xs:unsignedByte">
473
+ <xs:maxInclusive value="11"/>
474
+ </xs:restriction>
475
+ </xs:simpleType>
476
+ <xs:complexType name="NameAndEmail">
477
+ <xs:sequence>
478
+ <xs:element ref="tns:displayName" minOccurs="0"/>
479
+ <xs:element ref="tns:email" minOccurs="0"/>
480
+ <xs:element ref="tns:uuid" minOccurs="0"/>
481
+ </xs:sequence>
482
+ </xs:complexType>
483
+ <xs:complexType name="Note">
484
+ <xs:complexContent>
485
+ <xs:extension base="tns:CalendarItem">
486
+ <xs:sequence>
487
+ <xs:element name="startDate" type="xs:date" minOccurs="0"/>
488
+ <xs:element name="timezone" type="tns:Timezone" minOccurs="0"/>
489
+ </xs:sequence>
490
+ </xs:extension>
491
+ </xs:complexContent>
492
+ </xs:complexType>
493
+ <xs:simpleType name="OccurrenceType">
494
+ <xs:restriction base="xs:string">
495
+ <xs:enumeration value="First"/>
496
+ <xs:enumeration value="Second"/>
497
+ <xs:enumeration value="Third"/>
498
+ <xs:enumeration value="Fourth"/>
499
+ <xs:enumeration value="Fifth"/>
500
+ <xs:enumeration value="Last"/>
501
+ </xs:restriction>
502
+ </xs:simpleType>
503
+ <xs:complexType name="PhoneFlags">
504
+ <xs:sequence>
505
+ <xs:element name="called" type="xs:boolean" minOccurs="0"/>
506
+ <xs:element name="pleaseCall" type="xs:boolean" minOccurs="0"/>
507
+ <xs:element name="willCall" type="xs:boolean" minOccurs="0"/>
508
+ <xs:element name="returnedYourCall" type="xs:boolean" minOccurs="0"/>
509
+ <xs:element name="wantsToSeeYou" type="xs:boolean" minOccurs="0"/>
510
+ <xs:element name="cameToSeeYou" type="xs:boolean" minOccurs="0"/>
511
+ <xs:element name="urgent" type="xs:boolean" minOccurs="0"/>
512
+ </xs:sequence>
513
+ </xs:complexType>
514
+ <xs:complexType name="PhoneMessage">
515
+ <xs:complexContent>
516
+ <xs:extension base="tns:Mail">
517
+ <xs:sequence>
518
+ <xs:element name="caller" type="xs:string" minOccurs="0"/>
519
+ <xs:element name="company" type="xs:string" minOccurs="0"/>
520
+ <xs:element name="phone" type="xs:string" minOccurs="0"/>
521
+ <xs:element name="flags" type="tns:PhoneFlags" minOccurs="0"/>
522
+ </xs:sequence>
523
+ </xs:extension>
524
+ </xs:complexContent>
525
+ </xs:complexType>
526
+ <xs:complexType name="Recipient">
527
+ <xs:complexContent>
528
+ <xs:extension base="tns:NameAndEmail">
529
+ <xs:sequence>
530
+ <xs:element name="distType" type="tns:DistributionType" minOccurs="0" default="TO"/>
531
+ <xs:element name="recipType" type="tns:RecipientType" minOccurs="0" default="User"/>
532
+ <xs:element name="recipientStatus" type="tns:RecipientStatus" minOccurs="0" maxOccurs="1"/>
533
+ <xs:element ref="tns:acceptLevel" minOccurs="0"/>
534
+ </xs:sequence>
535
+ </xs:extension>
536
+ </xs:complexContent>
537
+ </xs:complexType>
538
+ <xs:complexType name="RecipientList">
539
+ <xs:sequence>
540
+ <xs:element name="recipient" type="tns:Recipient" minOccurs="0" maxOccurs="unbounded"/>
541
+ </xs:sequence>
542
+ </xs:complexType>
543
+ <xs:complexType name="RecipientStatus">
544
+ <xs:sequence>
545
+ <xs:element name="delivered" type="xs:dateTime" minOccurs="0"/>
546
+ <xs:element name="undeliverable" type="xs:dateTime" minOccurs="0"/>
547
+ <xs:element name="transferred" type="xs:dateTime" minOccurs="0"/>
548
+ <xs:element name="transferDelayed" type="xs:dateTime" minOccurs="0"/>
549
+ <xs:element name="transferFailed" type="tns:TransferFailedStatus" minOccurs="0"/>
550
+ <xs:element name="downloaded" type="xs:dateTime" minOccurs="0"/>
551
+ <xs:element name="downloadedByThirdParty" type="xs:dateTime" minOccurs="0"/>
552
+ <xs:element name="retractRequested" type="xs:dateTime" minOccurs="0"/>
553
+ <xs:element name="retracted" type="xs:dateTime" minOccurs="0"/>
554
+ <xs:element name="opened" type="xs:dateTime" minOccurs="0"/>
555
+ <xs:element name="deleted" type="xs:dateTime" minOccurs="0"/>
556
+ <xs:element name="undeleted" type="xs:dateTime" minOccurs="0"/>
557
+ <xs:element name="purged" type="xs:dateTime" minOccurs="0"/>
558
+ <xs:element name="accepted" type="tns:CommentStatus" minOccurs="0"/>
559
+ <xs:element name="declined" type="tns:CommentStatus" minOccurs="0"/>
560
+ <xs:element name="replied" type="xs:dateTime" minOccurs="0"/>
561
+ <xs:element name="forwarded" type="xs:dateTime" minOccurs="0"/>
562
+ <xs:element name="shared" type="xs:dateTime" minOccurs="0"/>
563
+ <xs:element name="started" type="xs:dateTime" minOccurs="0"/>
564
+ <xs:element name="completed" type="xs:dateTime" minOccurs="0"/>
565
+ <xs:element name="incomplete" type="xs:dateTime" minOccurs="0"/>
566
+ <xs:element name="delegated" type="tns:DelegatedStatus" minOccurs="0"/>
567
+ <xs:element name="delegateeStatus" type="tns:DelegateeStatus" minOccurs="0" maxOccurs="unbounded"/>
568
+ <!-- USERID property specifies delegatee -->
569
+ </xs:sequence>
570
+ </xs:complexType>
571
+ <xs:simpleType name="RecipientType">
572
+ <xs:restriction base="xs:string">
573
+ <xs:enumeration value="User"/>
574
+ <xs:enumeration value="Resource"/>
575
+ <xs:enumeration value="PersonalGroup"/>
576
+ <xs:enumeration value="SystemGroup"/>
577
+ <xs:enumeration value="PersonalGroupMember"/>
578
+ <xs:enumeration value="SystemGroupMember"/>
579
+ </xs:restriction>
580
+ </xs:simpleType>
581
+ <xs:complexType name="Status">
582
+ <xs:sequence>
583
+ <xs:element ref="tns:code"/>
584
+ <xs:element ref="tns:description" minOccurs="0"/>
585
+ <xs:element name="info" type="xs:string" minOccurs="0"/>
586
+ </xs:sequence>
587
+ </xs:complexType>
588
+ <xs:complexType name="Task">
589
+ <xs:complexContent>
590
+ <xs:extension base="tns:CalendarItem">
591
+ <xs:sequence>
592
+ <xs:element name="startDate" type="xs:date" minOccurs="0"/>
593
+ <xs:element name="dueDate" type="xs:date" minOccurs="0"/>
594
+ <xs:element name="assignedDate" type="xs:date" minOccurs="0"/>
595
+ <xs:element name="taskPriority" type="xs:string" minOccurs="0"/>
596
+ <xs:element name="completed" type="xs:boolean" minOccurs="0"/>
597
+ <xs:element name="timezone" type="tns:Timezone" minOccurs="0"/>
598
+ </xs:sequence>
599
+ </xs:extension>
600
+ </xs:complexContent>
601
+ </xs:complexType>
602
+ <xs:complexType name="Timezone">
603
+ <xs:sequence>
604
+ <xs:element name="id" type="xs:string" minOccurs="0"/>
605
+ <xs:element ref="tns:description" minOccurs="0"/>
606
+ <xs:element name="daylight" type="tns:TimezoneComponent" minOccurs="0" maxOccurs="1"/>
607
+ <xs:element name="standard" type="tns:TimezoneComponent" minOccurs="0" maxOccurs="1"/>
608
+ </xs:sequence>
609
+ </xs:complexType>
610
+ <xs:complexType name="TimezoneComponent">
611
+ <xs:sequence>
612
+ <xs:element name="name" type="xs:string" minOccurs="0"/>
613
+ <xs:element name="month" type="tns:Month" minOccurs="0"/>
614
+ <!-- <xs:choice> -->
615
+ <xs:element name="day" type="tns:Day" minOccurs="0"/>
616
+ <xs:element name="dayOfWeek" type="tns:DayOfWeek" minOccurs="0"/>
617
+ <!-- </xs:choice> -->
618
+ <xs:element name="hour" type="tns:Hour" minOccurs="0"/>
619
+ <xs:element name="minute" type="tns:Minute" minOccurs="0"/>
620
+ <xs:element name="offset" type="tns:GMTOffset"/>
621
+ </xs:sequence>
622
+ </xs:complexType>
623
+ <xs:complexType name="TransferFailedStatus">
624
+ <xs:complexContent>
625
+ <xs:extension base="tns:RecipientStatus">
626
+ <xs:attribute name="FailureReason" type="xs:string"/>
627
+ </xs:extension>
628
+ </xs:complexContent>
629
+ </xs:complexType>
630
+ <xs:complexType name="TrustedApplication">
631
+ <xs:complexContent>
632
+ <xs:extension base="tns:Authentication">
633
+ <xs:sequence>
634
+ <xs:element name="username" type="xs:string"/>
635
+ <xs:element name="name" type="xs:string"/>
636
+ <xs:element name="key" type="xs:string"/>
637
+ </xs:sequence>
638
+ </xs:extension>
639
+ </xs:complexContent>
640
+ </xs:complexType>
641
+ <xs:simpleType name="uid">
642
+ <xs:restriction base="xs:string">
643
+ <xs:pattern value="[^@]+(@*)?"/>
644
+ </xs:restriction>
645
+ </xs:simpleType>
646
+ <xs:simpleType name="UUID">
647
+ <xs:restriction base="xs:string"/>
648
+ </xs:simpleType>
649
+ <xs:simpleType name="WeekDay">
650
+ <xs:restriction base="xs:string">
651
+ <xs:enumeration value="Sunday"/>
652
+ <xs:enumeration value="Monday"/>
653
+ <xs:enumeration value="Tuesday"/>
654
+ <xs:enumeration value="Wednesday"/>
655
+ <xs:enumeration value="Thursday"/>
656
+ <xs:enumeration value="Friday"/>
657
+ <xs:enumeration value="Saturday"/>
658
+ </xs:restriction>
659
+ </xs:simpleType>
660
+
661
+ <xs:element name="cancelReadRequest">
662
+ <xs:complexType>
663
+ <xs:sequence>
664
+ <xs:element name="cursor" type="xs:int" minOccurs="0"/>
665
+ </xs:sequence>
666
+ </xs:complexType>
667
+ </xs:element>
668
+ <xs:element name="cancelReadResponse">
669
+ <xs:complexType>
670
+ <xs:sequence>
671
+ <xs:element name="status" type="tns:Status"/>
672
+ </xs:sequence>
673
+ </xs:complexType>
674
+ </xs:element>
675
+ <xs:element name="loginRequest">
676
+ <xs:complexType>
677
+ <xs:sequence>
678
+ <xs:element name="auth" type="tns:Authentication"/>
679
+ <xs:element name="language" type="xs:language"/>
680
+ <xs:element name="version" type="xs:decimal"/>
681
+ </xs:sequence>
682
+ </xs:complexType>
683
+ </xs:element>
684
+ <xs:element name="loginResponse">
685
+ <xs:complexType>
686
+ <xs:sequence>
687
+ <xs:element name="session" type="xs:string" minOccurs="0"/>
688
+ <xs:element name="status" type="tns:Status"/>
689
+ </xs:sequence>
690
+ </xs:complexType>
691
+ </xs:element>
692
+ <xs:element name="logoutRequest">
693
+ <xs:complexType>
694
+ <xs:sequence>
695
+ <xs:element name="session" type="xs:string" minOccurs="0"/>
696
+ </xs:sequence>
697
+ </xs:complexType>
698
+ </xs:element>
699
+ <xs:element name="logoutResponse">
700
+ <xs:complexType>
701
+ <xs:sequence>
702
+ <xs:element name="status" type="tns:Status"/>
703
+ </xs:sequence>
704
+ </xs:complexType>
705
+ </xs:element>
706
+ <xs:element name="readArchiveRequest">
707
+ <xs:complexType>
708
+ <xs:sequence>
709
+ <xs:element name="filter" type="tns:Filter" minOccurs="0"/>
710
+ <xs:element name="cursor" type="xs:int" minOccurs="0"/>
711
+ <xs:element name="count" type="xs:int" minOccurs="0"/>
712
+ </xs:sequence>
713
+ </xs:complexType>
714
+ </xs:element>
715
+ <xs:element name="readArchiveResponse">
716
+ <xs:complexType>
717
+ <xs:sequence>
718
+ <xs:element name="cursor" type="xs:int" minOccurs="0"/>
719
+ <xs:element name="items" type="tns:ItemList" minOccurs="0"/>
720
+ <xs:element name="status" type="tns:Status"/>
721
+ </xs:sequence>
722
+ </xs:complexType>
723
+ </xs:element>
724
+ <xs:element name="readAttachmentRequest">
725
+ <xs:annotation>
726
+ <xs:documentation>
727
+ This work only for file attachments.
728
+ If you try to specify an embedded item, you will get an error.
729
+ If you specify offset = 0 and length = -1,
730
+ you will receive the whole attachment.
731
+ You can supply other values for offset and length to receive
732
+ a part of the attachment.
733
+ </xs:documentation>
734
+ </xs:annotation>
735
+ <xs:complexType>
736
+ <xs:sequence>
737
+ <xs:element name="id" type="tns:uid"/>
738
+ <xs:element name="offset" type="xs:int"/>
739
+ <xs:element name="length" type="xs:int"/>
740
+ </xs:sequence>
741
+ </xs:complexType>
742
+ </xs:element>
743
+ <xs:element name="readAttachmentResponse">
744
+ <xs:complexType>
745
+ <xs:sequence>
746
+ <xs:element name="part" type="tns:MessagePart" minOccurs="0"/>
747
+ <xs:element name="status" type="tns:Status"/>
748
+ </xs:sequence>
749
+ </xs:complexType>
750
+ </xs:element>
751
+ <xs:element name="readItemRequest">
752
+ <xs:complexType>
753
+ <xs:sequence>
754
+ <xs:element name="id" type="tns:uid" minOccurs="0"/>
755
+ <xs:element name="archiveId" type="xs:string" minOccurs="0"/>
756
+ <xs:element name="originalId" type="xs:string" minOccurs="0"/>
757
+ <xs:element name="view" type="xs:string" nillable="1"/>
758
+ </xs:sequence>
759
+ </xs:complexType>
760
+ </xs:element>
761
+ <xs:element name="readItemResponse">
762
+ <xs:complexType>
763
+ <xs:sequence>
764
+ <xs:element name="item" type="tns:Item" minOccurs="0"/>
765
+ <xs:element name="status" type="tns:Status"/>
766
+ </xs:sequence>
767
+ </xs:complexType>
768
+ </xs:element>
769
+ <xs:element name="restoreRequest">
770
+ <xs:complexType>
771
+ <xs:sequence>
772
+ <xs:element name="id" type="tns:uid"/>
773
+ <xs:element name="stub" type="xs:boolean" default="0"/>
774
+ </xs:sequence>
775
+ </xs:complexType>
776
+ </xs:element>
777
+ <xs:element name="restoreResponse">
778
+ <xs:complexType>
779
+ <xs:sequence>
780
+ <xs:element name="status" type="tns:Status"/>
781
+ </xs:sequence>
782
+ </xs:complexType>
783
+ </xs:element>
784
+ <xs:element name="stubRequest">
785
+ <xs:complexType>
786
+ <xs:sequence>
787
+ <xs:element name="id" type="tns:uid"/>
788
+ </xs:sequence>
789
+ </xs:complexType>
790
+ </xs:element>
791
+ <xs:element name="stubResponse">
792
+ <xs:complexType>
793
+ <xs:sequence>
794
+ <xs:element name="status" type="tns:Status"/>
795
+ </xs:sequence>
796
+ </xs:complexType>
797
+ </xs:element>
798
+
799
+ </xs:schema>
800
+