Web services 通过Web服务解决CRM4中的事件(结案)?
我正在尝试通过Web服务解决/关闭Dynamics CRM4案例/事件 单次Web services 通过Web服务解决CRM4中的事件(结案)?,web-services,dynamics-crm,dynamics-crm-4,Web Services,Dynamics Crm,Dynamics Crm 4,我正在尝试通过Web服务解决/关闭Dynamics CRM4案例/事件 单次SetStateIncidentRequest是不够的,它返回一条服务器无法处理请求的错误消息。我认为这与在案例属性更改时触发的活动工作流有关。我不知道是否还有其他原因阻止了这个请求 由于可以通过GUI关闭这些案例,我想有一组“正确”的步骤需要遵循,以便通过CrmService实现;不幸的是,我已经在谷歌上搜索了一段时间,却没有找到我想要的。有人能帮我吗?这里有一个提示-捕获并检查Detail.OuterXML属性,您将
SetStateIncidentRequest
是不够的,它返回一条服务器无法处理请求的错误消息。我认为这与在案例属性更改时触发的活动工作流有关。我不知道是否还有其他原因阻止了这个请求
由于可以通过GUI关闭这些案例,我想有一组“正确”的步骤需要遵循,以便通过CrmService实现;不幸的是,我已经在谷歌上搜索了一段时间,却没有找到我想要的。有人能帮我吗?这里有一个提示-捕获并检查Detail.OuterXML属性,您将得到更详细的错误消息。有可能您没有正确生成请求。事实上,我不知道存在一个CloseIncidentRequest
类可用于CrmService.Execute()
方法。最有可能的是,SetStateIncidentRequeset
将无法工作,因为预计事件解决方案将以这种方式创建。遗憾的是,类和操作的名称没有得到一致的使用(案例/事件、解决/关闭).要在CRM中解决案例(在VB.NET中),我执行以下操作:
Try
Dim activity As New incidentresolution
Dim closeRequest As New CloseIncidentRequest
Dim closeResponse As New CloseIncidentResponse
Dim strErrors As String = String.Empty()
activity.incidentid = New Lookup
activity.incidentid.type = EntityName.incident.ToString
activity.incidentid.Value = //[GUID OF INCIDENT]
activity.ownerid = New Owner
activity.ownerid.type = EntityName.systemuser.ToString
activity.ownerid.Value = //[GUID OF USER PERFORMING ACTION]
activity.statecode = New IncidentResolutionStateInfo
activity.statecode.Value = 1 //Resolved
activity.statuscode = New Status
activity.statuscode.Value = 5 //Problem Solved
closeRequest.IncidentResolution = activity
closeRequest.Status = 5 //Problem Solved
// IF REQUIRED:
activity.timespent = New CrmNumber
activity.timespent.Value = //[INTEGER REPRESENTING No. OF MIN SPENT ON CASE]
closeResponse = objCrm.Execute(closeRequest)
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
End Try