1c0f538f by 周伟奇

eDMS upload doc

1 parent edb14afd
......@@ -11,7 +11,9 @@ class EDMS:
self.sm_client = Client(wsdl=conf.SM_WSDL)
self.dm_client = Client(wsdl=conf.DM_WSDL)
self.df_client = Client(wsdl=conf.DF_WSDL)
self.rc_client = Client(wsdl=conf.RC_WSDL)
self.download_url = conf.EDMS_DOWNLOAD_URL
self.upload_url = conf.EDMS_UPLOAD_URL
self.user_name = user_name
self.pwd = pwd
self.session_id = None
......@@ -35,6 +37,11 @@ class EDMS:
return self.session_id
return self.set_session_id()
def get_headers(self):
session_id = self.get_session_id()
headers = {'Cookie': '{0}={1}'.format(consts.SESSION_PREFIX, session_id)}
return headers
def get_download_token(self, headers, metadata_version_id):
with self.dm_client.settings(extra_http_headers=headers):
res = self.dm_client.service.PrepareSingleDocumentToDownload(metadataVersionId=metadata_version_id,
......@@ -43,12 +50,7 @@ class EDMS:
actionType=consts.DOWNLOAD_ACTION_TYPE)
return res.token
def download(self, save_path, metadata_version_id):
session_id = self.get_session_id()
headers = {'Cookie': '{0}={1}'.format(consts.SESSION_PREFIX, session_id)}
token = self.get_download_token(headers, metadata_version_id)
params = {'token': token}
def download_handler(self, params, headers, save_path):
r = requests.get(self.download_url, params=params, headers=headers, stream=True)
with open(save_path, "wb") as f:
# chunk是指定每次写入的大小,每次只写了512byte
......@@ -57,3 +59,39 @@ class EDMS:
f.write(chunk)
f.flush()
def download(self, save_path, metadata_version_id):
headers = self.get_headers()
token = self.get_download_token(headers, metadata_version_id)
params = {'token': token}
self.download_handler(params, headers, save_path)
def create_upload_token(self, headers, file_size):
with self.rc_client.settings(extra_http_headers=headers):
token = self.rc_client.service.CreateUploadToken(fileSize=file_size)
return token
def upload_handler(self, file_path, params, headers):
with open(file_path, 'rb') as f:
data = f.read()
for retry in range(4):
res = requests.post(self.upload_url, params=params, headers=headers, data=data)
if res.status_code == requests.codes.ok:
break
else:
raise Exception
def add_doc_info(self, headers, token, app_info):
with self.dm_client.settings(extra_http_headers=headers):
res = self.dm_client.service.AddDocumentInfo()
return res
def upload(self, file_path, file_size, app_info):
headers = self.get_headers()
token = self.create_upload_token(headers, file_size)
headers.update({'Content-Type': 'application/octet-stream'})
params = {'token': token}
self.upload_handler(file_path, params, headers)
headers.pop('Content-Type')
self.add_doc_info(headers, token, app_info)
......
......@@ -11,6 +11,7 @@ LOGGING_CONFIG_FILE = os.path.join(COMMON_CONF_DIR, 'logging.conf')
SM_WSDL = os.path.join(WSDL_DIR, 'SessionManager.wsdl')
DM_WSDL = os.path.join(WSDL_DIR, 'DocumentManager.wsdl')
DF_WSDL = os.path.join(WSDL_DIR, 'DocumentFinder.wsdl')
RC_WSDL = os.path.join(WSDL_DIR, 'RepositoryController.wsdl')
# 文件存放根目录
LOG_DIR = os.path.join(os.path.dirname(BASE_DIR), 'logs')
......
......@@ -4,3 +4,4 @@ SLEEP_SECOND = 5
MAX_SLEEP_SECOND = 60
EDMS_DOWNLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/DownloadHandler.ashx
EDMS_UPLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/UploadHandler.ashx
\ No newline at end of file
......
......@@ -4,3 +4,4 @@ SLEEP_SECOND = 5
MAX_SLEEP_SECOND = 60
EDMS_DOWNLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/DownloadHandler.ashx
EDMS_UPLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/UploadHandler.ashx
\ No newline at end of file
......
......@@ -4,3 +4,4 @@ SLEEP_SECOND = 5
MAX_SLEEP_SECOND = 60
EDMS_DOWNLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/DownloadHandler.ashx
EDMS_UPLOAD_URL = https://edms-test.bmw.com/FH/FileHold/DocumentRepository/UploadHandler.ashx
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<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/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://filehold.com/documentrepository/repositorycontroller/">
<s:import namespace="http://microsoft.com/wsdl/types/" />
<s:element name="CreateUploadToken">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="fileSize" type="s:long" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="CreateUploadTokenResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="CreateUploadTokenResult" type="s1:guid" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="UploadFileDataChunk">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="token" type="s1:guid" />
<s:element minOccurs="0" maxOccurs="1" name="chunk" type="s:base64Binary" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="UploadFileDataChunkResponse">
<s:complexType />
</s:element>
<s:element name="GetFileDataChunk">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="token" type="s1:guid" />
<s:element minOccurs="0" maxOccurs="1" name="buffer" type="s:base64Binary" />
<s:element minOccurs="1" maxOccurs="1" name="position" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="chunkSize" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetFileDataChunkResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="GetFileDataChunkResult" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="buffer" type="s:base64Binary" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DownloadFileDataChunk">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="token" type="s1:guid" />
<s:element minOccurs="1" maxOccurs="1" name="position" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="chunkSize" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DownloadFileDataChunkResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="DownloadFileDataChunkResult" type="s:base64Binary" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="RollbackFileCreation">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="token" type="s1:guid" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="RollbackFileCreationResponse">
<s:complexType />
</s:element>
<s:element name="AddStorageLocation">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="locationPath" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AddStorageLocationResponse">
<s:complexType />
</s:element>
<s:element name="SetStorageLocation">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="locationPath" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="SetStorageLocationResponse">
<s:complexType />
</s:element>
<s:element name="GetStorageLocation">
<s:complexType />
</s:element>
<s:element name="GetStorageLocationResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetStorageLocationResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetRepositoryLocationsWithUsedSpace">
<s:complexType />
</s:element>
<s:element name="GetRepositoryLocationsWithUsedSpaceResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetRepositoryLocationsWithUsedSpaceResult" type="tns:ArrayOfLocation" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ArrayOfLocation">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Location" nillable="true" type="tns:Location" />
</s:sequence>
</s:complexType>
<s:complexType name="Location">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Path" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="ReadOnly" type="s:boolean" />
<s:element minOccurs="1" maxOccurs="1" name="Freespace" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="Capacity" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="Threshold" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="CanDelete" type="s:boolean" />
<s:element minOccurs="1" maxOccurs="1" name="UsedSpace" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="StorageFillState" type="s:int" />
</s:sequence>
</s:complexType>
<s:element name="GetRepositoryLocations">
<s:complexType />
</s:element>
<s:element name="GetRepositoryLocationsResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetRepositoryLocationsResult" type="tns:ArrayOfLocation" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetRepositoryLocation">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="repositoryId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetRepositoryLocationResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetRepositoryLocationResult" type="tns:Location" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AddRepositoryLocation">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="repositoryLocation" type="tns:Location" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AddRepositoryLocationResponse">
<s:complexType />
</s:element>
<s:element name="SetRepositoryLocation">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="repositoryLocation" type="tns:Location" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="SetRepositoryLocationResponse">
<s:complexType />
</s:element>
<s:element name="CheckRepositoryLocation">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="repositoryLocation" type="tns:Location" />
<s:element minOccurs="1" maxOccurs="1" name="delete" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="CheckRepositoryLocationResponse">
<s:complexType />
</s:element>
<s:element name="GetLocationStatistics">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="path" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="capacity" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="freespace" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="defualtThreshold" type="s:long" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetLocationStatisticsResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="capacity" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="freespace" type="s:long" />
<s:element minOccurs="1" maxOccurs="1" name="defualtThreshold" type="s:long" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DeleteRepositoryLocation">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="repositoryLocationId" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DeleteRepositoryLocationResponse">
<s:complexType />
</s:element>
<s:element name="GetFileSize">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="repFileId" type="s:long" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetFileSizeResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="GetFileSizeResult" type="s:long" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
<s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
<s:simpleType name="guid">
<s:restriction base="s:string">
<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}" />
</s:restriction>
</s:simpleType>
</s:schema>
</wsdl:types>
<wsdl:message name="CreateUploadTokenSoapIn">
<wsdl:part name="parameters" element="tns:CreateUploadToken" />
</wsdl:message>
<wsdl:message name="CreateUploadTokenSoapOut">
<wsdl:part name="parameters" element="tns:CreateUploadTokenResponse" />
</wsdl:message>
<wsdl:message name="UploadFileDataChunkSoapIn">
<wsdl:part name="parameters" element="tns:UploadFileDataChunk" />
</wsdl:message>
<wsdl:message name="UploadFileDataChunkSoapOut">
<wsdl:part name="parameters" element="tns:UploadFileDataChunkResponse" />
</wsdl:message>
<wsdl:message name="GetFileDataChunkSoapIn">
<wsdl:part name="parameters" element="tns:GetFileDataChunk" />
</wsdl:message>
<wsdl:message name="GetFileDataChunkSoapOut">
<wsdl:part name="parameters" element="tns:GetFileDataChunkResponse" />
</wsdl:message>
<wsdl:message name="DownloadFileDataChunkSoapIn">
<wsdl:part name="parameters" element="tns:DownloadFileDataChunk" />
</wsdl:message>
<wsdl:message name="DownloadFileDataChunkSoapOut">
<wsdl:part name="parameters" element="tns:DownloadFileDataChunkResponse" />
</wsdl:message>
<wsdl:message name="RollbackFileCreationSoapIn">
<wsdl:part name="parameters" element="tns:RollbackFileCreation" />
</wsdl:message>
<wsdl:message name="RollbackFileCreationSoapOut">
<wsdl:part name="parameters" element="tns:RollbackFileCreationResponse" />
</wsdl:message>
<wsdl:message name="AddStorageLocationSoapIn">
<wsdl:part name="parameters" element="tns:AddStorageLocation" />
</wsdl:message>
<wsdl:message name="AddStorageLocationSoapOut">
<wsdl:part name="parameters" element="tns:AddStorageLocationResponse" />
</wsdl:message>
<wsdl:message name="SetStorageLocationSoapIn">
<wsdl:part name="parameters" element="tns:SetStorageLocation" />
</wsdl:message>
<wsdl:message name="SetStorageLocationSoapOut">
<wsdl:part name="parameters" element="tns:SetStorageLocationResponse" />
</wsdl:message>
<wsdl:message name="GetStorageLocationSoapIn">
<wsdl:part name="parameters" element="tns:GetStorageLocation" />
</wsdl:message>
<wsdl:message name="GetStorageLocationSoapOut">
<wsdl:part name="parameters" element="tns:GetStorageLocationResponse" />
</wsdl:message>
<wsdl:message name="GetRepositoryLocationsWithUsedSpaceSoapIn">
<wsdl:part name="parameters" element="tns:GetRepositoryLocationsWithUsedSpace" />
</wsdl:message>
<wsdl:message name="GetRepositoryLocationsWithUsedSpaceSoapOut">
<wsdl:part name="parameters" element="tns:GetRepositoryLocationsWithUsedSpaceResponse" />
</wsdl:message>
<wsdl:message name="GetRepositoryLocationsSoapIn">
<wsdl:part name="parameters" element="tns:GetRepositoryLocations" />
</wsdl:message>
<wsdl:message name="GetRepositoryLocationsSoapOut">
<wsdl:part name="parameters" element="tns:GetRepositoryLocationsResponse" />
</wsdl:message>
<wsdl:message name="GetRepositoryLocationSoapIn">
<wsdl:part name="parameters" element="tns:GetRepositoryLocation" />
</wsdl:message>
<wsdl:message name="GetRepositoryLocationSoapOut">
<wsdl:part name="parameters" element="tns:GetRepositoryLocationResponse" />
</wsdl:message>
<wsdl:message name="AddRepositoryLocationSoapIn">
<wsdl:part name="parameters" element="tns:AddRepositoryLocation" />
</wsdl:message>
<wsdl:message name="AddRepositoryLocationSoapOut">
<wsdl:part name="parameters" element="tns:AddRepositoryLocationResponse" />
</wsdl:message>
<wsdl:message name="SetRepositoryLocationSoapIn">
<wsdl:part name="parameters" element="tns:SetRepositoryLocation" />
</wsdl:message>
<wsdl:message name="SetRepositoryLocationSoapOut">
<wsdl:part name="parameters" element="tns:SetRepositoryLocationResponse" />
</wsdl:message>
<wsdl:message name="CheckRepositoryLocationSoapIn">
<wsdl:part name="parameters" element="tns:CheckRepositoryLocation" />
</wsdl:message>
<wsdl:message name="CheckRepositoryLocationSoapOut">
<wsdl:part name="parameters" element="tns:CheckRepositoryLocationResponse" />
</wsdl:message>
<wsdl:message name="GetLocationStatisticsSoapIn">
<wsdl:part name="parameters" element="tns:GetLocationStatistics" />
</wsdl:message>
<wsdl:message name="GetLocationStatisticsSoapOut">
<wsdl:part name="parameters" element="tns:GetLocationStatisticsResponse" />
</wsdl:message>
<wsdl:message name="DeleteRepositoryLocationSoapIn">
<wsdl:part name="parameters" element="tns:DeleteRepositoryLocation" />
</wsdl:message>
<wsdl:message name="DeleteRepositoryLocationSoapOut">
<wsdl:part name="parameters" element="tns:DeleteRepositoryLocationResponse" />
</wsdl:message>
<wsdl:message name="GetFileSizeSoapIn">
<wsdl:part name="parameters" element="tns:GetFileSize" />
</wsdl:message>
<wsdl:message name="GetFileSizeSoapOut">
<wsdl:part name="parameters" element="tns:GetFileSizeResponse" />
</wsdl:message>
<wsdl:portType name="RepositoryControllerSoap">
<wsdl:operation name="CreateUploadToken">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Generate new upload token and create file in document repository</wsdl:documentation>
<wsdl:input message="tns:CreateUploadTokenSoapIn" />
<wsdl:output message="tns:CreateUploadTokenSoapOut" />
</wsdl:operation>
<wsdl:operation name="UploadFileDataChunk">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Append data from chunk to file.</wsdl:documentation>
<wsdl:input message="tns:UploadFileDataChunkSoapIn" />
<wsdl:output message="tns:UploadFileDataChunkSoapOut" />
</wsdl:operation>
<wsdl:operation name="GetFileDataChunk">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Return data chunk from specified file</wsdl:documentation>
<wsdl:input message="tns:GetFileDataChunkSoapIn" />
<wsdl:output message="tns:GetFileDataChunkSoapOut" />
</wsdl:operation>
<wsdl:operation name="DownloadFileDataChunk">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Return data chunk from specified file</wsdl:documentation>
<wsdl:input message="tns:DownloadFileDataChunkSoapIn" />
<wsdl:output message="tns:DownloadFileDataChunkSoapOut" />
</wsdl:operation>
<wsdl:operation name="RollbackFileCreation">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Roll back creation of the file</wsdl:documentation>
<wsdl:input message="tns:RollbackFileCreationSoapIn" />
<wsdl:output message="tns:RollbackFileCreationSoapOut" />
</wsdl:operation>
<wsdl:operation name="AddStorageLocation">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Add new storage location to Document Repository</wsdl:documentation>
<wsdl:input message="tns:AddStorageLocationSoapIn" />
<wsdl:output message="tns:AddStorageLocationSoapOut" />
</wsdl:operation>
<wsdl:operation name="SetStorageLocation">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">This method is no longer supported, use SetRepositoryLocation instead.</wsdl:documentation>
<wsdl:input message="tns:SetStorageLocationSoapIn" />
<wsdl:output message="tns:SetStorageLocationSoapOut" />
</wsdl:operation>
<wsdl:operation name="GetStorageLocation">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve location of the storage</wsdl:documentation>
<wsdl:input message="tns:GetStorageLocationSoapIn" />
<wsdl:output message="tns:GetStorageLocationSoapOut" />
</wsdl:operation>
<wsdl:operation name="GetRepositoryLocationsWithUsedSpace">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve configured repository locations with used space.</wsdl:documentation>
<wsdl:input message="tns:GetRepositoryLocationsWithUsedSpaceSoapIn" />
<wsdl:output message="tns:GetRepositoryLocationsWithUsedSpaceSoapOut" />
</wsdl:operation>
<wsdl:operation name="GetRepositoryLocations">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve configured repository locations.</wsdl:documentation>
<wsdl:input message="tns:GetRepositoryLocationsSoapIn" />
<wsdl:output message="tns:GetRepositoryLocationsSoapOut" />
</wsdl:operation>
<wsdl:operation name="GetRepositoryLocation">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve information about the specified repository location.</wsdl:documentation>
<wsdl:input message="tns:GetRepositoryLocationSoapIn" />
<wsdl:output message="tns:GetRepositoryLocationSoapOut" />
</wsdl:operation>
<wsdl:operation name="AddRepositoryLocation">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Add the new repository locations.</wsdl:documentation>
<wsdl:input message="tns:AddRepositoryLocationSoapIn" />
<wsdl:output message="tns:AddRepositoryLocationSoapOut" />
</wsdl:operation>
<wsdl:operation name="SetRepositoryLocation">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Edit an existing repository locations.</wsdl:documentation>
<wsdl:input message="tns:SetRepositoryLocationSoapIn" />
<wsdl:output message="tns:SetRepositoryLocationSoapOut" />
</wsdl:operation>
<wsdl:operation name="CheckRepositoryLocation">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Validates the specified repository locations.</wsdl:documentation>
<wsdl:input message="tns:CheckRepositoryLocationSoapIn" />
<wsdl:output message="tns:CheckRepositoryLocationSoapOut" />
</wsdl:operation>
<wsdl:operation name="GetLocationStatistics">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets a location's statistics.</wsdl:documentation>
<wsdl:input message="tns:GetLocationStatisticsSoapIn" />
<wsdl:output message="tns:GetLocationStatisticsSoapOut" />
</wsdl:operation>
<wsdl:operation name="DeleteRepositoryLocation">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Delete an existing repository locations.</wsdl:documentation>
<wsdl:input message="tns:DeleteRepositoryLocationSoapIn" />
<wsdl:output message="tns:DeleteRepositoryLocationSoapOut" />
</wsdl:operation>
<wsdl:operation name="GetFileSize">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Return size of file with specified id</wsdl:documentation>
<wsdl:input message="tns:GetFileSizeSoapIn" />
<wsdl:output message="tns:GetFileSizeSoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="RepositoryControllerSoap" type="tns:RepositoryControllerSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="CreateUploadToken">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/CreateUploadToken" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UploadFileDataChunk">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/UploadFileDataChunk" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetFileDataChunk">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetFileDataChunk" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="DownloadFileDataChunk">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/DownloadFileDataChunk" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="RollbackFileCreation">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/RollbackFileCreation" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="AddStorageLocation">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/AddStorageLocation" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SetStorageLocation">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/SetStorageLocation" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetStorageLocation">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetStorageLocation" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetRepositoryLocationsWithUsedSpace">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocationsWithUsedSpace" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetRepositoryLocations">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocations" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetRepositoryLocation">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocation" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="AddRepositoryLocation">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/AddRepositoryLocation" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SetRepositoryLocation">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/SetRepositoryLocation" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CheckRepositoryLocation">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/CheckRepositoryLocation" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetLocationStatistics">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetLocationStatistics" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="DeleteRepositoryLocation">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/DeleteRepositoryLocation" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetFileSize">
<soap:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetFileSize" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="RepositoryControllerSoap12" type="tns:RepositoryControllerSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="CreateUploadToken">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/CreateUploadToken" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UploadFileDataChunk">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/UploadFileDataChunk" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetFileDataChunk">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetFileDataChunk" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="DownloadFileDataChunk">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/DownloadFileDataChunk" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="RollbackFileCreation">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/RollbackFileCreation" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="AddStorageLocation">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/AddStorageLocation" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SetStorageLocation">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/SetStorageLocation" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetStorageLocation">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetStorageLocation" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetRepositoryLocationsWithUsedSpace">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocationsWithUsedSpace" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetRepositoryLocations">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocations" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetRepositoryLocation">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetRepositoryLocation" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="AddRepositoryLocation">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/AddRepositoryLocation" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="SetRepositoryLocation">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/SetRepositoryLocation" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CheckRepositoryLocation">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/CheckRepositoryLocation" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetLocationStatistics">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetLocationStatistics" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="DeleteRepositoryLocation">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/DeleteRepositoryLocation" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetFileSize">
<soap12:operation soapAction="http://filehold.com/documentrepository/repositorycontroller/GetFileSize" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="RepositoryController">
<wsdl:port name="RepositoryControllerSoap" binding="tns:RepositoryControllerSoap">
<soap:address location="https://edms-test.bmw.com/FH/FileHold/DocumentRepository/RepositoryController.asmx" />
</wsdl:port>
<wsdl:port name="RepositoryControllerSoap12" binding="tns:RepositoryControllerSoap12">
<soap12:address location="https://edms-test.bmw.com/FH/FileHold/DocumentRepository/RepositoryController.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
\ 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!