ошибка при загрузке файлов из Oracle UCM

#python #oracle #soap #cloud

#python #Oracle #soap #облако

Вопрос:

заголовки и тело soap установлены правильно, с запросами docID. смотрите ниже

 headers = {'content-type': 'text/xml','charset':'UTF-8'}

body_ID="""<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ucm="http://www.oracle.com/UCM">
    <soapenv:Header/>
    <soapenv:Body>
    <ucm:GenericRequest webKey="cs">
        <ucm:Service IdcService="GET_FILE">
            <ucm:Document>
                <!--Zero or more repetitions:-->
                <ucm:Field name="dID">{docID}</ucm:Field>
            </ucm:Document>
        </ucm:Service>
    </ucm:GenericRequest>
    </soapenv:Body>
</soapenv:Envelope>""".format(DocID='<DOCID>')
 

получение ошибки ниже при ответе на запросы

 success
<Response [200]>
b'------=_Part_11826_1961656318.1609798653407rnContent-Type: application/xop xml;charset=UTF-8;type="text/xml"rnContent-Transfer-Encoding: 8bitrnContent-ID: <4522dc33-d0c7-4609-aefb-5f2768a2cde4>rnrn<?xml version="1.0" encoding="UTF-8" ?>n<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><ns2:GenericResponse xmlns:ns2="http://www.oracle.com/UCM"><ns2:Service IdcService="GET_FILE"><ns2:Document><ns2:Field name="StatusCode">-1</ns2:Field><ns2:Field name="dID">UCMFA08693968</ns2:Field><ns2:Field name="refreshMonikers"></ns2:Field><ns2:Field name="refreshSubMonikers"></ns2:Field><ns2:Field name="IdcService">GET_FILE</ns2:Field><ns2:Field name="changedMonikers"></ns2:Field><ns2:Field name="StatusMessageKey">!csUnableToDownloadFile!csServiceDataException,DOC_INFO_SUB,QdocInfo</ns2:Field><ns2:Field name="idcToken"></ns2:Field><ns2:Field name="StatusMessage">Unable to download file. Unable to execute service DOC_INFO_SUB and function QdocInfo.n</ns2:Field><ns2:Field name="dUser">{user replaced}</ns2:Field><ns2:
 

специфическая ошибка

 StatusMessageKey">!csUnableToDownloadFile!csServiceDataException,DOC_INFO_SUB,QdocInfo</
 

Возможность входа в систему с тем же пользователем / паролем и загрузки вручную

Ответ №1:

Так же, как и в wsdl, было задано как целое число. Значение UCM * на самом деле является именем документа, а заголовок документа будет именем файла. Значение dID должно быть извлечено с помощью GET_SEARCH_RESULTS по DocName . Аналогично GET_SEARCH_RESULTS для автоматического поиска тегов.

Надеюсь, это поможет всем, кто хочет сделать это с помощью python, не видя многого в интеграции с HCM python.