I am building a test application to see how I can use the zimbra javascript library. I was trying the communicate with SOAP to my server (it uses Ruby on Rails as SOAP service). I couldn't get it to work. To find the problem I analyzed the request that was made to the server. I had a working request from a different application (Mindreef SOAPscope) to compare it with.

It begins with that it missed the request header SOAPAction. I didn't know SOAP services need that. It wasn't really a problem because I could add the header to the request (But it cost a lot of time to find out that one...).

After I fixed that the server gave me back another error: "Internal protocol error: Illegal parent: .". I found out that xmlns:soap attribute in the Envelope node was different from the working request. AjxSoapDoc uses 'http://www.w3.org/2003/05/soap-envelope' but the other working request used 'http://schemas.xmlsoap.org/soap/envelope/'. After changing this, the request worked (kind off, the xml returned back isn't parsed write but that is a different problem). Is this a bug or is there something wrong with my SOAP service?