googlearchive / calendar-connectors

Automatically exported from code.google.com/p/google-calendar-connectors
20 stars 20 forks source link

Free Busy time diag. function for retreiving Exchange user not working #11

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.
Go to http://localhost/GCalExchangeLookup/Diagnostics.aspx
2.
Choose Verify Free / Busy information can be found in Exchange (+/- 7 days
3.
Free Busy time of the Exchange user

But we get

Google.GCalExchangeSync.Library.GCalExchangeException: Error occured while
retrieving free busy ranges ---> System.Xml.XmlException: For security
reasons DTD is prohibited in this XML document. To enable DTD processing
set the ProhibitDtd property on XmlReaderSettings to false and pass the
settings into XmlReader.Create method. at
System.Xml.XmlTextReaderImpl.Throw(Exception e) at
System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res, String arg)
at System.Xml.XmlTextReaderImpl.ParseDoctypeDecl() at
System.Xml.XmlTextReaderImpl.ParseDocumentContent() at
System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlReader.MoveToContent()
at
Google.GCalExchangeSync.Library.WebDav.WebDavQuery.ParseRasterFreeBusyResponse(E
xchangeUserDict
users, DateTime baseTime, Stream response) at
Google.GCalExchangeSync.Library.WebDav.WebDavQuery.LoadFreeBusy(String
exchangeServerUrl, ExchangeUserDict users, DateTimeRange window) at
Google.GCalExchangeSync.Library.FreeBusyService.LookupFreeBusyTimes(ExchangeUser
Dict
users, DateTimeRange window) --- End of inner exception stack trace --- at
Google.GCalExchangeSync.Library.FreeBusyService.LookupFreeBusyTimes(ExchangeUser
Dict
users, DateTimeRange window) at
Google.GCalExchangeSync.Library.ExchangeService.GetCalendarInfoForUsers(Exchange
UserDict
users, DateTimeRange window) at
Google.GCalExchangeSync.Library.ExchangeService.Search(String
ldapAttribute, DateTimeRange utcRange, String[] searchTerms) at
Google.GCalExchangeSync.Library.ExchangeService.SearchByEmail(DateTimeRange
utcRange, String[] searchTerms) at
Google.GCalExchangeSync.Tests.Diagnostics.ExchangeTester.QueryFreeBusy(String
email) at GCalExchangeLookup.Diagnostics.ButtonQueryExchFB_Click(Object
sender, EventArgs e)

What version of the product are you using? On what operating system?

Windows 2003 SBS server SP2
Windows Exchange 2003 SBS version SP2
Google Calendar Connector Sync Service 1.2.0.289
Google Calendar Connector Web Service 1.2.0.289

Google Apps premier

Any ideas on this one?

Thanks in advance!

Original issue reported on code.google.com by m.ens...@gmail.com on 3 Dec 2009 at 1:10

GoogleCodeExporter commented 9 years ago
This issue is mostly related to the security settings on IIS for 
/GCalExchangeLookup. 
Please check if anonymous access is enabled for the same.

Thanks!
Suman

Original comment by suman.ne...@gmail.com on 4 Dec 2009 at 4:12

GoogleCodeExporter commented 9 years ago
Hi Suman,

Thanks for your reply.

But I don't see what more settings I have to check for the security.

I double checked the windows security permissions for the c:\google\logs 
folders.
and for the c:\inetpub\wwwroot\ folder.

I Granted Acces to everybody in the "IP address and domain name restrictions" 
config
screen of the GCALExchangeLookup appl. in the IIS manager.

Could it be the case that their is something wrong with the syntax of the 
web.config
file or the GoogleCalendarSyncService.exe.config? Because it is complaining 
about the
System.Xml.XmlTextReaderImpl.

I checked both files in IE and both seem to be valid XML files.

Any other ideas?

Kind regards,

Marco Ensing

Original comment by m.ens...@gmail.com on 4 Dec 2009 at 1:26

