Hallo.
I downloaded the enterprise qtsoap library from trolltech's website, and got the call to webservices working, only to a point.

I am trying to talk to a asp.net 2.0 webservice from a Qt application. The webservice talks SOAP 1.1, and so does my library.

The problem that I am getting is that the webservce does not seem to return any info. It sends the method call. Hangs, and then disconnects me from the host, after a few minuets.

I added some debug output in the qtsoap code, to try and see what is going on. The first thing that caught my attention wat the returned soap message:
Qt Code:
  1. <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >
  2. <SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  3. <SOAP-ENV:Fault xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  4. <Faultcode xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" >SOAP-ENV:VersionMismatch</Faultcode>
  5. <Faultstring xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" >XML parse error</Faultstring>
  6. <SOAP-ENV:Faultdetail xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  7. <ParseError xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" >unexpected end of file at line 1, column 1</ParseError>
  8. </SOAP-ENV:Faultdetail>
  9. </SOAP-ENV:Fault>
  10. </SOAP-ENV:Body>
  11. </SOAP-ENV:Envelope>
To copy to clipboard, switch view to plain text mode 

It seems that a version mismatch is occurring. Could it be that the server does not talk my version (Schema) of SOAP?

The ASP.net definition of the webservice is as follows. This is what it wants to see.

Qt Code:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  3. <soap:Body>
  4. <GetTestSite xmlns="http://www.emss.co.za/VodacomComplianceServices">
  5. <id>int</id>
  6. </GetTestSite>
  7. </soap:Body>
  8. </soap:Envelope>
To copy to clipboard, switch view to plain text mode 

Another thing that was more disconcerting is that the QHttp::request method returns an id of 1 the first (and only) time i call it. Then when the QHttp::requestFinished signal is received, the ID that it gets is 2. Strange.

Any help in this regard will be helpful!