none
The End users cannot submit a Service Request after extending the class

Antworten

  • I very much doubt this will change, it is not considered a problem, and Microsoft will probably say by design and use the SDK (especially now Aaron confirms it is working ok).

    If you want, please contact us (Cireson) via the contact link on our website (in my signature). We could create and provide a tool to do this for you if needed for a consultancy fee.


    Rob Ford scsmnz.net
    Cireson www.cireson.com
    For a free SCSM 2012 Notify Analyst app click here

    Dienstag, 10. September 2013 04:16
    Moderator
  • Rob, yes, the scoping operations in the SDK work in SP1 (I just tried them out). Now we all have to re-write our utilities to use the SDK instead of the stored procs ;)
    Donnerstag, 22. August 2013 15:28

Alle Antworten

  • Rebump

    Yog Li

    Montag, 19. August 2013 06:40
  • I cannot even create/edit a Service Request  from the console if I filled/modified the extended field. I got an error message as below:

    Date: 2013/8/20 14:59:55
    Application: 
    Application Version: 7.5.2905.0
    Severity: Error
    Message: 

    Microsoft.EnterpriseManagement.Common.UnauthorizedAccessEnterpriseManagementException: The user Domain\Account does not have sufficient permission to perform the operation.
       at Microsoft.EnterpriseManagement.Common.Internal.ServiceProxy.HandleFault(String methodName, Message message)
       at Microsoft.EnterpriseManagement.Common.Internal.ConnectorFrameworkConfigurationServiceProxy.ProcessDiscoveryData(Guid discoverySourceId, IList`1 entityInstances, IDictionary`2 streams, ObjectChangelist`1 extensions)
       at Microsoft.EnterpriseManagement.ConnectorFramework.IncrementalDiscoveryData.CommitInternal(EnterpriseManagementGroup managementGroup, Guid discoverySourceId, Boolean useOptimisticConcurrency)
       at Microsoft.EnterpriseManagement.ConnectorFramework.IncrementalDiscoveryData.Commit(EnterpriseManagementGroup managementGroup)
       at Microsoft.EnterpriseManagement.UI.SdkDataAccess.DataAdapters.EnterpriseManagementObjectProjectionWriteAdapter.WriteSdkObject(EnterpriseManagementGroup managementGroup, IList`1 sdkObjects, IDictionary`2 parameters)
       at Microsoft.EnterpriseManagement.UI.SdkDataAccess.DataAdapters.SdkWriteAdapter`1.DoAction(DataQueryBase query, IList`1 dataSources, IDictionary`2 parameters, IList`1 inputs, String outputCollectionName)
       at Microsoft.EnterpriseManagement.UI.ViewFramework.SingleItemSupportAdapter.DoAction(DataQueryBase query, IList`1 dataSources, IDictionary`2 parameters, IList`1 inputs, String outputCollectionName)
       at Microsoft.EnterpriseManagement.UI.DataModel.QueryQueue.StartExecuteQuery(Object sender, ConsoleJobEventArgs e)
       at Microsoft.EnterpriseManagement.ServiceManager.UI.Console.ConsoleJobExceptionHandler.ExecuteJob(IComponent component, EventHandler`1 job, Object sender, ConsoleJobEventArgs args)


    Yog Li

    Dienstag, 20. August 2013 07:10
  • Hi,

    Does user role have access to the MP of your extended class ?


    Remy BOVI

    Dienstag, 20. August 2013 07:45
  • Thank you Remy. I did select all MPs when I create the user role. And I did it again just now. 

    It doesn't help me. The issue still exists.


    Yog Li

    Mittwoch, 21. August 2013 07:49
  • An error message from SMPortalTrace.log after trying to submit a SR from the Portal:

    Error,2013-08-21 08:35:33.7113446,Failed to create request.,Microsoft.EnterpriseManagement.Presentation.DataAccess.DataProviderException: Microsoft.EnterpriseManagement.Presentation.DataAccess.DataProviderException: The user Domain\user does not have sufficient permission to perform the operation. ---> Microsoft.EnterpriseManagement.Common.UnauthorizedAccessEnterpriseManagementException: The user Domain\user does not have sufficient permission to perform the operation.

       at Microsoft.EnterpriseManagement.Common.Internal.ConnectorFrameworkConfigurationServiceProxy.ProcessDiscoveryData(Guid discoverySourceId, IList`1 entityInstances, IDictionary`2 streams, ObjectChangelist`1 extensions)
       at Microsoft.EnterpriseManagement.ConnectorFramework.IncrementalDiscoveryData.CommitInternal(EnterpriseManagementGroup managementGroup, Guid discoverySourceId, Boolean useOptimisticConcurrency)
       at Microsoft.EnterpriseManagement.Common.EnterpriseManagementObjectProjection.CommitInternal(Guid discoverySourceId, Boolean useOptimisticConcurrency)
       at Microsoft.EnterpriseManagement.Common.EnterpriseManagementObjectProjection.CommitInternal(Boolean useOptimisticConcurrency)
       at Microsoft.EnterpriseManagement.ServiceManager.Portal.DataProviders.CreateRequestProvider.CreateRequest(TemplateReader requestDataObject)
       --- End of inner exception stack trace ---
       at Microsoft.EnterpriseManagement.Presentation.DataAccess.DataProviderCommandMethod.Invoke(CoreDataGateway gateWay, DataCommand command)
       at Microsoft.EnterpriseManagement.Presentation.DataAccess.CoreDataGateway.Execute(DataCommand command)
       at Microsoft.EnterpriseManagement.Presentation.DataAccess.Server.DataAccessService.Execute(TransportDataCommand command)
       at SyncInvokeExecute(Object , Object[] , Object[] )
       at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
       at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
       at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)


    Yog Li

    Mittwoch, 21. August 2013 08:43
  • Hi,

    Are you able to submit a Service Request from console when selecting a user for your custom field? Try to submit the request as member of Service Request Analyst user role. Do you get a permission related error ("The user DOMAIN\user does not have sufficient permission to perform the operation")? If you leave the custom user field blank, you can save and close the form?

    You may be affected by the same issue as discussed in this thread: http://social.technet.microsoft.com/Forums/systemcenter/en-US/094ecc23-b115-47ea-bcee-a4f42020751c/access-denied-on-custom-fields

    Mittwoch, 21. August 2013 15:46
  • Does user role have access to the MP of your extended class ?


    This only selects what items to show from what MPs when creating the role, it has no other affect.

    Rob Ford scsmnz.net
    Cireson www.cireson.com
    For a free SCSM 2012 Notify Analyst app click here

    Donnerstag, 22. August 2013 01:54
    Moderator
  • When ever you create a custom relationship, you must grant permissions to use it if the user role in question is not Advanced Operators or Administrators.

    In SCSM 2012, the SDK was updated to add this functionality, however, it did not work. I have been told this was fixed in SP1, but I have never tested it, as I use my own tool that performs the SQL that the SCSM 2010 fix used to run directly.

    However, if you want to try with the SDK, here is some example code that was originally supplied by Microsoft Support for this problem:

         Profile incidentResolverProfile = mg.Security.GetProfile(Profile.IncidentResolverProfileId);
                // Locate the operation in the profile that you want to enhance
                foreach (Operation operation in incidentResolverProfile.Operations)
                {
                    if (operation.Name == "Object__Add")
                    {
                        // Enhance the operation’s type restrictions.
                        OperationImplicitScope newOperationScopeType = new OperationImplicitScope(new Guid("D02DC3B6-D709-46F8-CB72-452FA5E082B8"), Guid.Empty, Guid.Empty, 2);
                        operation.ImplicitScopes.Add(newOperationScopeType);
                        incidentResolverProfile.Update();
                        break;
                    }
                }

    Change the profile to the end user profile and the Guid to the Guid for Service Request which is 04b69835-6343-4de2-4b19-6be08c612989.

    For Object__Set:

    Profile incidentResolverProfile = mg.Security.GetProfile(Profile.IncidentResolverProfileId);
    // Get the operation in the profile that you want to enhance
    Operation opObjectSet = incidentResolverProfile.Operations.Where(op => op.Name == "Object__Set").FirstOrDefault();
    if (opObjectSet != null)
    {
        OperationImplicitScope relationshipScope = new OperationImplicitScope(requestOfferingClass.Id, relationshipWItoRO.Id, RelationshipEndpoint.Unset);
        opObjectSet.ImplicitScopes.Add(relationshipScope);
        incidentResolverProfile.Update();
    }

    If this now works, you will see rows in the entries in the ProfileOperationImplicitScope table where the column IsCustomized=1.

    I provide this code for example only, you'll need to interpret it and adjust for your requirements.


    Rob Ford scsmnz.net
    Cireson www.cireson.com
    For a free SCSM 2012 Notify Analyst app click here




    Donnerstag, 22. August 2013 02:04
    Moderator
  • Hello Stefan,

    Thanks for your information. I did get the permission related error from console. And if the custom field is blank, the user can submit the service request without any problem. 

    I do think this is a same issue. Thanks again.


    Yog Li

    Donnerstag, 22. August 2013 08:44
  • Hey Rob,

    Thank you. Your script seems great. I'll test it later and let you know if it helps.

    I'm using SCSM 2012 SP1 with UR2. The issue was not fixed in SP1.

    Thanks. You are of great help.


    Yog Li

    Donnerstag, 22. August 2013 08:49
  • Rob, yes, the scoping operations in the SDK work in SP1 (I just tried them out). Now we all have to re-write our utilities to use the SDK instead of the stored procs ;)
    Donnerstag, 22. August 2013 15:28
  • Thanks, Aaron, it is nice to have that confirmation :)

    Rob Ford scsmnz.net
    Cireson www.cireson.com
    For a free SCSM 2012 Notify Analyst app click here

    Sonntag, 1. September 2013 20:30
    Moderator
  • Hello all,

    Service Manager 2012 SDK is more complicated than I thought. I'd like to wait SCSM 2012 R2 to check if the issue resolved.

    Can anybody confirm this issue will be resolved or not resolved in R2 version?

    Thanks very much!


    Yog Li

    Dienstag, 10. September 2013 03:51
  • I very much doubt this will change, it is not considered a problem, and Microsoft will probably say by design and use the SDK (especially now Aaron confirms it is working ok).

    If you want, please contact us (Cireson) via the contact link on our website (in my signature). We could create and provide a tool to do this for you if needed for a consultancy fee.


    Rob Ford scsmnz.net
    Cireson www.cireson.com
    For a free SCSM 2012 Notify Analyst app click here

    Dienstag, 10. September 2013 04:16
    Moderator
  • Thank you Rob. I appreciate your help.

    Yog Li

    Dienstag, 10. September 2013 06:13