Как работать с OMElement на стороне сервера, используя концепцию MTOM-XOP? - PullRequest
0 голосов
/ 22 марта 2011

Я могу загрузить изображение, используя концепцию MTOM-XOP по значению. После этого я попытался загрузить то же изображение, используя концепцию MTOM-XOP по ссылке (XOP: Включить). Я могу написать клиентскую программу и сгенерировать OMElementи передать это в службу также. Но здесь я поражен. Я не знаю, как обрабатывать ссылочное изображение и запись в указанную папку. Я искал в Google, но нашел много примеров и решений для концепции По значению и концепции SWA. Пожалуйста, дайтемне руководство или пример программы для обработки OMElement на стороне сервера?

OMElement:

<fd:upload xmlns:fd="http://mtom.sample.com"><fd:fileName>dog</fd:fileName><fd:fileType>jpg</fd:fileType><fd:fileContent><axis2ns1:Include xmlns:axis2ns1="http://www.w3.org/2004/08/xop/include" href="dc88fd5aa40a7cbdd01c18b97c1202008f2f09ebaf2cf2f3@apache.org" /></fd:fileContent></fd:upload>

Как обрабатывать атрибут href, и я нашел решение, которое

ArrayList<OMElement> xops =AttachmentUtils.findXopElements(element);
        if (xops != null && xops.size() > 0) {
            logFile("Found XOP:Include Elements\n");
        }
        QName href = new QName("","href");
        Iterator<OMElement> itr = xops.iterator();
        while (itr.hasNext()) {
            OMElement xop = itr.next();
            String cid = xop.getAttributeValue(href);
            logFile("CID :"+cid+"\n");
        }

Но эта часть не выполняется на стороне сервера. Пожалуйста, дайте нам руководство по этому вопросу.

Спасибо.

1 Ответ

0 голосов
/ 15 ноября 2011

Axiom представляет вложения XOP / MTOM, используя узлы OMText, для которых isBinary () возвращает true. Такой узел создается для каждого элемента xop: Include в исходном сообщении. В описанном здесь случае можно получить первый дочерний элемент элемента fd: fileContent, привести его к OMText, а затем вызвать getDataHandler () для этого объекта. Возвращенный DataHandler предоставляет доступ к содержимому вложения.

...