3

I was trying to consume a soap service in python with zeep. I've consumed several soap services with zeep as well. But for a particular soap service, a weird response in returning, unlike a well-organized dictionary.

My python code is below:

import zeep
import json

def getToken1():
wsdl2 = 'http://trx.*********ast.co.id/Webservice/b******ervice?wsdl'
client2 = zeep.Client(wsdl2)
parameters = {
        'username':'n**l***s',
        'password': 'ra8*******PeSw',
        'counterpart':'***',
        'ipAddress':'127.0.0.1'
}
info = client2.service.requestToken(parameters)
json = zeep.helpers.serialize_object(info, dict)
return json

print(getToken1())

i.e. the credentials are absolutely correct.

Unfortunately the output is below:

Traceback (most recent call last):
File "F:\Maksudul_Hasan\python\python_soapClient\index.py", line 17, in 
<module>
print(getToken1())
File "F:\Maksudul_Hasan\python\python_soapClient\index.py", line 13, in 
getToken1
info = client2.service.requestToken(parameters)
File 
"C:\Users\maksudul.it\AppData\Local\Programs\Python\Python39\lib\site-                
packages\zeep\proxy.py", line 46, in __call__
return self._proxy._binding.send(
File 
"C:\Users\maksudul.it\AppData\Local\Programs\Python\Python39\lib\site- 
packages\zeep\wsdl\bindings\soap.py", line 135, in send
return self.process_reply(client, operation_obj, response)
File 
"C:\Users\maksudul.it\AppData\Local\Programs\Python\Python39\lib\site- 
packages\zeep\wsdl\bindings\soap.py", line 206, in process_reply
raise TransportError(
zeep.exceptions.TransportError: Server returned response (200) with 
invalid XML: Invalid 
XML content received (AttValue: " or ' expected, line 77, column 14).
Content: b'\n\t\t<html><head><title>NuSOAP: 
Br***stservice</title>\n\t\t<style 
type="text/css">\n\t\t    body    { font-family: arial; color: #000000; 
background-color: 
#ffffff; margin: 0px 0px 0px 0px; }\n\t\t    p       { font-family: 
arial; color: 
#000000; margin-top: 0px; margin-bottom: 12px; }\n\t\t    pre { 
background-color: silver; 
padding: 5px; font-family: Courier New; font-size: x-small; color: 
#000000;}\n\t\t    ul      
....................

It's a large response. But in soapUI :

Request:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:urn="urn:SOAPServerWSDL">
<soapenv:Header/>
 <soapenv:Body>
   <urn:requestToken 
  soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <parameters xsi:type="urn:requestTokenCT" 
         xmlns:urn="urn:***stservice">
         <!--You may enter the following 4 items in any order-->
         <username xsi:type="xsd:string">nbl**s</username>
         <password xsi:type="xsd:string">ra8*******4iphEsPeSw</password>
         <counterpart xsi:type="xsd:string">N*L</counterpart>
         <ipAddress xsi:type="xsd:string">127.0.0.1</ipAddress>
      </parameters>
   </urn:requestToken>
 </soapenv:Body>
</soapenv:Envelope>

Response:

<SOAP-ENV:Envelope SOAP- 
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema- 
instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:tns="urn:Brifastservice">
  <SOAP-ENV:Body>
      <ns1:requestTokenResponse xmlns:ns1="urn:SOAPServerWSDL">
         <return xsi:type="tns:requestTokenCTResult">
            <message xsi:type="xsd:string">Success</message>
            <statusCode xsi:type="xsd:string">0**01</statusCode>
            <token 
         xsi:type="xsd:string">99B4631DCD445***23BF6CED31C1B6574</token>
         </return>
      </ns1:requestTokenResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Can anyone help me to get data from this soap service through zeep in python?

1 Answer 1

3

Your requested WSDL URL contains https protocol and you are calling http request.

Please call this url : https://trx.*********ast.co.id/Webservice/b******ervice?wsdl

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.