Character Reference Issue for Outlook

42 views Asked by At

We are trying to access outlook email through EWS via java code. For some of the email we are facing character reference issue.

Error message:

ParseError at [row,col]:[852,6] Message: Character reference "&#

Code snippet:

try { 
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2); 
    ExchangeCredentials credentials = new WebCredentials(EMAIL_ID, EMAIL_PWD); service.setCredentials(credentials); service.setUrl(new URI("https://*****************/ews/exchange.asmx")); service.setTraceEnabled(true); ExtendedPropertyDefinition PR_TRANSPORT_MESSAGE_HEADERS = new            ExtendedPropertyDefinition(0x007D,MapiPropertyType.String); PropertySet propset = new PropertySet(PropertySet.FirstClassProperties.getBasePropertySet(),ItemSchema.MimeContent,PR_TRANSPORT_MESSAGE_HEADERS); propset.setRequestedBodyType(BodyType.Text);
ItemView view = new ItemView(30);
view.getOrderBy().add(ItemSchema.DateTimeReceived, SortDirection.Descending);
FindItemsResults<Item> findResults;
findResults = service.findItems(WellKnownFolderName.Inbox,"Body:"+currency, view);

if (findResults.getTotalCount() == 0) {
    logger.info("INFO:: There is eno emails available");
}
else {
    for (Item item : findResults) {
        EmailMessage message = EmailMessage.bind(service, item.getId(), new               
        PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.Attachments));
        EmailMessage message = EmailMessage.bind(service, item.getId(), propset);
        item.load();
        //emailBody = item.getBody().toString();
        emailBody = message.getBody().toString();
        logger.info("Email Body " + StringUtils.normalizeSpace(emailBody));
        Date dateTimeReceived = item.getDateTimeReceived();
        SimpleDateFormat fmt = new SimpleDateFormat("dd-MMM-yyyy");
        Date todays_date = new Date();
        resultList.add(emailBody);
     }
  item.delete(DeleteMode.MoveToDeletedItems);
 }
}} catch (Exception e) {logger.info("Error in Executing outlookEmailRead : " +e.getMessage());}

POM dependency:

<dependency>
    <groupId>com.microsoft.ews-java-api</groupId>
    <artifactId>ews-java-api</artifactId>
    <version>2.0</version>
</dependency>

I found it is a known issue from Microsoft https://github.com/OfficeDev/ews-java-api/issues/353

But not able to fix the issue.

0

There are 0 answers