1 This is excorporate.info, produced by makeinfo version 6.0 from
4 Copyright (C) 2016 Free Software Foundation, Inc.
6 Permission is granted to copy, distribute and/or modify this
7 document under the terms of the GNU Free Documentation License,
8 Version 1.2 or any later version published by the Free Software
9 Foundation; with no Invariant Sections, with the Front-Cover, or
10 Back-Cover Texts. A copy of the license is included in the section
11 entitled "GNU Free Documentation License" in the Emacs manual.
13 This document is part of a collection distributed under the GNU
14 Free Documentation License. If you want to distribute this
15 document separately from the collection, you can do so by adding a
16 copy of the license to the document, as described in section 6 of
19 All Emacs Lisp code contained in this document may be used,
20 distributed, and modified without restriction.
21 INFO-DIR-SECTION Emacs
23 * Excorporate: (excorporate). Exchange Web Services integration for Emacs.
27 File: excorporate.info, Node: Top, Next: Installation, Up: (dir)
32 Excorporate provides Exchange Web Services (EWS) support for Emacs.
34 If the Exchange server you access is configured to provide EWS
35 support, then there's a 76% chance that Excorporate will enable you to
36 retrieve your calendar entries from the comfort of Emacs.
38 The 24% failure rate is because accessing - in particular,
39 authenticating against - an Exchange server can be challenging.
41 Known to fail are Kerberos/GSSAPI authentication and accessing the
42 server through a proxy
43 (<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=10>).
45 Patches are welcome to enable more of these access scenarios.
49 * Installation:: Getting and installing 'excorporate'.
50 * Configuration:: Configuring 'excorporate'.
51 * Usage:: Using 'excorporate'.
52 * Troubleshooting:: Debugging why a connection failed
53 * Reporting Bugs:: Reporting bugs
56 File: excorporate.info, Node: Installation, Next: Configuration, Prev: Top, Up: Top
61 Excorporate works on Emacs versions >= 24.1.
63 Install 'excorporate' from the GNU ELPA repository:
65 'M-x package-install RET excorporate'
68 File: excorporate.info, Node: Configuration, Next: Usage, Prev: Installation, Up: Top
73 Ideally you won't need to configure Excorporate at all. On friendly
74 Exchange setups, Excorporate can discover the EWS URL automatically.
80 which will prompt you for the Exchange account email address. Follow
81 the prompts and if all goes well, you'll see a message in the minibuffer
82 or in *Messages* saying that the connection is ready.
84 If autodiscovery runs out of URLs to try, then customize
85 'excorporate-configuration':
87 'M-x customize-variable RET excorporate-configuration'
89 From the value menu select "Skip autodiscovery". This allows you to
90 enter the Exchange account email address and the EWS URL directly. The
91 EWS URL is of the form 'https://mail.gnu.org/ews/exchange.asmx'.
93 After saving the configuration, try 'M-x excorporate' again.
95 If that doesn't work, then you're probably out of luck, or you'll have
96 to start a troubleshooting deep dive (*note Troubleshooting::).
99 File: excorporate.info, Node: Usage, Next: Troubleshooting, Prev: Configuration, Up: Top
104 Excorporate binds 'e' in '*Calendar*' buffers. Open the calendar with:
108 move the cursor to the date you want to see meetings for, and press 'e'.
109 This will show the meetings in a temporary read-only Org Mode buffer
110 named '*Excorporate*'.
113 File: excorporate.info, Node: Troubleshooting, Next: Reporting Bugs, Prev: Usage, Up: Top
118 First, you'll want to double-check that the Exchange server you're
119 trying to access provides EWS support. If it doesn't, Excorporate can't
120 do anything for you. Before asking your Exchange administrator, check
121 intranet wikis and so forth; other users of non-standard clients may
122 have already found the EWS URL. This is called the "EWS endpoint". I
123 can be as simple as something like:
125 'https://mail.gnu.org/ews/exchange.asmx'
127 First you need to make sure you can access the endpoint.
129 For Exchange Web Services (EWS) which Excorporate uses, you'll have to
130 determine the EWS endpoint for your Exchange account, call it 'ews-url'.
131 It is usually something like:
133 https://<mail host name>/ews/exchange.asmx
135 Excorporate calculates the WSDL URL, call it 'wsdl-url', by replacing
136 the endpoint's last path element with "Services.wsdl":
138 https://<mail host name>/ews/Services.wsdl
140 Before even attempting Excorporate, you have to make these succeed:
143 (url-retrieve-synchronously ews-url)
146 When this works, you'll see web page text in *Messages*, containing a
147 message about having created a service.
150 (url-retrieve-synchronously wsdl-url)
153 When this works, it will show a bunch of WSDL (XML) in *Messages*.
155 Debug the above URL retrievals with (setq url-debug t), and with this
158 diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
159 index d49e527..0f1c8ae 100644
160 --- a/lisp/url/url-http.el
161 +++ b/lisp/url/url-http.el
162 @ -869,6 +869,7 @ url-http-parse-headers
163 (url-handle-content-transfer-encoding))
164 (url-http-debug "Finished parsing HTTP headers: %S" success)
166 + (url-http-debug "Response: %s" (buffer-string))
167 (goto-char (point-min))
171 (Beware that HTTP responses are out-of-order with this patch.)
173 Once you're sure the above steps are working, try 'M-x excorporate'.
175 The buffer '*fsm-debug*' shows 'excorporate' state transitions and
176 should provide details of where things went wrong.
178 Also check '*Messages*' for anything obvious.
180 If you suspect something wrong with accessing the EWS URL, try setting
181 'url-debug' to t and retry 'M-x excorporate', then check the
182 '*URL-DEBUG*' buffer for output.
184 If you suspect NTLM authentication is failing, as a long shot, you might
185 try setting 'ntlm-compatibility-level' to 0 and retrying 'M-x
188 Excorporate's dependencies implement the tricky elements of asynchronous
189 Exchange access: a state machine ('fsm'), TLS negotiation ('gnutls'),
190 NTLM authentication ('ntlm' and 'url-http-ntlm') and SOAP communication
194 File: excorporate.info, Node: Reporting Bugs, Prev: Troubleshooting, Up: Top
199 To report a bug, use 'M-x report-emacs-bug', and put Excorporate
200 somewhere in the subject.
206 Node: Installation
\7f2124
207 Node: Configuration
\7f2387
209 Node: Troubleshooting
\7f3806
210 Node: Reporting Bugs
\7f6649