2015-08-25 3 views
1

В рамках моего проекта подсветки мы вызываем веб-службу, которая отправляет файл изображения в виде вложения MTOM. Есть ли способ, в котором я могу проанализировать содержимое изображения и преобразовать его в объект JSON? Ниже приведен фрагмент кода из моего адаптера, где я настроен на вызов службы:Подсветка - файл изображений MTOM файл изображения

var input = {  
method : 'post', 
returnedContentType : 'plain', 
path: '/contentaccess-ws/ContentAccessDocument_1',  
body : {  
    content: retrieveDocumentRequest.toString(),  
    contentType : 'application/soap+xml; charset=utf-8' 
    } 
}; 

И ниже ответ:

--MIMEBoundary_89c65bb62e242e7ee812d596799431326111505dc1baf518 
Content-Type: application/xop+xml; charset=utf-8;   
type="application/soap+xml" 
Content-Transfer-Encoding: binary 
Content-ID: <[email protected]> 

<?xml version="1.0" encoding="utf-8"?> 
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> 
<soapenv:Body><c:retrieveDocumentResponse xmlns:a="http://docs.oasis.open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:b="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:c="http://nationwide.com/schemas/Communication/iaa7_1/Content/DocumentManagement_1"> 
<c:Document><c:Attachments type="Content"> 
<c:Attachment><c:Name>Photo.jpg</c:Name> 
<c:MimeType>image/jpeg</c:MimeType><c:Size>147623</c:Size> 
<c:DataContent><xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:[email protected]"/></c:DataContent> 
</c:Attachment></c:Attachments> 
<c:Properties><c:Property><c:Name>Id</c:Name><c:Value>{D0C04F-0000-C511-983F-4BD2AB945534}</c:Value></c:Property><c:Property><c:Name>F_PAGES</c:Name><c:Value></c:Value></c:Property></c:Properties> 
</c:Document><c:Status>Successful</c:Status> 
</c:retrieveDocumentResponse></soapenv:Body></soapenv:Envelope> 
--MIMEBoundary_89c65bb62e242e7ee812d596799431326111505dc1baf518 
Content-Type: application/octet-stream 
Content-Transfer-Encoding: binary 
Content-ID: <[email protected]> 

????_JFIF___HH??(ExifMM*__?i___??8Photoshop 3.08BIM__8BIM_%_?_?ُ?_? ???B~ 
___?_?__"______??_________________ 
_???_____________}_______!1A__Qa_"q_2???_#B??_R??$3br?  
    ___%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz?????????????????????????????? ?????????????????????????????????????????????____________________ 
_???______________w______!1__AQ_aq_"2?__B???? #3R?_br? 
_$4?%?  ____&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz????????????????????????????????? ?????????????????????????????????????????C______ __ - -=----  =M=====M]MMMMMM]]]]]]]]pppppp?????????????????C____%#%@##@? hUh????????????????????????????????????????????????????_^?? 

Я попытался «returnedContentType», как «JSON», но не использовать (услуга бросает мне ошибку).

Любые указатели оцениваются!

ответ

1

Адаптер не сделает это за вас.

Что вам нужно сделать, так это получить ответ от адаптера и использовать любую инфраструктуру, которая сможет декодировать вложение изображения в реальное изображение.

Обычно MOTM не используется. Скорее вы base64 кодируете изображение в строку, а затем декодируете строку обратно в изображение.

+0

Вручную проанализировал ответ и смог получить только нижнюю часть ответа в виде строки. Был ли Base64.encodeBase64 (data.getBytes()), а затем преобразован в String. Для отображения изображения используется тег . Но пока не удается отобразить изображение на мобильных устройствах. – user3854184

+0

Возможно, закодированная строка слишком длинна для использования. –

+0

О, хорошо. Есть ли другой способ получить изображение? – user3854184