We use the Java EWS API to use the Outlook calendar for our Java application. I have problems checking for EWS.
I tried the application in the cloud forecast account provided by the rackspace platform and everything works fine, so I know the credentials are accurate.
Here is the code:
import java.net.URI; import java.net.URISyntaxException; import microsoft.exchange.webservices.data.*; public class TestClass { public static void main(String[] args) { TestClass obj = new TestClass(); obj.testMethod(); } public void testMethod() { ExchangeService service = new ExchangeService( ExchangeVersion.Exchange2007_SP1); ExchangeCredentials credentials = new WebCredentials("username", "password"); service.setCredentials(credentials); try { service.setUrl(new URI("https://domain/EWS/Exchange.asmx")); } catch (URISyntaxException e) { e.printStackTrace(); } EmailMessage msg; try { msg = new EmailMessage(service); msg.setSubject("hello world"); msg.setBody(MessageBody .getMessageBodyFromText("Sent using the EWS API")); msg.getToRecipients().add("test@test.com"); msg.send(); } catch (Exception e) { e.printStackTrace(); } } }
URL for rackspace: https://connect.emailsrvr.com/EWS/Exchange.asmx When I put the username and password for this account and it works, I see the console spitting it out:
Apr 05, 2013 1:40:28 PM org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme INFO: NTLM authentication scheme selected
Our client uses ExchangeVersion.Exchange2007_SP1, while Rackspace uses ExchangeVersion.Exchange2010. But when I use the credentials (username, password and URL) that our client provided, I get this error:
Apr 05, 2013 1:49:13 PM org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme INFO: Basic authentication scheme selected Apr 05, 2013 1:49:13 PM org.apache.commons.httpclient.HttpMethodDirector processAuthenticationResponse SEVERE: Invalid challenge: Basic org.apache.commons.httpclient.auth.MalformedChallengeException: Invalid challenge: Basic at org.apache.commons.httpclient.auth.AuthChallengeParser.extractParams(AuthChallengeParser.java:98) at org.apache.commons.httpclient.auth.RFC2617Scheme.processChallenge(RFC2617Scheme.java:94) at org.apache.commons.httpclient.auth.BasicScheme.processChallenge(BasicScheme.java:112) at org.apache.commons.httpclient.auth.AuthChallengeProcessor.processChallenge(AuthChallengeProcessor.java:162) at org.apache.commons.httpclient.HttpMethodDirector.processWWWAuthChallenge(HttpMethodDirector.java:694) at org.apache.commons.httpclient.HttpMethodDirector.processAuthenticationResponse(HttpMethodDirector.java:668) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:193) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) at microsoft.exchange.webservices.data.HttpClientWebRequest.executeRequest(HttpClientWebRequest.java:358) at microsoft.exchange.webservices.data.ServiceRequestBase.getEwsHttpWebResponse(ServiceRequestBase.java:930) at microsoft.exchange.webservices.data.ServiceRequestBase.validateAndEmitRequest(ServiceRequestBase.java:825) at microsoft.exchange.webservices.data.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:46) at microsoft.exchange.webservices.data.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:144) at microsoft.exchange.webservices.data.ExchangeService.internalCreateItems(ExchangeService.java:464) at microsoft.exchange.webservices.data.ExchangeService.createItem(ExchangeService.java:535) at microsoft.exchange.webservices.data.Item.internalCreate(Item.java:215) at microsoft.exchange.webservices.data.EmailMessage.internalSend(EmailMessage.java:125) at microsoft.exchange.webservices.data.EmailMessage.send(EmailMessage.java:253) at com.aurora.trials.TestClass.testMethod(TestClass.java:43) at com.aurora.trials.TestClass.main(TestClass.java:17) microsoft.exchange.webservices.data.EWSHttpException: Connection not established at microsoft.exchange.webservices.data.HttpClientWebRequest.throwIfConnIsNull(HttpClientWebRequest.java:394) at microsoft.exchange.webservices.data.HttpClientWebRequest.getResponseHeaders(HttpClientWebRequest.java:280) at microsoft.exchange.webservices.data.ExchangeServiceBase.processHttpResponseHeaders(ExchangeServiceBase.java:1045) at microsoft.exchange.webservices.data.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:58) at microsoft.exchange.webservices.data.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:144) at microsoft.exchange.webservices.data.ExchangeService.internalCreateItems(ExchangeService.java:464) at microsoft.exchange.webservices.data.ExchangeService.createItem(ExchangeService.java:535) at microsoft.exchange.webservices.data.Item.internalCreate(Item.java:215) at microsoft.exchange.webservices.data.EmailMessage.internalSend(EmailMessage.java:125) at microsoft.exchange.webservices.data.EmailMessage.send(EmailMessage.java:253) at com.aurora.trials.TestClass.testMethod(TestClass.java:43) at com.aurora.trials.TestClass.main(TestClass.java:17)
I could not find a solution to this problem. Please provide any information you think I can get for EWS. What causes these exceptions?
java exchangewebservices ewsjavaapi
leventend
source share