Hello,
I am trying to send a SOAP request to Zimbra server in order to authenticate and perform admin tasks.
I am sure I am missing a point somewhere but can't find where.
Here is the SOAP request I am sending:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<context xmlns="urn:zimbra">
<nonotify/>
<noqualify/>
</context>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<AuthRequest xmlns="urn:zimbraAccount">
<name>admin@64bitad.int</name>
<password>password</password>
</AuthRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Here is the java code:
ThanksCode:SOAPConnectionFactory sfc = SOAPConnectionFactory.newInstance(); SOAPConnection connection = sfc.createConnection(); MessageFactory mf = MessageFactory.newInstance(); SOAPMessage sm = mf.createMessage(); SOAPHeader sh = sm.getSOAPHeader(); SOAPBody sb = sm.getSOAPBody(); /* Build soap header */ QName headerName = new QName("urn:zimbra", "context"); SOAPHeaderElement headerElement = sh.addHeaderElement(headerName); QName noNotifyQName = new QName("nonotify"); headerElement.addChildElement(noNotifyQName); QName noQualifyQName = new QName("noqualify"); headerElement.addChildElement(noQualifyQName); /* Build soap body */ QName serviceName = new QName("urn:zimbraAdmin", "AuthRequest"); SOAPBodyElement bodyElement = sb.addBodyElement(serviceName); QName nameQn = new QName("name"); SOAPElement nameElementValue = bodyElement.addChildElement(nameQn); nameElementValue.addTextNode("admin@64bitad.int"); QName passwordQn = new QName("password"); SOAPElement passwordElementValue = bodyElement.addChildElement(passwordQn); passwordElementValue.addTextNode("password"); sm.writeTo(System.out); URL url = new URL("https://fgb-desktop:7071/service/admin/soap"); SOAPMessage response = connection.call(sm, url); System.out.println(response.getContentDescription()); return sm;


LinkBack URL
About LinkBacks

