Как добавить wsse timestamp Zeep Python? - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу добавить метку времени wsse к клиенту

<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         <wsu:Timestamp wsu:Id="TS-C2F459A7D74D7BCA9A15414094392862">
            <wsu:Created>2018-11-05T09:17:19.286Z</wsu:Created>
            <wsu:Expires>2019-03-01T03:03:59.286Z</wsu:Expires>
         </wsu:Timestamp>
         <wsse:UsernameToken wsu:Id="UsernameToken-C2F459A7D74D7BCA9A15414094222921">
            <wsse:Username>username</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Welcome.1</wsse:Password>
            <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">IRyVMwFWGP6U7cKeGpZrKA==</wsse:Nonce>
            <wsu:Created>2018-11-05T09:17:02.284Z</wsu:Created>
         </wsse:UsernameToken>


from datetime import datetime 
from datetime import timedelta   
from zeep import Client
from zeep.wsse import UsernameToken
url="htt/ess/esswebservice?WSDL"
client = Client(url,wsse=UsernameToken('usernmae', 'Welcome.1'))
result = client.service.submitInstantRecurringRequest(description='TestESS1',jobDefinitionId = {
    'name': 'BulkImportJob',
    'packageName': '/oracle/apps/ess/cdm/foundation/bulkImport/',
    'type': 'JOB_DEFINITION'
} ,iCalSchedule='FREQ=DAILY;INTERVAL=2;',application='CrmEss',requestedStartTime=datetime.now(),requestedEndTime=datetime.now()+timedelta(days=1), requestParameters={} )
print (result) ## shows the details of this service

Временная метка требуется wsdl, может кто-нибудь помочь?

...