GoogleCodeExporter commented 9 years ago
Hi,

Looks like the WebDAV settings on Exchange for public folders seems to be set 
to 
require forms based authentication. GCC doesn't support forms based 
authentication 
yet. So, if it is okay in your exchange environment, this can be made to 
Integrated 
Windows Authentication.

Best regards!
Suman

Original comment by suman.ne...@gmail.com on 11 Dec 2009 at 4:52

GoogleCodeExporter commented 9 years ago
Hi Suman,

Thanks for helping! With your tip we got it working! thumbs up!

Kind regards,

Marco Ensing

Original comment by m.ens...@gmail.com on 18 Dec 2009 at 4:43

GoogleCodeExporter commented 9 years ago
Hi Marco,

Great news that you got the Google Calendar Connectors to work! It is my 
pleasure to be 
of help.

Best regards,
Suman

Original comment by suman.ne...@gmail.com on 18 Dec 2009 at 5:44

GoogleCodeExporter commented 9 years ago
Hi Suman, I am having similar trouble. Can you give me some advice about what 
settings I may have incorrect?

Google.GCalExchangeSync.Library.GCalExchangeException: Error occured while 
retrieving free busy ranges ---> System.Xml.XmlException: For security reasons 
DTD 
is prohibited in this XML document. To enable DTD processing set the 
ProhibitDtd 
property on XmlReaderSettings to false and pass the settings into 
XmlReader.Create 
method. at System.Xml.XmlTextReaderImpl.Throw(Exception e) at 
System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res, String arg) at 
System.Xml.XmlTextReaderImpl.ParseDoctypeDecl() at 
System.Xml.XmlTextReaderImpl.ParseDocumentContent() at 
System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlReader.MoveToContent() at 
Google.GCalExchangeSync.Library.WebDav.WebDavQuery.ParseRasterFreeBusyResponse
(ExchangeUserDict users, DateTime baseTime, Stream response) at 
Google.GCalExchangeSync.Library.WebDav.WebDavQuery.LoadFreeBusy(String 
exchangeServerUrl, ExchangeUserDict users, DateTimeRange window) at 
Google.GCalExchangeSync.Library.FreeBusyServiceWebDAV.LookupFreeBusyTimes
(ExchangeUserDict users, DateTimeRange window) --- End of inner exception stack 
trace --- at 
Google.GCalExchangeSync.Library.FreeBusyServiceWebDAV.LookupFreeBusyTimes
(ExchangeUserDict users, DateTimeRange window) at 
Google.GCalExchangeSync.Library.ExchangeService.GetCalendarInfoForUsers
(ExchangeUserDict users, DateTimeRange window) at 
Google.GCalExchangeSync.Library.ExchangeService.SearchByQuery(String ldapQuery, 
DateTimeRange utcRange) at 
Google.GCalExchangeSync.Library.ExchangeService.SearchByEmail(DateTimeRange 
utcRange, String searchTerm) at 
Google.GCalExchangeSync.Tests.Diagnostics.ExchangeTester.QueryFreeBusy(String 
email) 
at GCalExchangeLookup.Diagnostics.ButtonQueryExchFB_Click(Object sender, 
EventArgs e)

Thanks in Advance John

Original comment by energize...@gmail.com on 23 Mar 2010 at 11:48

GoogleCodeExporter commented 9 years ago
So, you need to remove the form based authentication in WebDAV settings for 
Exchange
public folder. To do this in Exchange 2007 server open Exchange Management 
Console.
Go to server configuration > Mailbox. On down right panel it shows Public 
Folder.
Select WebDAV tab in that panel. Right click Public, go to properties and click 
on
Authentication tab. Uncheck the second radio button which enables the 
forms-based
authentication. 

Original comment by jaideepg...@google.com on 23 Mar 2010 at 11:59

GoogleCodeExporter commented 9 years ago
I'm using Exchange 2003..

Original comment by energize...@gmail.com on 23 Mar 2010 at 12:22

