#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.