First of all, thanks for fixing the issue #146 ! I am now able to create the client.
Now I would like to login and to do it I need a password and 2 items in login parameters: domain and login. Note that login parameters can be either stringValue or anyValue:
ns1:paramValue(({stringValue: xsd:string} | {anyValue: {_value_1: ANY}}))
How should I pass arguments to the login function and how do I deal with the fact that loginParams can have either stringValue or anyValue (but not both)?
So I tried putting credentials inside of a dictionary using the following code:
client.service.login({"domain": "DOMAIN", "login": "LOGIN"}, "PASSWORD")
But it doesn't work (traceback below):
Traceback (most recent call last): File "C:/Users/j.zysko/gabinet/dilo/utils.py", line 35, in <module> dilo_connect() File "C:/Users/j.zysko/gabinet/dilo/utils.py", line 30, in dilo_connect client.service.login({domain: domain, login: login}, password) File "C:\Users\j.zysko\Envs\gabinet\lib\site-packages\zeep\client.py", line 24, in __call__ self._op_name, args, kwargs) File "C:\Users\j.zysko\Envs\gabinet\lib\site-packages\zeep\wsdl\soap.py", line 92, in send return self.process_reply(client, operation_obj, response) File "C:\Users\j.zysko\Envs\gabinet\lib\site-packages\zeep\wsdl\soap.py", line 121, in process_reply return self.process_error(doc) File "C:\Users\j.zysko\Envs\gabinet\lib\site-packages\zeep\wsdl\soap.py", line 200, in process_error detail=fault_node.find('detail')) zeep.exceptions.Fault: org.apache.axis2.databinding.ADBException: Unexpected subelement {http://xml.kamsoft.pl/ws/kaas/login_types}item
The error message is the same as when I try to use the default request in SoapUI without deleting one of the options, so my guess is that this is what is causing the error.
Sorry, from documentation alone I was unable to understand if zeep doesn't allow this or is it simply my not using it well (though I do suspect the latter ;) )
The message below correctly performs the login operation through SoapUI:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:log="http://xml.kamsoft.pl/ws/kaas/login_types">
<soapenv:Header/>
<soapenv:Body>
<log:login>
<log:credentials>
<!--1 or more repetitions:-->
<log:item>
<log:name>login</log:name>
<log:value>
<!--You have a CHOICE of the next 2 items at this level-->
<log:stringValue>01090487380596</log:stringValue>
</log:value>
</log:item>
<log:item>
<log:name>domain</log:name>
<log:value>
<!--You have a CHOICE of the next 2 items at this level-->
<log:stringValue>07</log:stringValue>
</log:value>
</log:item>
</log:credentials>
<log:password>AAAAAa1!</log:password>
</log:login>
</soapenv:Body>
</soapenv:Envelope>
This is the default request as generated by SoapUI:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:log="http://xml.kamsoft.pl/ws/kaas/login_types">
<soapenv:Header/>
<soapenv:Body>
<log:login>
<log:credentials>
<!--1 or more repetitions:-->
<log:item>
<log:name>?</log:name>
<log:value>
<!--You have a CHOICE of the next 2 items at this level-->
<log:stringValue>?</log:stringValue>
<log:anyValue>
<!--You may enter ANY elements at this point-->
</log:anyValue>
</log:value>
</log:item>
</log:credentials>
<log:password>?</log:password>
</log:login>
</soapenv:Body>
</soapenv:Envelope>
And below I run the -mzeep as you usually request :)
First of all, thanks for fixing the issue #146 ! I am now able to create the client.
Now I would like to login and to do it I need a password and 2 items in login parameters: domain and login. Note that login parameters can be either stringValue or anyValue:
ns1:paramValue(({stringValue: xsd:string} | {anyValue: {_value_1: ANY}}))
How should I pass arguments to the login function and how do I deal with the fact that loginParams can have either stringValue or anyValue (but not both)?
Performing -mzeep I found:
login(credentials: loginParams, password: xsd:string) -> xsd:string
So I tried putting credentials inside of a dictionary using the following code:
client.service.login({"domain": "DOMAIN", "login": "LOGIN"}, "PASSWORD")
But it doesn't work (traceback below):
Traceback (most recent call last): File "C:/Users/j.zysko/gabinet/dilo/utils.py", line 35, in <module> dilo_connect() File "C:/Users/j.zysko/gabinet/dilo/utils.py", line 30, in dilo_connect client.service.login({domain: domain, login: login}, password) File "C:\Users\j.zysko\Envs\gabinet\lib\site-packages\zeep\client.py", line 24, in __call__ self._op_name, args, kwargs) File "C:\Users\j.zysko\Envs\gabinet\lib\site-packages\zeep\wsdl\soap.py", line 92, in send return self.process_reply(client, operation_obj, response) File "C:\Users\j.zysko\Envs\gabinet\lib\site-packages\zeep\wsdl\soap.py", line 121, in process_reply return self.process_error(doc) File "C:\Users\j.zysko\Envs\gabinet\lib\site-packages\zeep\wsdl\soap.py", line 200, in process_error detail=fault_node.find('detail')) zeep.exceptions.Fault: org.apache.axis2.databinding.ADBException: Unexpected subelement {http://xml.kamsoft.pl/ws/kaas/login_types}item
The error message is the same as when I try to use the default request in SoapUI without deleting one of the options, so my guess is that this is what is causing the error.
Sorry, from documentation alone I was unable to understand if zeep doesn't allow this or is it simply my not using it well (though I do suspect the latter ;) )
The message below correctly performs the login operation through SoapUI:
This is the default request as generated by SoapUI:
And below I run the -mzeep as you usually request :)
python -mzeep https://test-dilo.nfz.gov.pl/ws-broker-server-pkus-auth/services/Auth?wsdl --no-verify