Asked by:
Error after installing rollup 16 CRM v4 - QualifyMemberList

Question
-
Hi,
My code:
QualifyMemberListRequest qualifyListRequest = new QualifyMemberListRequest();
qualifyListRequest.ListId = gMarketingListID;
qualifyListRequest.MembersId = arrBPs;
qualifyListRequest.OverrideorRemove = true;
getCrmService.Execute(qualifyListRequest); // this line throws the Exception
The trace error:
[2011-08-14 11:15:00.8] Process: w3wp |Organization:06a0ba0b-b141-46aa-b1f4-18ed7a500976 |Thread: 9 |Category: Exception |User: 558583df-79c1-e011-aa96-00155dc80e2b |Level: Error | CrmArgumentException..ctor
at CrmArgumentException..ctor(String message, String parameterName)
at Exceptions.ThrowIfEmpty(String value, String parameterName)
at Exceptions.ThrowIfNullOrEmpty(String parameter, String name)
at SecurityLibrary.FilterEntitiesByCallerReadAccess(ExecutionContext context, String values, Int32 objectTypeCode)
at ListMemberSecurityExtension.RemoveMembersNotAccessible(Int32 memberType, ExecutionContext context, ArrayList members)
at ListService.QualifyMemberList(Guid listId, Guid[] membersId, Boolean overrideOrRemove, ExecutionContext context)
at RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at LogicalMethodInfo.Invoke(Object target, Object[] values)
at InternalOperationPlugin.Execute(IPluginExecutionContext context)
at PluginStep.Execute(PipelineExecutionContext context)
at Pipeline.Execute(PipelineExecutionContext context)
at MessageProcessor.Execute(PipelineExecutionContext context)
at InternalMessageDispatcher.Execute(PipelineExecutionContext context)
at ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at CrmService.Execute(Request request)
at RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at LogicalMethodInfo.Invoke(Object target, Object[] values)
at WebServiceHandler.Invoke()
at WebServiceHandler.CoreProcessRequest()
at SyncSessionlessHandler.ProcessRequest(HttpContext context)
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at ApplicationStepManager.ResumeSteps(Exception error)
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
>Crm Exception: Message: Expected non-empty string., ErrorCode: -2147220989, InnerException: System.ArgumentException: Expected non-empty string.
Parameter name: values
[2011-08-14 11:15:00.9] Process: w3wp |Organization:06a0ba0b-b141-46aa-b1f4-18ed7a500976 |Thread: 9 |Category: Platform |User: 558583df-79c1-e011-aa96-00155dc80e2b |Level: Error | MessageProcessor.Execute
at MessageProcessor.Execute(PipelineExecutionContext context)
at InternalMessageDispatcher.Execute(PipelineExecutionContext context)
at ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at CrmService.Execute(Request request)
at RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at LogicalMethodInfo.Invoke(Object target, Object[] values)
at WebServiceHandler.Invoke()
at WebServiceHandler.CoreProcessRequest()
at SyncSessionlessHandler.ProcessRequest(HttpContext context)
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at ApplicationStepManager.ResumeSteps(Exception error)
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
>MessageProcessor fail to process message 'QualifyMember' for 'list'.
[2011-08-14 11:15:00.9] Process: w3wp |Organization:06a0ba0b-b141-46aa-b1f4-18ed7a500976 |Thread: 9 |Category: Platform.Sdk |User: 558583df-79c1-e011-aa96-00155dc80e2b |Level: Error | CompositeSoapExtensionExceptionHandler.Handle
at CompositeSoapExtensionExceptionHandler.Handle(Stream to, Stream from, Exception exception)
at CrmAuthenticationSoapExtensionBase.ProcessMessage(SoapMessage message)
at SoapMessage.RunExtensions(SoapExtension[] extensions, Boolean throwOnException)
at SoapServerProtocol.WriteException(Exception e, Stream outputStream)
at WebServiceHandler.WriteException(Exception e)
at WebServiceHandler.Invoke()
at WebServiceHandler.CoreProcessRequest()
at SyncSessionlessHandler.ProcessRequest(HttpContext context)
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at ApplicationStepManager.ResumeSteps(Exception error)
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
>CrmSoapExtension detected CrmException:
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.Crm.CrmArgumentException: Expected non-empty string. ---> System.ArgumentException: Expected non-empty string.
Parameter name: values
--- End of inner exception stack trace ---
at Microsoft.Crm.Exceptions.ThrowIfEmpty(String value, String parameterName)
at Microsoft.Crm.Exceptions.ThrowIfNullOrEmpty(String parameter, String name)
at Microsoft.Crm.BusinessEntities.SecurityLibrary.FilterEntitiesByCallerReadAccess(ExecutionContext context, String values, Int32 objectTypeCode)
at Microsoft.Crm.ObjectModel.ListMemberSecurityExtension.RemoveMembersNotAccessible(Int32 memberType, ExecutionContext context, ArrayList members)
at Microsoft.Crm.ObjectModel.ListService.QualifyMemberList(Guid listId, Guid[] membersId, Boolean overrideOrRemove, ExecutionContext context)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
at Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IPluginExecutionContext context)
at Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.Pipeline.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.MessageProcessor.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.InternalMessageDispatcher.Execute(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.RequestBase.Process(Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.RequestBase.Process(CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.CrmServiceInternal.Execute(RequestBase request, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId)
at Microsoft.Crm.Sdk.Crm2007.CrmService.Execute(Request request)
--- End of inner exception stack trace ---
Tried installing rollup 18 – same error.
When I removed rollup 16 and stayed with rollup 15 – no error.
Same thing in two different servers.
Thanks,
Gilad.
Monday, August 15, 2011 2:01 PM
All replies
-
Hi,
Can I get a response regarding this issue ?
This situation is easy to reproduce, I'll be happy even just to get an acknowledgement that this is a known bug and it will be fixed in version X.
Thanks,
Gilad
Thursday, August 25, 2011 4:17 AM -
Hi,
We are facing the same problem ...
Any informations from MS? Otherwise we need to open a case ...
Thanks,
Oliver
Friday, August 26, 2011 10:02 AM -
Hi Oliver,
No, I didn't get an answer.
Right now I can delay the rollup upgrade so I still didn't open a case.
You are more then welcome to do so... and please update this post with your findings.
Thanks,
Gilad
Saturday, August 27, 2011 11:30 AM -
Saturday, September 3, 2011 8:05 PM
-
Expected non-empty string. ---> System.ArgumentException: Expected non-empty string.
I've looked at this information in the past of a trace and ignored it at first.
Then I did find out some tables had missing data in them. It was very tough to find.
But filling in the data in the missing tables solved the problem.
I know you need to get going so can you uninstall the roll up and then check some of the tables.
Curtis J Spanburgh- Edited by Curt Spanburgh MVP ModeratorMVP, Moderator Sunday, September 4, 2011 12:16 AM
Sunday, September 4, 2011 12:15 AMModerator -
Hi Donna, I have tried Rollup 19 and the problem persist.
Curtis, sorry I'm little confused, not sure what you suggests.
thanks,
Gilad
Sunday, September 4, 2011 7:59 AM -
I'm not sure where your code is running, on what data or the end result of what you are performing, but is it possible that the data on which you are running the code or the end result of what you are doing does not have some expected values like a first name or last name or something like that? Are you able to add something to the code to catch a more specific error or go through your code and ensure it is capturing or outputting the expected data values?
I believe this is what Curt is pointing to. A value is expected but instead an emptry string is returned.
Expected non-empty string. ---> System.ArgumentException: Expected non-empty string.
- Proposed as answer by Donna EdwardsMVP Sunday, September 4, 2011 8:22 PM
Sunday, September 4, 2011 12:30 PM -
Hi Donna, thanks for your response, however as I mentioned at my first post: the error reproduce only on rollup 16 and above.
When I uninstall rollup 16 and set rollup 15 (or less) I don't get the error and all is working perfectly (without changing the code of course).
So I think that it rules out the missing data option.
The error is as detailed as the CRM gives me, I have no other place to catch is.
This error is really easy to reproduce, all that is needed is the GUID of the list (Marketing List) and a GUID of a user (from the Users table).
Thanks,
Gilad
Sunday, September 4, 2011 1:41 PM -
I had spent a few weeks with this error with MS support.
Very tough to find but I would start by looking at missing data in the System user table.
They had absolututly no answer.
So I plugged away. I decided to believe what the error was saying and in the end I found empty fields in the records that were not supposed to be empty.
And that is what your error is telling you.
Someone somehow deleted data.
Curtis J Spanburgh- Proposed as answer by Donna EdwardsMVP Sunday, September 4, 2011 8:21 PM
Sunday, September 4, 2011 4:08 PMModerator -
"When I uninstall rollup 16 and set rollup 15 (or less) I don't get the error and all is working perfectly (without changing the code of course). So I think that it rules out the missing data option"
It is possible that the missing data could still be an issue as it is possible that the update rollup is enforcing something that wasn't previously enforced. If you think this is a bug, then the forum is not the best place to report that. You have two options for reporting 'bugs', connect or opening a support ticket. I hope that helps.
- Proposed as answer by Donna EdwardsMVP Sunday, September 4, 2011 8:25 PM
Sunday, September 4, 2011 8:25 PM