1c0f538f by 周伟奇

eDMS upload doc

1 parent edb14afd
...@@ -11,7 +11,9 @@ class EDMS: ...@@ -11,7 +11,9 @@ class EDMS:
11 self.sm_client = Client(wsdl=conf.SM_WSDL) 11 self.sm_client = Client(wsdl=conf.SM_WSDL)
12 self.dm_client = Client(wsdl=conf.DM_WSDL) 12 self.dm_client = Client(wsdl=conf.DM_WSDL)
13 self.df_client = Client(wsdl=conf.DF_WSDL) 13 self.df_client = Client(wsdl=conf.DF_WSDL)
14 self.rc_client = Client(wsdl=conf.RC_WSDL)
14 self.download_url = conf.EDMS_DOWNLOAD_URL 15 self.download_url = conf.EDMS_DOWNLOAD_URL
16 self.upload_url = conf.EDMS_UPLOAD_URL
15 self.user_name = user_name 17 self.user_name = user_name
16 self.pwd = pwd 18 self.pwd = pwd
17 self.session_id = None 19 self.session_id = None
...@@ -35,6 +37,11 @@ class EDMS: ...@@ -35,6 +37,11 @@ class EDMS:
35 return self.session_id 37 return self.session_id
36 return self.set_session_id() 38 return self.set_session_id()
37 39
40 def get_headers(self):
41 session_id = self.get_session_id()
42 headers = {'Cookie': '{0}={1}'.format(consts.SESSION_PREFIX, session_id)}
43 return headers
44
38 def get_download_token(self, headers, metadata_version_id): 45 def get_download_token(self, headers, metadata_version_id):
39 with self.dm_client.settings(extra_http_headers=headers): 46 with self.dm_client.settings(extra_http_headers=headers):
40 res = self.dm_client.service.PrepareSingleDocumentToDownload(metadataVersionId=metadata_version_id, 47 res = self.dm_client.service.PrepareSingleDocumentToDownload(metadataVersionId=metadata_version_id,
...@@ -43,12 +50,7 @@ class EDMS: ...@@ -43,12 +50,7 @@ class EDMS:
43 actionType=consts.DOWNLOAD_ACTION_TYPE) 50 actionType=consts.DOWNLOAD_ACTION_TYPE)
44 return res.token 51 return res.token
45 52
46 def download(self, save_path, metadata_version_id): 53 def download_handler(self, params, headers, save_path):
47 session_id = self.get_session_id()
48 headers = {'Cookie': '{0}={1}'.format(consts.SESSION_PREFIX, session_id)}
49 token = self.get_download_token(headers, metadata_version_id)
50 params = {'token': token}
51
52 r = requests.get(self.download_url, params=params, headers=headers, stream=True) 54 r = requests.get(self.download_url, params=params, headers=headers, stream=True)
53 with open(save_path, "wb") as f: 55 with open(save_path, "wb") as f:
54 # chunk是指定每次写入的大小,每次只写了512byte 56 # chunk是指定每次写入的大小,每次只写了512byte
...@@ -57,3 +59,39 @@ class EDMS: ...@@ -57,3 +59,39 @@ class EDMS:
57 f.write(chunk) 59 f.write(chunk)
58 f.flush() 60 f.flush()
59 61
62 def download(self, save_path, metadata_version_id):
63 headers = self.get_headers()
64 token = self.get_download_token(headers, metadata_version_id)
65 params = {'token': token}
66 self.download_handler(params, headers, save_path)
67
68 def create_upload_token(self, headers, file_size):
69 with self.rc_client.settings(extra_http_headers=headers):
70 token = self.rc_client.service.CreateUploadToken(fileSize=file_size)
71 return token
72
73 def upload_handler(self, file_path, params, headers):
74 with open(file_path, 'rb') as f:
75 data = f.read()
76 for retry in range(4):
77 res = requests.post(self.upload_url, params=params, headers=headers, data=data)
78 if res.status_code == requests.codes.ok:
79 break
80 else:
81 raise Exception
82
83 def add_doc_info(self, headers, token, app_info):
84 with self.dm_client.settings(extra_http_headers=headers):
85 res = self.dm_client.service.AddDocumentInfo()
86 return res
87
88 def upload(self, file_path, file_size, app_info):
89 headers = self.get_headers()
90 token = self.create_upload_token(headers, file_size)
91 headers.update({'Content-Type': 'application/octet-stream'})
92 params = {'token': token}
93 self.upload_handler(file_path, params, headers)
94 headers.pop('Content-Type')
95 self.add_doc_info(headers, token, app_info)
96
97
......
...@@ -11,6 +11,7 @@ LOGGING_CONFIG_FILE = os.path.join(COMMON_CONF_DIR, 'logging.conf') ...@@ -11,6 +11,7 @@ LOGGING_CONFIG_FILE = os.path.join(COMMON_CONF_DIR, 'logging.conf')
11 SM_WSDL = os.path.join(WSDL_DIR, 'SessionManager.wsdl') 11 SM_WSDL = os.path.join(WSDL_DIR, 'SessionManager.wsdl')
12 DM_WSDL = os.path.join(WSDL_DIR, 'DocumentManager.wsdl') 12 DM_WSDL = os.path.join(WSDL_DIR, 'DocumentManager.wsdl')
13 DF_WSDL = os.path.join(WSDL_DIR, 'DocumentFinder.wsdl') 13 DF_WSDL = os.path.join(WSDL_DIR, 'DocumentFinder.wsdl')
14 RC_WSDL = os.path.join(WSDL_DIR, 'RepositoryController.wsdl')
14 15
15 # 文件存放根目录 16 # 文件存放根目录
16 LOG_DIR = os.path.join(os.path.dirname(BASE_DIR), 'logs') 17 LOG_DIR = os.path.join(os.path.dirname(BASE_DIR), 'logs')
......
...@@ -4,3 +4,4 @@ SLEEP_SECOND = 5 ...@@ -4,3 +4,4 @@ SLEEP_SECOND = 5
4 MAX_SLEEP_SECOND = 60 4 MAX_SLEEP_SECOND = 60
5 5
6 EDMS_DOWNLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/DownloadHandler.ashx 6 EDMS_DOWNLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/DownloadHandler.ashx
7 EDMS_UPLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/UploadHandler.ashx
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -4,3 +4,4 @@ SLEEP_SECOND = 5 ...@@ -4,3 +4,4 @@ SLEEP_SECOND = 5
4 MAX_SLEEP_SECOND = 60 4 MAX_SLEEP_SECOND = 60
5 5
6 EDMS_DOWNLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/DownloadHandler.ashx 6 EDMS_DOWNLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/DownloadHandler.ashx
7 EDMS_UPLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/UploadHandler.ashx
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -4,3 +4,4 @@ SLEEP_SECOND = 5 ...@@ -4,3 +4,4 @@ SLEEP_SECOND = 5
4 MAX_SLEEP_SECOND = 60 4 MAX_SLEEP_SECOND = 60
5 5
6 EDMS_DOWNLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/DownloadHandler.ashx 6 EDMS_DOWNLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/DownloadHandler.ashx
7 EDMS_UPLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/UploadHandler.ashx
...\ No newline at end of file ...\ No newline at end of file
......
1 <?xml version="1.0" encoding="utf-8"?>
2 <wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://filehold.com/documentrepository/repositorycontroller/" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://filehold.com/documentrepository/repositorycontroller/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
3 <wsdl:types>
4 <s:schema elementFormDefault="qualified" targetNamespace="http://filehold.com/documentrepository/repositorycontroller/">
5 <s:import namespace="http://microsoft.com/wsdl/types/" />
6 <s:element name="CreateUploadToken">
7 <s:complexType>
8 <s:sequence>
9 <s:element minOccurs="1" maxOccurs="1" name="fileSize" type="s:long" />
10 </s:sequence>
11 </s:complexType>
12 </s:element>
13 <s:element name="CreateUploadTokenResponse">
14 <s:complexType>
15 <s:sequence>
16 <s:element minOccurs="1" maxOccurs="1" name="CreateUploadTokenResult" type="s1:guid" />
17 </s:sequence>
18 </s:complexType>
19 </s:element>
20 <s:element name="UploadFileDataChunk">
21 <s:complexType>
22 <s:sequence>
23 <s:element minOccurs="1" maxOccurs="1" name="token" type="s1:guid" />
24 <s:element minOccurs="0" maxOccurs="1" name="chunk" type="s:base64Binary" />
25 </s:sequence>
26 </s:complexType>
27 </s:element>
28 <s:element name="UploadFileDataChunkResponse">
29 <s:complexType />
30 </s:element>
31 <s:element name="GetFileDataChunk">
32 <s:complexType>
33 <s:sequence>
34 <s:element minOccurs="1" maxOccurs="1" name="token" type="s1:guid" />
35 <s:element minOccurs="0" maxOccurs="1" name="buffer" type="s:base64Binary" />
36 <s:element minOccurs="1" maxOccurs="1" name="position" type="s:long" />
37 <s:element minOccurs="1" maxOccurs="1" name="chunkSize" type="s:int" />
38 </s:sequence>
39 </s:complexType>
40 </s:element>
41 <s:element name="GetFileDataChunkResponse">
42 <s:complexType>
43 <s:sequence>
44 <s:element minOccurs="1" maxOccurs="1" name="GetFileDataChunkResult" type="s:int" />
45 <s:element minOccurs="0" maxOccurs="1" name="buffer" type="s:base64Binary" />
46 </s:sequence>
47 </s:complexType>
48 </s:element>
49 <s:element name="DownloadFileDataChunk">
50 <s:complexType>
51 <s:sequence>
52 <s:element minOccurs="1" maxOccurs="1" name="token" type="s1:guid" />
53 <s:element minOccurs="1" maxOccurs="1" name="position" type="s:long" />
54 <s:element minOccurs="1" maxOccurs="1" name="chunkSize" type="s:int" />
55 </s:sequence>
56 </s:complexType>
57 </s:element>
58 <s:element name="DownloadFileDataChunkResponse">
59 <s:complexType>
60 <s:sequence>
61 <s:element minOccurs="0" maxOccurs="1" name="DownloadFileDataChunkResult" type="s:base64Binary" />
62 </s:sequence>
63 </s:complexType>
64 </s:element>
65 <s:element name="RollbackFileCreation">
66 <s:complexType>
67 <s:sequence>
68 <s:element minOccurs="1" maxOccurs="1" name="token" type="s1:guid" />
69 </s:sequence>
70 </s:complexType>
71 </s:element>
72 <s:element name="RollbackFileCreationResponse">
73 <s:complexType />
74 </s:element>
75 <s:element name="AddStorageLocation">
76 <s:complexType>
77 <s:sequence>
78 <s:element minOccurs="0" maxOccurs="1" name="locationPath" type="s:string" />
79 </s:sequence>
80 </s:complexType>
81 </s:element>
82 <s:element name="AddStorageLocationResponse">
83 <s:complexType />
84 </s:element>
85 <s:element name="SetStorageLocation">
86 <s:complexType>
87 <s:sequence>
88 <s:element minOccurs="0" maxOccurs="1" name="locationPath" type="s:string" />
89 </s:sequence>
90 </s:complexType>
91 </s:element>
92 <s:element name="SetStorageLocationResponse">
93 <s:complexType />
94 </s:element>
95 <s:element name="GetStorageLocation">
96 <s:complexType />
97 </s:element>
98 <s:element name="GetStorageLocationResponse">
99 <s:complexType>
100 <s:sequence>
101 <s:element minOccurs="0" maxOccurs="1" name="GetStorageLocationResult" type="s:string" />
102 </s:sequence>
103 </s:complexType>
104 </s:element>
105 <s:element name="GetRepositoryLocationsWithUsedSpace">
106 <s:complexType />
107 </s:element>
108 <s:element name="GetRepositoryLocationsWithUsedSpaceResponse">
109 <s:complexType>
110 <s:sequence>
111 <s:element minOccurs="0" maxOccurs="1" name="GetRepositoryLocationsWithUsedSpaceResult" type="tns:ArrayOfLocation" />
112 </s:sequence>
113 </s:complexType>
114 </s:element>
115 <s:complexType name="ArrayOfLocation">
116 <s:sequence>
117 <s:element minOccurs="0" maxOccurs="unbounded" name="Location" nillable="true" type="tns:Location" />
118 </s:sequence>
119 </s:complexType>
120 <s:complexType name="Location">
121 <s:sequence>
122 <s:element minOccurs="0" maxOccurs="1" name="Path" type="s:string" />
123 <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
124 <s:element minOccurs="1" maxOccurs="1" name="ReadOnly" type="s:boolean" />
125 <s:element minOccurs="1" maxOccurs="1" name="Freespace" type="s:long" />
126 <s:element minOccurs="1" maxOccurs="1" name="Capacity" type="s:long" />
127 <s:element minOccurs="1" maxOccurs="1" name="Threshold" type="s:long" />
128 <s:element minOccurs="1" maxOccurs="1" name="CanDelete" type="s:boolean" />
129 <s:element minOccurs="1" maxOccurs="1" name="UsedSpace" type="s:long" />
130 <s:element minOccurs="1" maxOccurs="1" name="StorageFillState" type="s:int" />
131 </s:sequence>
132 </s:complexType>
133 <s:element name="GetRepositoryLocations">
134 <s:complexType />
135 </s:element>
136 <s:element name="GetRepositoryLocationsResponse">
137 <s:complexType>
138 <s:sequence>
139 <s:element minOccurs="0" maxOccurs="1" name="GetRepositoryLocationsResult" type="tns:ArrayOfLocation" />
140 </s:sequence>
141 </s:complexType>
142 </s:element>
143 <s:element name="GetRepositoryLocation">
144 <s:complexType>
145 <s:sequence>
146 <s:element minOccurs="1" maxOccurs="1" name="repositoryId" type="s:int" />
147 </s:sequence>
148 </s:complexType>
149 </s:element>
150 <s:element name="GetRepositoryLocationResponse">
151 <s:complexType>
152 <s:sequence>
153 <s:element minOccurs="0" maxOccurs="1" name="GetRepositoryLocationResult" type="tns:Location" />
154 </s:sequence>
155 </s:complexType>
156 </s:element>
157 <s:element name="AddRepositoryLocation">
158 <s:complexType>
159 <s:sequence>
160 <s:element minOccurs="0" maxOccurs="1" name="repositoryLocation" type="tns:Location" />
161 </s:sequence>
162 </s:complexType>
163 </s:element>
164 <s:element name="AddRepositoryLocationResponse">
165 <s:complexType />
166 </s:element>
167 <s:element name="SetRepositoryLocation">
168 <s:complexType>
169 <s:sequence>
170 <s:element minOccurs="0" maxOccurs="1" name="repositoryLocation" type="tns:Location" />
171 </s:sequence>
172 </s:complexType>
173 </s:element>
174 <s:element name="SetRepositoryLocationResponse">
175 <s:complexType />
176 </s:element>
177 <s:element name="CheckRepositoryLocation">
178 <s:complexType>
179 <s:sequence>
180 <s:element minOccurs="0" maxOccurs="1" name="repositoryLocation" type="tns:Location" />
181 <s:element minOccurs="1" maxOccurs="1" name="delete" type="s:boolean" />
182 </s:sequence>
183 </s:complexType>
184 </s:element>
185 <s:element name="CheckRepositoryLocationResponse">
186 <s:complexType />
187 </s:element>
188 <s:element name="GetLocationStatistics">
189 <s:complexType>
190 <s:sequence>
191 <s:element minOccurs="0" maxOccurs="1" name="path" type="s:string" />
192 <s:element minOccurs="1" maxOccurs="1" name="capacity" type="s:long" />
193 <s:element minOccurs="1" maxOccurs="1" name="freespace" type="s:long" />
194 <s:element minOccurs="1" maxOccurs="1" name="defualtThreshold" type="s:long" />
195 </s:sequence>
196 </s:complexType>
197 </s:element>
198 <s:element name="GetLocationStatisticsResponse">
199 <s:complexType>
200 <s:sequence>
201 <s:element minOccurs="1" maxOccurs="1" name="capacity" type="s:long" />
202 <s:element minOccurs="1" maxOccurs="1" name="freespace" type="s:long" />
203 <s:element minOccurs="1" maxOccurs="1" name="defualtThreshold" type="s:long" />
204 </s:sequence>
205 </s:complexType>
206 </s:element>
207 <s:element name="DeleteRepositoryLocation">
208 <s:complexType>
209 <s:sequence>
210 <s:element minOccurs="1" maxOccurs="1" name="repositoryLocationId" type="s:int" />
211 </s:sequence>
212 </s:complexType>
213 </s:element>
214 <s:element name="DeleteRepositoryLocationResponse">
215 <s:complexType />
216 </s:element>
217 <s:element name="GetFileSize">
218 <s:complexType>
219 <s:sequence>
220 <s:element minOccurs="1" maxOccurs="1" name="repFileId" type="s:long" />
221 </s:sequence>
222 </s:complexType>
223 </s:element>
224 <s:element name="GetFileSizeResponse">
225 <s:complexType>
226 <s:sequence>
227 <s:element minOccurs="1" maxOccurs="1" name="GetFileSizeResult" type="s:long" />
228 </s:sequence>
229 </s:complexType>
230 </s:element>
231 </s:schema>
232 <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
233 <s:simpleType name="guid">
234 <s:restriction base="s:string">
235 <s:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
236 </s:restriction>
237 </s:simpleType>
238 </s:schema>
239 </wsdl:types>
240 <wsdl:message name="CreateUploadTokenSoapIn">
241 <wsdl:part name="parameters" element="tns:CreateUploadToken" />
242 </wsdl:message>
243 <wsdl:message name="CreateUploadTokenSoapOut">
244 <wsdl:part name="parameters" element="tns:CreateUploadTokenResponse" />
245 </wsdl:message>
246 <wsdl:message name="UploadFileDataChunkSoapIn">
247 <wsdl:part name="parameters" element="tns:UploadFileDataChunk" />
248 </wsdl:message>
249 <wsdl:message name="UploadFileDataChunkSoapOut">
250 <wsdl:part name="parameters" element="tns:UploadFileDataChunkResponse" />
251 </wsdl:message>
252 <wsdl:message name="GetFileDataChunkSoapIn">
253 <wsdl:part name="parameters" element="tns:GetFileDataChunk" />
254 </wsdl:message>
255 <wsdl:message name="GetFileDataChunkSoapOut">
256 <wsdl:part name="parameters" element="tns:GetFileDataChunkResponse" />
257 </wsdl:message>
258 <wsdl:message name="DownloadFileDataChunkSoapIn">
259 <wsdl:part name="parameters" element="tns:DownloadFileDataChunk" />
260 </wsdl:message>
261 <wsdl:message name="DownloadFileDataChunkSoapOut">
262 <wsdl:part name="parameters" element="tns:DownloadFileDataChunkResponse" />
263 </wsdl:message>
264 <wsdl:message name="RollbackFileCreationSoapIn">
265 <wsdl:part name="parameters" element="tns:RollbackFileCreation" />
266 </wsdl:message>
267 <wsdl:message name="RollbackFileCreationSoapOut">
268 <wsdl:part name="parameters" element="tns:RollbackFileCreationResponse" />
269 </wsdl:message>
270 <wsdl:message name="AddStorageLocationSoapIn">
271 <wsdl:part name="parameters" element="tns:AddStorageLocation" />
272 </wsdl:message>
273 <wsdl:message name="AddStorageLocationSoapOut">
274 <wsdl:part name="parameters" element="tns:AddStorageLocationResponse" />
275 </wsdl:message>
276 <wsdl:message name="SetStorageLocationSoapIn">
277 <wsdl:part name="parameters" element="tns:SetStorageLocation" />
278 </wsdl:message>
279 <wsdl:message name="SetStorageLocationSoapOut">
280 <wsdl:part name="parameters" element="tns:SetStorageLocationResponse" />
281 </wsdl:message>
282 <wsdl:message name="GetStorageLocationSoapIn">
283 <wsdl:part name="parameters" element="tns:GetStorageLocation" />
284 </wsdl:message>
285 <wsdl:message name="GetStorageLocationSoapOut">
286 <wsdl:part name="parameters" element="tns:GetStorageLocationResponse" />
287 </wsdl:message>
288 <wsdl:message name="GetRepositoryLocationsWithUsedSpaceSoapIn">
289 <wsdl:part name="parameters" element="tns:GetRepositoryLocationsWithUsedSpace" />
290 </wsdl:message>
291 <wsdl:message name="GetRepositoryLocationsWithUsedSpaceSoapOut">
292 <wsdl:part name="parameters" element="tns:GetRepositoryLocationsWithUsedSpaceResponse" />
293 </wsdl:message>
294 <wsdl:message name="GetRepositoryLocationsSoapIn">
295 <wsdl:part name="parameters" element="tns:GetRepositoryLocations" />
296 </wsdl:message>
297 <wsdl:message name="GetRepositoryLocationsSoapOut">
298 <wsdl:part name="parameters" element="tns:GetRepositoryLocationsResponse" />
299 </wsdl:message>
300 <wsdl:message name="GetRepositoryLocationSoapIn">
301 <wsdl:part name="parameters" element="tns:GetRepositoryLocation" />
302 </wsdl:message>
303 <wsdl:message name="GetRepositoryLocationSoapOut">
304 <wsdl:part name="parameters" element="tns:GetRepositoryLocationResponse" />
305 </wsdl:message>
306 <wsdl:message name="AddRepositoryLocationSoapIn">
307 <wsdl:part name="parameters" element="tns:AddRepositoryLocation" />
308 </wsdl:message>
309 <wsdl:message name="AddRepositoryLocationSoapOut">
310 <wsdl:part name="parameters" element="tns:AddRepositoryLocationResponse" />
311 </wsdl:message>
312 <wsdl:message name="SetRepositoryLocationSoapIn">
313 <wsdl:part name="parameters" element="tns:SetRepositoryLocation" />
314 </wsdl:message>
315 <wsdl:message name="SetRepositoryLocationSoapOut">
316 <wsdl:part name="parameters" element="tns:SetRepositoryLocationResponse" />
317 </wsdl:message>
318 <wsdl:message name="CheckRepositoryLocationSoapIn">
319 <wsdl:part name="parameters" element="tns:CheckRepositoryLocation" />
320 </wsdl:message>
321 <wsdl:message name="CheckRepositoryLocationSoapOut">
322 <wsdl:part name="parameters" element="tns:CheckRepositoryLocationResponse" />
323 </wsdl:message>
324 <wsdl:message name="GetLocationStatisticsSoapIn">
325 <wsdl:part name="parameters" element="tns:GetLocationStatistics" />
326 </wsdl:message>
327 <wsdl:message name="GetLocationStatisticsSoapOut">
328 <wsdl:part name="parameters" element="tns:GetLocationStatisticsResponse" />
329 </wsdl:message>
330 <wsdl:message name="DeleteRepositoryLocationSoapIn">
331 <wsdl:part name="parameters" element="tns:DeleteRepositoryLocation" />
332 </wsdl:message>
333 <wsdl:message name="DeleteRepositoryLocationSoapOut">
334 <wsdl:part name="parameters" element="tns:DeleteRepositoryLocationResponse" />
335 </wsdl:message>
336 <wsdl:message name="GetFileSizeSoapIn">
337 <wsdl:part name="parameters" element="tns:GetFileSize" />
338 </wsdl:message>
339 <wsdl:message name="GetFileSizeSoapOut">
340 <wsdl:part name="parameters" element="tns:GetFileSizeResponse" />
341 </wsdl:message>
342 <wsdl:portType name="RepositoryControllerSoap">
343 <wsdl:operation name="CreateUploadToken">
344 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Generate new upload token and create file in document repository</wsdl:documentation>
345 <wsdl:input message="tns:CreateUploadTokenSoapIn" />
346 <wsdl:output message="tns:CreateUploadTokenSoapOut" />
347 </wsdl:operation>
348 <wsdl:operation name="UploadFileDataChunk">
349 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Append data from chunk to file.</wsdl:documentation>
350 <wsdl:input message="tns:UploadFileDataChunkSoapIn" />
351 <wsdl:output message="tns:UploadFileDataChunkSoapOut" />
352 </wsdl:operation>
353 <wsdl:operation name="GetFileDataChunk">
354 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Return data chunk from specified file</wsdl:documentation>
355 <wsdl:input message="tns:GetFileDataChunkSoapIn" />
356 <wsdl:output message="tns:GetFileDataChunkSoapOut" />
357 </wsdl:operation>
358 <wsdl:operation name="DownloadFileDataChunk">
359 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Return data chunk from specified file</wsdl:documentation>
360 <wsdl:input message="tns:DownloadFileDataChunkSoapIn" />
361 <wsdl:output message="tns:DownloadFileDataChunkSoapOut" />
362 </wsdl:operation>
363 <wsdl:operation name="RollbackFileCreation">
364 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Roll back creation of the file</wsdl:documentation>
365 <wsdl:input message="tns:RollbackFileCreationSoapIn" />
366 <wsdl:output message="tns:RollbackFileCreationSoapOut" />
367 </wsdl:operation>
368 <wsdl:operation name="AddStorageLocation">
369 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Add new storage location to Document Repository</wsdl:documentation>
370 <wsdl:input message="tns:AddStorageLocationSoapIn" />
371 <wsdl:output message="tns:AddStorageLocationSoapOut" />
372 </wsdl:operation>
373 <wsdl:operation name="SetStorageLocation">
374 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">This method is no longer supported, use SetRepositoryLocation instead.</wsdl:documentation>
375 <wsdl:input message="tns:SetStorageLocationSoapIn" />
376 <wsdl:output message="tns:SetStorageLocationSoapOut" />
377 </wsdl:operation>
378 <wsdl:operation name="GetStorageLocation">
379 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve location of the storage</wsdl:documentation>
380 <wsdl:input message="tns:GetStorageLocationSoapIn" />
381 <wsdl:output message="tns:GetStorageLocationSoapOut" />
382 </wsdl:operation>
383 <wsdl:operation name="GetRepositoryLocationsWithUsedSpace">
384 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve configured repository locations with used space.</wsdl:documentation>
385 <wsdl:input message="tns:GetRepositoryLocationsWithUsedSpaceSoapIn" />
386 <wsdl:output message="tns:GetRepositoryLocationsWithUsedSpaceSoapOut" />
387 </wsdl:operation>
388 <wsdl:operation name="GetRepositoryLocations">
389 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve configured repository locations.</wsdl:documentation>
390 <wsdl:input message="tns:GetRepositoryLocationsSoapIn" />
391 <wsdl:output message="tns:GetRepositoryLocationsSoapOut" />
392 </wsdl:operation>
393 <wsdl:operation name="GetRepositoryLocation">
394 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve information about the specified repository location.</wsdl:documentation>
395 <wsdl:input message="tns:GetRepositoryLocationSoapIn" />
396 <wsdl:output message="tns:GetRepositoryLocationSoapOut" />
397 </wsdl:operation>
398 <wsdl:operation name="AddRepositoryLocation">
399 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Add the new repository locations.</wsdl:documentation>
400 <wsdl:input message="tns:AddRepositoryLocationSoapIn" />
401 <wsdl:output message="tns:AddRepositoryLocationSoapOut" />
402 </wsdl:operation>
403 <wsdl:operation name="SetRepositoryLocation">
404 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Edit an existing repository locations.</wsdl:documentation>
405 <wsdl:input message="tns:SetRepositoryLocationSoapIn" />
406 <wsdl:output message="tns:SetRepositoryLocationSoapOut" />
407 </wsdl:operation>
408 <wsdl:operation name="CheckRepositoryLocation">
409 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Validates the specified repository locations.</wsdl:documentation>
410 <wsdl:input message="tns:CheckRepositoryLocationSoapIn" />
411 <wsdl:output message="tns:CheckRepositoryLocationSoapOut" />
412 </wsdl:operation>
413 <wsdl:operation name="GetLocationStatistics">
414 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets a location's statistics.</wsdl:documentation>
415 <wsdl:input message="tns:GetLocationStatisticsSoapIn" />
416 <wsdl:output message="tns:GetLocationStatisticsSoapOut" />
417 </wsdl:operation>
418 <wsdl:operation name="DeleteRepositoryLocation">
419 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Delete an existing repository locations.</wsdl:documentation>
420 <wsdl:input message="tns:DeleteRepositoryLocationSoapIn" />
421 <wsdl:output message="tns:DeleteRepositoryLocationSoapOut" />
422 </wsdl:operation>
423 <wsdl:operation name="GetFileSize">
424 <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Return size of file with specified id</wsdl:documentation>
425 <wsdl:input message="tns:GetFileSizeSoapIn" />
426 <wsdl:output message="tns:GetFileSizeSoapOut" />
427 </wsdl:operation>
428 </wsdl:portType>
429 <wsdl:binding name="RepositoryControllerSoap" type="tns:RepositoryControllerSoap">
430 <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
431 <wsdl:operation name="CreateUploadToken">
432 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/CreateUploadToken" style="document" />
433 <wsdl:input>
434 <soap:body use="literal" />
435 </wsdl:input>
436 <wsdl:output>
437 <soap:body use="literal" />
438 </wsdl:output>
439 </wsdl:operation>
440 <wsdl:operation name="UploadFileDataChunk">
441 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/UploadFileDataChunk" style="document" />
442 <wsdl:input>
443 <soap:body use="literal" />
444 </wsdl:input>
445 <wsdl:output>
446 <soap:body use="literal" />
447 </wsdl:output>
448 </wsdl:operation>
449 <wsdl:operation name="GetFileDataChunk">
450 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetFileDataChunk" style="document" />
451 <wsdl:input>
452 <soap:body use="literal" />
453 </wsdl:input>
454 <wsdl:output>
455 <soap:body use="literal" />
456 </wsdl:output>
457 </wsdl:operation>
458 <wsdl:operation name="DownloadFileDataChunk">
459 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/DownloadFileDataChunk" style="document" />
460 <wsdl:input>
461 <soap:body use="literal" />
462 </wsdl:input>
463 <wsdl:output>
464 <soap:body use="literal" />
465 </wsdl:output>
466 </wsdl:operation>
467 <wsdl:operation name="RollbackFileCreation">
468 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/RollbackFileCreation" style="document" />
469 <wsdl:input>
470 <soap:body use="literal" />
471 </wsdl:input>
472 <wsdl:output>
473 <soap:body use="literal" />
474 </wsdl:output>
475 </wsdl:operation>
476 <wsdl:operation name="AddStorageLocation">
477 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/AddStorageLocation" style="document" />
478 <wsdl:input>
479 <soap:body use="literal" />
480 </wsdl:input>
481 <wsdl:output>
482 <soap:body use="literal" />
483 </wsdl:output>
484 </wsdl:operation>
485 <wsdl:operation name="SetStorageLocation">
486 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/SetStorageLocation" style="document" />
487 <wsdl:input>
488 <soap:body use="literal" />
489 </wsdl:input>
490 <wsdl:output>
491 <soap:body use="literal" />
492 </wsdl:output>
493 </wsdl:operation>
494 <wsdl:operation name="GetStorageLocation">
495 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetStorageLocation" style="document" />
496 <wsdl:input>
497 <soap:body use="literal" />
498 </wsdl:input>
499 <wsdl:output>
500 <soap:body use="literal" />
501 </wsdl:output>
502 </wsdl:operation>
503 <wsdl:operation name="GetRepositoryLocationsWithUsedSpace">
504 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocationsWithUsedSpace" style="document" />
505 <wsdl:input>
506 <soap:body use="literal" />
507 </wsdl:input>
508 <wsdl:output>
509 <soap:body use="literal" />
510 </wsdl:output>
511 </wsdl:operation>
512 <wsdl:operation name="GetRepositoryLocations">
513 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocations" style="document" />
514 <wsdl:input>
515 <soap:body use="literal" />
516 </wsdl:input>
517 <wsdl:output>
518 <soap:body use="literal" />
519 </wsdl:output>
520 </wsdl:operation>
521 <wsdl:operation name="GetRepositoryLocation">
522 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocation" style="document" />
523 <wsdl:input>
524 <soap:body use="literal" />
525 </wsdl:input>
526 <wsdl:output>
527 <soap:body use="literal" />
528 </wsdl:output>
529 </wsdl:operation>
530 <wsdl:operation name="AddRepositoryLocation">
531 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/AddRepositoryLocation" style="document" />
532 <wsdl:input>
533 <soap:body use="literal" />
534 </wsdl:input>
535 <wsdl:output>
536 <soap:body use="literal" />
537 </wsdl:output>
538 </wsdl:operation>
539 <wsdl:operation name="SetRepositoryLocation">
540 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/SetRepositoryLocation" style="document" />
541 <wsdl:input>
542 <soap:body use="literal" />
543 </wsdl:input>
544 <wsdl:output>
545 <soap:body use="literal" />
546 </wsdl:output>
547 </wsdl:operation>
548 <wsdl:operation name="CheckRepositoryLocation">
549 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/CheckRepositoryLocation" style="document" />
550 <wsdl:input>
551 <soap:body use="literal" />
552 </wsdl:input>
553 <wsdl:output>
554 <soap:body use="literal" />
555 </wsdl:output>
556 </wsdl:operation>
557 <wsdl:operation name="GetLocationStatistics">
558 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetLocationStatistics" style="document" />
559 <wsdl:input>
560 <soap:body use="literal" />
561 </wsdl:input>
562 <wsdl:output>
563 <soap:body use="literal" />
564 </wsdl:output>
565 </wsdl:operation>
566 <wsdl:operation name="DeleteRepositoryLocation">
567 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/DeleteRepositoryLocation" style="document" />
568 <wsdl:input>
569 <soap:body use="literal" />
570 </wsdl:input>
571 <wsdl:output>
572 <soap:body use="literal" />
573 </wsdl:output>
574 </wsdl:operation>
575 <wsdl:operation name="GetFileSize">
576 <soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetFileSize" style="document" />
577 <wsdl:input>
578 <soap:body use="literal" />
579 </wsdl:input>
580 <wsdl:output>
581 <soap:body use="literal" />
582 </wsdl:output>
583 </wsdl:operation>
584 </wsdl:binding>
585 <wsdl:binding name="RepositoryControllerSoap12" type="tns:RepositoryControllerSoap">
586 <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
587 <wsdl:operation name="CreateUploadToken">
588 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/CreateUploadToken" style="document" />
589 <wsdl:input>
590 <soap12:body use="literal" />
591 </wsdl:input>
592 <wsdl:output>
593 <soap12:body use="literal" />
594 </wsdl:output>
595 </wsdl:operation>
596 <wsdl:operation name="UploadFileDataChunk">
597 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/UploadFileDataChunk" style="document" />
598 <wsdl:input>
599 <soap12:body use="literal" />
600 </wsdl:input>
601 <wsdl:output>
602 <soap12:body use="literal" />
603 </wsdl:output>
604 </wsdl:operation>
605 <wsdl:operation name="GetFileDataChunk">
606 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetFileDataChunk" style="document" />
607 <wsdl:input>
608 <soap12:body use="literal" />
609 </wsdl:input>
610 <wsdl:output>
611 <soap12:body use="literal" />
612 </wsdl:output>
613 </wsdl:operation>
614 <wsdl:operation name="DownloadFileDataChunk">
615 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/DownloadFileDataChunk" style="document" />
616 <wsdl:input>
617 <soap12:body use="literal" />
618 </wsdl:input>
619 <wsdl:output>
620 <soap12:body use="literal" />
621 </wsdl:output>
622 </wsdl:operation>
623 <wsdl:operation name="RollbackFileCreation">
624 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/RollbackFileCreation" style="document" />
625 <wsdl:input>
626 <soap12:body use="literal" />
627 </wsdl:input>
628 <wsdl:output>
629 <soap12:body use="literal" />
630 </wsdl:output>
631 </wsdl:operation>
632 <wsdl:operation name="AddStorageLocation">
633 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/AddStorageLocation" style="document" />
634 <wsdl:input>
635 <soap12:body use="literal" />
636 </wsdl:input>
637 <wsdl:output>
638 <soap12:body use="literal" />
639 </wsdl:output>
640 </wsdl:operation>
641 <wsdl:operation name="SetStorageLocation">
642 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/SetStorageLocation" style="document" />
643 <wsdl:input>
644 <soap12:body use="literal" />
645 </wsdl:input>
646 <wsdl:output>
647 <soap12:body use="literal" />
648 </wsdl:output>
649 </wsdl:operation>
650 <wsdl:operation name="GetStorageLocation">
651 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetStorageLocation" style="document" />
652 <wsdl:input>
653 <soap12:body use="literal" />
654 </wsdl:input>
655 <wsdl:output>
656 <soap12:body use="literal" />
657 </wsdl:output>
658 </wsdl:operation>
659 <wsdl:operation name="GetRepositoryLocationsWithUsedSpace">
660 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocationsWithUsedSpace" style="document" />
661 <wsdl:input>
662 <soap12:body use="literal" />
663 </wsdl:input>
664 <wsdl:output>
665 <soap12:body use="literal" />
666 </wsdl:output>
667 </wsdl:operation>
668 <wsdl:operation name="GetRepositoryLocations">
669 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocations" style="document" />
670 <wsdl:input>
671 <soap12:body use="literal" />
672 </wsdl:input>
673 <wsdl:output>
674 <soap12:body use="literal" />
675 </wsdl:output>
676 </wsdl:operation>
677 <wsdl:operation name="GetRepositoryLocation">
678 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocation" style="document" />
679 <wsdl:input>
680 <soap12:body use="literal" />
681 </wsdl:input>
682 <wsdl:output>
683 <soap12:body use="literal" />
684 </wsdl:output>
685 </wsdl:operation>
686 <wsdl:operation name="AddRepositoryLocation">
687 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/AddRepositoryLocation" style="document" />
688 <wsdl:input>
689 <soap12:body use="literal" />
690 </wsdl:input>
691 <wsdl:output>
692 <soap12:body use="literal" />
693 </wsdl:output>
694 </wsdl:operation>
695 <wsdl:operation name="SetRepositoryLocation">
696 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/SetRepositoryLocation" style="document" />
697 <wsdl:input>
698 <soap12:body use="literal" />
699 </wsdl:input>
700 <wsdl:output>
701 <soap12:body use="literal" />
702 </wsdl:output>
703 </wsdl:operation>
704 <wsdl:operation name="CheckRepositoryLocation">
705 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/CheckRepositoryLocation" style="document" />
706 <wsdl:input>
707 <soap12:body use="literal" />
708 </wsdl:input>
709 <wsdl:output>
710 <soap12:body use="literal" />
711 </wsdl:output>
712 </wsdl:operation>
713 <wsdl:operation name="GetLocationStatistics">
714 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetLocationStatistics" style="document" />
715 <wsdl:input>
716 <soap12:body use="literal" />
717 </wsdl:input>
718 <wsdl:output>
719 <soap12:body use="literal" />
720 </wsdl:output>
721 </wsdl:operation>
722 <wsdl:operation name="DeleteRepositoryLocation">
723 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/DeleteRepositoryLocation" style="document" />
724 <wsdl:input>
725 <soap12:body use="literal" />
726 </wsdl:input>
727 <wsdl:output>
728 <soap12:body use="literal" />
729 </wsdl:output>
730 </wsdl:operation>
731 <wsdl:operation name="GetFileSize">
732 <soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetFileSize" style="document" />
733 <wsdl:input>
734 <soap12:body use="literal" />
735 </wsdl:input>
736 <wsdl:output>
737 <soap12:body use="literal" />
738 </wsdl:output>
739 </wsdl:operation>
740 </wsdl:binding>
741 <wsdl:service name="RepositoryController">
742 <wsdl:port name="RepositoryControllerSoap" binding="tns:RepositoryControllerSoap">
743 <soap:address location="https://edms-test.bmw.com/FH/FileHold/DocumentRepository/RepositoryController.asmx" />
744 </wsdl:port>
745 <wsdl:port name="RepositoryControllerSoap12" binding="tns:RepositoryControllerSoap12">
746 <soap12:address location="https://edms-test.bmw.com/FH/FileHold/DocumentRepository/RepositoryController.asmx" />
747 </wsdl:port>
748 </wsdl:service>
749 </wsdl:definitions>
...\ No newline at end of file ...\ No newline at end of file
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!