Reputation: 1
I have SOAP request example below. Would like to skip "Request_References" elements and only pass "Response_Filter" using Zeep
<?xml version="1.0" encoding="UTF-8"?>
<wd:Get_Workers_Request xmlns:wd="urn:com.workday/bsvc" wd:version="v38.0">
<wd:Request_References
wd:Skip_Non_Existing_Instances="true"
wd:Ignore_Invalid_References="true">
<wd:Worker_Reference>
<wd:ID wd:type="Employee_ID">abcdef</wd:ID>
</wd:Worker_Reference>
</wd:Request_References>
<wd:Response_Filter>
<wd:As_Of_Effective_Date>2022-09-03</wd:As_Of_Effective_Date>
<wd:As_Of_Entry_DateTime>2022-09-03T14:26:34</wd:As_Of_Entry_DateTime>
<wd:Page>1</wd:Page>
<wd:Count>100</wd:Count>
</wd:Response_Filter>
</wd:Get_Workers_Request>
If I pass request_dict as below, it works
request_dict = {
'Worker_Reference': {
'ID': {
'type': 'Employee_ID',
'_value_1': employee_id
},
'Descriptor': None
},
'Skip_Non_Existing_Instances': None,
'Ignore_Invalid_References': None
}
If I want to skip "Request_References" elements using code below, then it doesn't work.
client = Client(url, wsse=UsernameToken(user, password), plugins=[history])
request_dict = {
'Request_References': xsd.SkipValue,
'Response_Filter': {
'Page': '1',
'Count': '1'
}
}
client.service.Get_Workers(request_dict)
Reall
Upvotes: 0
Views: 190
Reputation: 1
Figured it out. Here is the answer
request_dict = {
'Worker_Reference': {
'ID': {
'type': 'Employee_ID',
'_value_1': employee_id
},
'Descriptor': None
},
'Skip_Non_Existing_Instances': None,
'Ignore_Invalid_References': None
}
filter_dict = {
'Page':1,
'Count': 1
}
try :
print (client.service.Get_Workers(Request_References=request_dict,Response_Filter=filter_dict ))
except Exception:
pass
Upvotes: 0