GoogleCodeExporter commented 9 years ago
Can you tell me how to access the WebDAV tab in exchange 2003

Original comment by energize...@gmail.com on 23 Mar 2010 at 12:30

GoogleCodeExporter commented 9 years ago
Can you check that whether you have the form based authentication enabled ?, 
for this
goto:
1. Drill down to your server object in Exchange System manager.
2. Under the server object, expand the Protocols container.
3. Under the Protocols container, expand HTTP.
4. Bring up the properties of the Exchange Virtual Server.
5. Click the Settings tab. Here you will see the option to enable\disable FBA.

Original comment by jaideepg...@google.com on 23 Mar 2010 at 1:10

GoogleCodeExporter commented 9 years ago
Thanks.... that got it sorted.. :)

Original comment by energize...@gmail.com on 23 Mar 2010 at 1:33

GoogleCodeExporter commented 9 years ago
I am having the same problem, temporarily turned off FBA on my 2003 exchange 
server and ran the diagnostics and it gave me the same error but worse my owa 
login page disappeared. Am I supposed to restart the IIS services when I do 
this? Also is WebDav supposed to be allowed right now it's prohibited. I turned 
FBA back on and the owa login page came back.

Original comment by morales...@gmail.com on 21 Jun 2010 at 9:58

GoogleCodeExporter commented 9 years ago
If you turn off the FBA, the owa login should appear in a separate dialog 
instead of the webpage. Could you please send us the logs that you get when FBA 
is disabled ?

I did not get the meaning of "Also is WebDav supposed to be allowed right now 
it's prohibited." ? Could you please explain it little bit more ?

Original comment by jaideepg...@google.com on 22 Jun 2010 at 5:53

GoogleCodeExporter commented 9 years ago
I stand corrected turning off FBA worked!!! I am not sure if I will be able to 
impliment it though because all our users are used to getting the OWA login 
page and am not sure if management will go with not having that page anymore. 
Is there any way we can have both??? This may be a real deal breaker. Thanks

Original comment by morales...@gmail.com on 22 Jun 2010 at 7:04

GoogleCodeExporter commented 9 years ago
Turning off FBA would give a login dialog box for OWA. Are you not fine with 
that ? Please enable Integrated Windows Authentication and Basic Authentication 
while turning off FBA. 
FBA can not be enabled for GCC.

Original comment by jaideepg...@google.com on 24 Jun 2010 at 1:22

GoogleCodeExporter commented 9 years ago
Well, this seems to get worse and worse! It feels like some of us have been 
worked into a really tight corner with no escape:

We use a single exchange server. It offers both OWA and Exchange ActiveSync 
(mobile devices) access through a BACK-TO-BACK ISA 2004 Firewall Chain. Over 
the years, we have been shoehorned into very specific configurations in order 
for everything to work properly.

And as I peel back the onion of Google Apps Pilot implementation, every layer 
reveals another thing that must be undone, redone, or can't be done?!?!?!

Can I simply disable Forms Based Authentication without breaking something? I 
don't even know anymore; but I doubt it. (And worse, if I do, will I just 
discover the *next* gotcha?)

The whole point of a Google Pilot is to verify the option to move off Exchange! 
Every step that you force me to re-architect my Exchange environment makes no 
sense (if I wanted to spend the resources to re-architect Exchange, I wouldn't 
be considering Google Apps!)

I need a period of interoperability and that seems less and less possible with 
each step.

Sorry for the rant, but seriously....

Original comment by richard....@uwmidsouth.org on 25 Oct 2010 at 4:45

GoogleCodeExporter commented 9 years ago
Enabling Basic Authentication (preferably Integrated Windows Authentication 
also) instead of Forms-based authentication will solve the problem. Nothing 
breaks. The only difference will be that OWA users will be prompted for 
credentials by a dialog instead of a login form.

Original comment by sumankan...@google.com on 26 Oct 2010 at 6:04

GoogleCodeExporter commented 9 years ago
Hi,

