Use ews-java-api develop for send message

chengwen_k 1 Reputation point
2020-07-22T06:09:55.147+00:00

this is my code, but send message reponse is error

                ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
                ExchangeCredentials credentials = new WebCredentials(username, userList.get(username));
                service.setCredentials(credentials);

                service.setUrl(new URI("http://192.168.3.184:143/EWS/Exchange.asmx"));

                EmailMessage message = new EmailMessage(service);
                // Set properties on the email message.
                message.setSubject("Hello World");
                message.setBody(MessageBody.getMessageBodyFromText("Sent using the EWS Java API."));
                message.getToRecipients().add(u);
                // Send the email message and save a copy.
                // This method call results in a CreateItem call to EWS.
                message.send();

Error message:
13:58:06.693 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "POST BAD Command Error. 12[\r][\n]"
13:58:06.693 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-type: BAD Command Error. 12[\r][\n]"
13:58:06.693 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "User-Agent: BAD Command Error. 12[\r][\n]"
13:58:06.693 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "* BYE Connection closed. 14[\r][\n]"
13:58:06.694 [main] DEBUG org.apache.http.impl.conn.DefaultHttpResponseParser - Garbage in response: POST BAD Command Error. 12
13:58:06.694 [main] DEBUG org.apache.http.impl.conn.DefaultHttpResponseParser - Garbage in response: Content-type: BAD Command Error. 12
13:58:06.695 [main] DEBUG org.apache.http.impl.conn.DefaultHttpResponseParser - Garbage in response: User-Agent: BAD Command Error. 12
13:58:06.695 [main] DEBUG org.apache.http.impl.conn.DefaultHttpResponseParser - Garbage in response: * BYE Connection closed. 14
13:58:06.695 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "end of stream"
13:58:06.695 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: Close connection
13:58:06.696 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: Shutdown connection
13:58:06.697 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection discarded
13:58:06.697 [main] DEBUG org.apache.http.impl.conn.BasicHttpClientConnectionManager - Releasing connection [Not bound]
13:58:06.699 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Cancelling request execution
microsoft.exchange.webservices.data.core.exception.service.remote.ServiceRequestException: The request failed. The request failed. null
at microsoft.exchange.webservices.data.core.request.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:74)
at microsoft.exchange.webservices.data.core.request.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:158)
at microsoft.exchange.webservices.data.core.ExchangeService.internalCreateItems(ExchangeService.java:598)
at microsoft.exchange.webservices.data.core.ExchangeService.createItem(ExchangeService.java:657)
at microsoft.exchange.webservices.data.core.service.item.Item.internalCreate(Item.java:245)
at microsoft.exchange.webservices.data.core.service.item.EmailMessage.internalSend(EmailMessage.java:147)
at microsoft.exchange.webservices.data.core.service.item.EmailMessage.send(EmailMessage.java:258)
at TestSendMail2.main(TestSendMail2.java:48)
Caused by: microsoft.exchange.webservices.data.core.exception.service.remote.ServiceRequestException: The request failed. null
at microsoft.exchange.webservices.data.core.request.ServiceRequestBase.getEwsHttpWebResponse(ServiceRequestBase.java:729)
at microsoft.exchange.webservices.data.core.request.ServiceRequestBase.validateAndEmitRequest(ServiceRequestBase.java:639)
at microsoft.exchange.webservices.data.core.request.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:62)
... 7 more
Caused by: org.apache.http.client.ClientProtocolException
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:187)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at microsoft.exchange.webservices.data.core.request.HttpClientWebRequest.executeRequest(HttpClientWebRequest.java:292)
at microsoft.exchange.webservices.data.core.request.ServiceRequestBase.getEwsHttpWebResponse(ServiceRequestBase.java:720)
... 9 more
Caused by: org.apache.http.ProtocolException: The server failed to respond with a valid HTTP response
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:149)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
... 12 more

Community Center Not monitored
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Lucas Liu-MSFT 6,191 Reputation points
    2020-07-23T03:01:34.067+00:00

    Thanks for visiting our forum.

    I did some research about the ews-java-api you mentioned and found that it is more related to Outlook for developers. Since we mainly focus on general issues about Exchange server, I'm afraid that little we can help. To better solve your issue, it is suggested to post a new thread to the dedicated forum for Outlook for developers.

    The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either
    share their knowledge or learn from your interaction with us. Thanks for your understanding and hope your question will be resolved soon.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.