I am trying to access Siebel WSDL through python module. My End Scenario is creating Service request in Siebel through external link.
I have tried,
Requests, Suds and soapPY.
When Importing WSDL file to SOAP-UI after making changes to URL and appending user-name and password to same and making changes in body, Its working for me and giving 200 server response.
When trying to access the same with postman(rest client) and giving URL with user name and password added. And passing the required XML as part of body I am getting 500 internal server error.
Not understanding where difference is coming in the way the request is going through soapUI and postman.
What difference in I have to make, to make it work with postman.
What is the right way to consume a WSDL service in python.
SOAP Input:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aud="http://siebel.com/Service/ServiceReqs" xmlns:aud1="http://www.siebel.com/xml/%20Service%20Request%20IO">
<soapenv:Header/>
<soapenv:Body>
<aud:SRQueryByExample_Input>
<aud1:ListOfServiceRequestIo>
<aud1:ServiceRequestOpen Operation="?">
<aud1:IntegrationId>0000123</aud1:IntegrationId>
</aud1:ServiceRequestOpen>
</aud1:ListOfAudetemiServiceRequestIo>
</aud:SRQueryByExample_Input>
</soapenv:Body>
</soapenv:Envelope>
I need to know here if Integration ID is something that I need to pass dynamically how to achieve same.
Many thank for your time
If you are getting a 500 error, that means the request is stuck at the web server, and has not yet hit the siebel server behind it. If the error is due to something missing in the xml, you will get a "SBL-" error code in the response. Until you get that, and are getting 500 errors, the request SOAP has not yet hit the siebel server.
I don't know python, but my suggestion would be to capture the RAW message going from your python script and compare that to the RAW message in SOAP-UI. Specially check the SOAPAction string, it should have a forward slash (/) and a colon (:). "Content-Type", "text/xml"
For further debugging, you will have to check the webserver logs to see how the message arrives there.