I got your mail,  i am tring the sync exchange user's calendar with google 's 
users calendar.

Please help me for solve this issue.

Error occured while retrieving free busy ranges

    Google.GCalExchangeSync.Library.GCalExchangeException: Error occured while retrieving free busy ranges ---> System.Net.WebException: The remote server returned an error: (500) Internal Server Error. at System.Net.HttpWebRequest.GetResponse() at Google.GCalExchangeSync.Library.WebDav.XmlRequestImpl.IssueRequest(String url, Method method, String body, HttpHeader[] headers) at Google.GCalExchangeSync.Library.WebDav.WebDavQuery.IssueRequest(String url, Method method, String body) at Google.GCalExchangeSync.Library.WebDav.WebDavQuery.LoadFreeBusy(String exchangeServerUrl, ExchangeUserDict users, DateTimeRange window) at Google.GCalExchangeSync.Library.FreeBusyServiceWebDAV.LookupFreeBusyTimes(ExchangeUserDict users, DateTimeRange window) --- End of inner exception stack trace --- at Google.GCalExchangeSync.Library.FreeBusyServiceWebDAV.LookupFreeBusyTimes(ExchangeUserDict users, DateTimeRange window) at Google.GCalExchangeSync.Library.ExchangeService.GetCalendarInfoForUsers(ExchangeUserDict users, DateTimeRange window) at Google.GCalExchangeSync.Library.ExchangeService.SearchByQuery(String ldapQuery, DateTimeRange utcRange) at Google.GCalExchangeSync.Library.ExchangeService.SearchByEmail(DateTimeRange utcRange, String searchTerm) at Google.GCalExchangeSync.Tests.Diagnostics.ExchangeTester.QueryFreeBusy(String email) at GCalExchangeLookup.Diagnostics.ButtonQueryExchFB_Click(Object sender, EventArgs e)

Original comment by ashokkum...@gmail.com on 31 Jan 2011 at 11:48

GoogleCodeExporter commented 9 years ago
Hi,

I got your mail,  i am tring the sync exchange user's calendar with google 's 
users calendar.

Please help me for solve this issue.

Error occured while retrieving free busy ranges

    Google.GCalExchangeSync.Library.GCalExchangeException: Error occured while retrieving free busy ranges ---> System.Net.WebException: The remote server returned an error: (500) Internal Server Error. at System.Net.HttpWebRequest.GetResponse() at Google.GCalExchangeSync.Library.WebDav.XmlRequestImpl.IssueRequest(String url, Method method, String body, HttpHeader[] headers) at Google.GCalExchangeSync.Library.WebDav.WebDavQuery.IssueRequest(String url, Method method, String body) at Google.GCalExchangeSync.Library.WebDav.WebDavQuery.LoadFreeBusy(String exchangeServerUrl, ExchangeUserDict users, DateTimeRange window) at Google.GCalExchangeSync.Library.FreeBusyServiceWebDAV.LookupFreeBusyTimes(ExchangeUserDict users, DateTimeRange window) --- End of inner exception stack trace --- at Google.GCalExchangeSync.Library.FreeBusyServiceWebDAV.LookupFreeBusyTimes(ExchangeUserDict users, DateTimeRange window) at Google.GCalExchangeSync.Library.ExchangeService.GetCalendarInfoForUsers(ExchangeUserDict users, DateTimeRange window) at Google.GCalExchangeSync.Library.ExchangeService.SearchByQuery(String ldapQuery, DateTimeRange utcRange) at Google.GCalExchangeSync.Library.ExchangeService.SearchByEmail(DateTimeRange utcRange, String searchTerm) at Google.GCalExchangeSync.Tests.Diagnostics.ExchangeTester.QueryFreeBusy(String email) at GCalExchangeLookup.Diagnostics.ButtonQueryExchFB_Click(Object sender, EventArgs e)

Original comment by bajrang....@teamcomputers.com on 29 Jun 2012 at 6:44