Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SearchMailboxes generates exception on production server with ServiceXmlDeserializationException #92

Open
evdinursan opened this issue Jun 17, 2016 · 0 comments

Comments

@evdinursan
Copy link

Hello,

I'm using EWS managed API to find some messages using a simple query. On a test environment with only few items / mailbox, the search is working perfect but when I put it in production I'm getting quite a strange issue (exception):

An element node 't:Mailbox' of the type Element was expected, but node 't:SearchScope' of type Element was found.

The full stacktrace is this:

[ServiceXmlDeserializationException: An element node 't:Mailbox' of the type Element was expected, but node 't:SearchScope' of type Element was found.]
   Microsoft.Exchange.WebServices.Data.EwsXmlReader.InternalReadElement(XmlNamespace xmlNamespace, String localName, XmlNodeType nodeType) +451
   Microsoft.Exchange.WebServices.Data.SearchMailboxesResult.LoadFromXml(EwsServiceXmlReader reader) +464
   Microsoft.Exchange.WebServices.Data.SearchMailboxesResponse.ReadElementsFromXml(EwsServiceXmlReader reader) +47
   Microsoft.Exchange.WebServices.Data.ServiceResponse.LoadFromXml(EwsServiceXmlReader reader, String xmlElementName) +360
   Microsoft.Exchange.WebServices.Data.SearchMailboxesRequest.ParseResponse(EwsServiceXmlReader reader) +230
   Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ReadResponse(EwsServiceXmlReader ewsXmlReader) +157
   Microsoft.Exchange.WebServices.Data.SimpleServiceRequestBase.ReadResponseXml(Stream responseStream) +87
   Microsoft.Exchange.WebServices.Data.SimpleServiceRequestBase.ReadResponse(IEwsHttpWebResponse response) +403
   Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute() +53
   XXX.XXX.MailManager.Admin.Controllers.MailingManagerController.Search(MailingManagerMasterModel masterModel) +722
   lambda_method(Closure , ControllerBase , Object[] ) +139
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +209
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +35
   System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +39
   System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +67
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42
   System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +72
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42
   System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +30
   System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +186
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
   System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +65
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +36
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
   System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +44
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +65
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +399
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +137

The code for doing the search is the following:

List<MailboxSearchScope> mailboxSearchScopes = new List<MailboxSearchScope>();
                foreach (SearchableMailbox mailbox in response.SearchableMailboxes)
                {
                    mailboxSearchScopes.Add(new MailboxSearchScope(mailbox.ReferenceId, MailboxSearchLocation.All));
                }

                SearchMailboxesParameters searchMailboxesParameters = new SearchMailboxesParameters();

                List<MailboxQuery> queries = new List<MailboxQuery>()
                    {
                        new MailboxQuery(String.Format("Body:{0} OR Subject:{0}", masterModel.FilteringOptions.Subject), mailboxSearchScopes.ToArray())
                    };

                searchMailboxesParameters.SearchQueries = queries.ToArray();
                searchMailboxesParameters.PerformDeduplication = false;
                searchMailboxesParameters.ResultType = SearchResultType.PreviewOnly;

                ServiceResponseCollection<SearchMailboxesResponse> responseCollection = service.SearchMailboxes(searchMailboxesParameters);

Where do you think is the issue?

Thank you very much for your help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant