Zeep:无法设置具有其他名称p的有效负载的请求

2024-05-20 00:55:46 发布

您现在位置:Python中文网/ 问答频道 /正文

AdaptiveAuthentication.txt Zeep版本:2.4.0

我是Zeep的新手,能够构造soap客户端并解析响应。 我面临着我的一个请求的问题,我们不能建立基于有效载荷。在

请求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.csd.rsa.com">
   <soapenv:Header/>
<soapenv:Body><ws:updateUser>
     <ws:request>
        <ws:credentialManagementRequestList>
           <ws:acspManagementRequestData>
              <ws:credentialProvisioningStatus>ACTIVE</ws:credentialProvisioningStatus>
              <ws:payload xsi:type="ns835:OOBSMSManagementRequest" xmlns:ns835="http://ws.oobsms.csd.rsa.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                 <!--Optional:-->
                 <!--Optional:-->
                 <ws1:action xmlns:ws1="http://ws.oobgen.csd.rsa.com">ADD</ws1:action>
                 <!--Zero or more repetitions:-->
                 <ws1:contactList xmlns:ws1="http://ws.oobgen.csd.rsa.com">
                    <!--Optional:-->
                    <ws1:isDefault>true</ws1:isDefault>
                    <ws1:phoneNumber>${#Project#phoneNumber}</ws1:phoneNumber>
                    <ws1:countryCode>${#Project#countryCode}</ws1:countryCode>
                    <ws1:areaCode>${#Project#areaCode}</ws1:areaCode>
                    <ws1:label>${#Project#label}</ws1:label>
                    <!--Optional:-->
                    <!--Optional:-->
                    <!--Optional:-->
                    <!--Optional:-->
                    <!--Optional:-->
                 </ws1:contactList>
              </ws:payload>
           </ws:acspManagementRequestData>
        </ws:credentialManagementRequestList>
        <ws:runRiskType>ALL</ws:runRiskType>
     </ws:request>
  </ws:updateUser>

在 在

代码:

^{pr2}$

update_user_request = self.soap.client.get_type('ns0:UpdateUserRequest') self.soap.service.updateUser(update_user_request(**update_oob_sms ))

Response : TypeError: {http://ws.csd.rsa.com}AcspManagementRequest() got an unexpected keyword argument 'contactList'. Signature: opcode: xsd:string

当我打字的时候

print(client.get_type('ns0:AcspManagementRequest'))

回应:

AcspManagementRequest({http://ws.csd.rsa.com}AcspManagementRequest(opcode: xsd:string))

看起来它只接受字符串。如果我尝试将有效负载值转换为字符串并发送,我得到的响应是错误:未知。请帮忙


Tags: projectcomhttpwsrequesttypersaoptional