dynamics-crmdynamics-crm-4

How to cancel a case (incident) in MS CRM via webservice


The Question: How to cancel a Case (Incident) in Microsoft CRM 4 using the WebService?

I'm writing this because it took me ages to find the right answer and MS's documentation is not very helpful in this regard, hopefully this will save time for other people.


Solution

  • The Answer (in VB.NET):

     Dim CancelRequest As New SetStateIncidentRequest
        CancelRequest.IncidentState = IncidentState.Canceled
        CancelRequest.IncidentStatus = -1
        CancelRequest.EntityId = // [GUID OF INCIDENT]
    
        Dim CancelResponse As New SetStateIncidentResponse
    
        Try
    
            CancelResponse = objCrm.Execute(CancelRequest)
    
        Catch ex As System.Web.Services.Protocols.SoapException
    
            Dim root As XmlElement = ex.Detail
    
            strErrors = strErrors & vbCrLf & vbCrLf & root.ChildNodes(0).ChildNodes(3).InnerText
    
            Return False
    
        Catch ex As Exception
    
            strErrors = strErrors & vbCrLf & vbCrLf & ex.Message
    
            Return False
    
        End Try
    
        Return True
    

    Where objCRM is an instance of the CrmService.