I am trying to use SoapProvisioning in order to connect to a remote ZCS 6.0 server over Linux, but can't figure a way to pass the AuthRequest namespace (xmlns = "urn:zimbraAccount") to the SoapProvisioning object, thus having the authentication failing with an UNKNOWN_DOCUMENT exception (i.e., AuthRequest is not recognized!).
My code can connect flawlessly to the ZCS server using plain vanilla SOAP (<AuthRequest xmlns="urn:zimbraAccount"> etc.), as prescribed in docs/soap.txt. Furthermore, at a higher level of abstraction, I can replicate the same behaviour by "manually" invocating the proper request object, as follows:
XMLElement request = new XMLElement("AuthRequest");
XMLElement accountElement = new XMLElement("account");
XMLElement passwordElement = new XMLElement("password");
SoapHttpTransport transport = new SoapHttpTransport("http://server.domain/service/soap/");
However, as already explained, if I try something like
SoapProvisioning sp = new SoapProvisioning();
an exception occurs (com.zimbra.common.soap.SoapFaultException: unknown document: AuthRequest).
All the code examples I have seen employing SoapProvisioning, use HTTPS and login to an admin account.
Does this mean that SoapProvisioning cannot authenticate a simple user account without previously authenticating an admin?
Is there any way of authenticating a user account without "manually" constructing the command sequence and using sp.invoke()?