0
suds 클라이언트를 사용하여 API에 요청을 보내려고합니다.비누 비누 클라이언트에 대한 헤더를 올바르게 설정하는 방법
요청은 다음과 같이 형성된다 :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v20="https://API">
<soapenv:Header>
<v20:apiHeader>
<v20:username>username</v20:username>
<v20:password>password</v20:password>
<!--Optional:-->
<v20:name>?</v20:name>
</v20:apiHeader>
</soapenv:Header>
<soapenv:Body>
<v20:getLoginDetails/>
</soapenv:Body>
</soapenv:Envelope>
이 같은 요청을 보내고 :
client = Client('https://wsdl', faults=False)
client.set_options(headers={'username': username 'authToken': auth_token, 'name': ''})
client.service.getLoginDetails()
내가 수신하고있는 오류입니다 :
(<HTTPStatus.INTERNAL_SERVER_ERROR: 500>, (Fault){
faultcode = "soap:Server"
faultstring = "apiHeader should not be null"
detail = ""
})
이인가 요청을 어떻게 보내야합니까? 그것은 분명히 내가 생각하는 apiHeader와 관련이 있습니다. 하지만, 내가 이것을 사용하여 동일한 오류가 무엇인지 확실하지 :
나는이 비슷한 사용하여이 작업을했습니다username = Element('username').setText(name)
password= Element('password').setText(pass)
header_list = [username, pass]
self.client.set_options(soapheaders=header_list)
return self.client.service.getLoginDetails()