Соединение с EWS в производственной среде с использованием ews-java-api-2.0 не работает - PullRequest
0 голосов
/ 11 октября 2018

Мне нужно отправить письмо на сервер обмена Microsoft через EWS.Он отлично работает в моей локальной и локальной среде, даже с прокси-серверами.Но почему-то это не работает на производстве.Пожалуйста, проверьте исключение ниже.

enter image description here

Я перепроверил, что все порты открыты в среде.

Я подготовил один маленькийПрограмма для получения исключения.Пожалуйста, найдите код ниже.Нет проблем с аутентификацией.Все предоставленные значения верны.Также прокси не включен в производственной среде.

public class emailTest {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out
            .println("******************Inside emailTest*************************");

    try {
        Properties prop = new Properties();
        InputStream input = null;
        input = new FileInputStream("config.properties");
        prop.load(input);
        String userName = "xxxxx@xxx.com";
        String passWord = "xxxxx";
        String domain = "domain.com";
        String proxyName = "PROXYNAME";
        String proxyport = "PROXYPORT";
        String url = "https://outlook.office365.com/EWS/Exchange.asmx";
        String tolist = "xxxxx@xxx.com";
        String from = "xxxxx@xxx.com";
        String ccList = "xxxxx@xxx.com";
        System.out.println("Initailizing credentials");
        if (userName != null && passWord != null && domain != null) {
            ExchangeCredentials credentials = new WebCredentials(
                    userName, passWord);

            ExchangeService service = new ExchangeService(
                    ExchangeVersion.Exchange2010_SP2);
            System.out.println("Initializing Service ");

            System.out.println("Setting credentials");
            service.setUseDefaultCredentials(true);
            service.setCredentials(credentials);
            if (proxyName != null) {
                WebProxy WebRequest = new WebProxy(proxyName,
                        Integer.parseInt(proxyport));
                service.setWebProxy(WebRequest);
            }
            service.setUrl(new URI(url));

            // service.autodiscoverUrl("xxxx@xxx.com");

            EmailMessage mail = new EmailMessage(service);
            mail.setSubject("Test Mail Exchange Service");
            mail.setBody(new MessageBody(
                    "Test Mail Exchange Service -Mail body"));

            System.out.println("Adding Receipents");
            for (String to : tolist.split(";")) {
                mail.getToRecipients().add(new EmailAddress(to));
            }
            for (String cc : ccList.split(";")) {
                mail.getCcRecipients().add(new EmailAddress(cc));
            }
            mail.setFrom(new EmailAddress(from));
            System.out.println("Sending Mail ");
            mail.sendAndSaveCopy();

            System.out.println("Sent Successfully");
        } else {
            System.out.println("Please configure username,password,domain");
        }
    } catch (Exception e) {
        System.out.println("Execption ************ " + e.toString());
        e.printStackTrace();

    }

}

}

Пожалуйста, помогите мне с этим, поскольку это в производственной среде.

1 Ответ

0 голосов
/ 12 октября 2018

Это ошибка в самом ews-java-api.

Для получения дополнительной информации вы можете обратиться по этой ссылке:

ews-java-api java.net.ConnectException: истекло время ожидания соединения для https

...