public Element handle(Element request, Map context) throws ServiceException, SoapFaultException {
public Element handle(Element request, Map context) throws ServiceException {
	public Element handle(Element request, Map context)			throws ServiceException, SoapFaultException {        ZimbraContext lc = getZimbraContext(context);        Wiki wiki = getRequestedWiki(request, lc);        Element docElem = request.getElement(MailService.E_DOC);        Mailbox mbox = Mailbox.getMailboxByAccountId(wiki.getWikiAccountId());        OperationContext octxt = lc.getOperationContext();        Doc doc;        Element attElem = docElem.getOptionalElement(MailService.E_UPLOAD);;        if (attElem != null) {            String aid = attElem.getAttribute(MailService.A_ID, null);            doc = getDocumentDataFromAttachment(lc, aid);        } else {        	attElem = docElem.getElement(MailService.E_MSG);            String msgid = attElem.getAttribute(MailService.A_ID, null);            String part = attElem.getAttribute(MailService.A_PART, null);        	doc = getDocumentDataFromMessage(octxt, mbox, msgid, part);        }                String name = docElem.getAttribute(MailService.A_NAME, doc.name);        String ctype = docElem.getAttribute(MailService.A_CONTENT_TYPE, doc.contentType);        int fid = (int)docElem.getAttributeLong(MailService.A_FOLDER, wiki.getWikiFolderId());        Document docItem;   		docItem = mbox.createDocument(octxt, fid, name, ctype, doc.contents, null);        //wiki.addWiki(docItem);  // XXX need to keep track of documents.        Element response = lc.createElement(MailService.SAVE_DOCUMENT_RESPONSE);        Element m = response.addElement(MailService.E_MSG);        m.addAttribute(MailService.A_ID, lc.formatItemId(docItem));        return response;	}