2014-10-30 85 views
0

我正在尝试使用BMC Remedy 7.6.04创建Remedy事件的Web服务。其中一些参数是您从中选择一个值发送回Web服务的数组,例如状态。我收到以下错误,当我选择StatusType,UrgencyType和ImpactType.Here是状态类型的错误:如何将列表数组参数传递给C中的Web服务#

不能键入“Client.RemedyInc.StatusType”隐式转换为 “Client.RemedyInc.StatusType []”

状态处于reference.cs列举如下:

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")] 
[System.SerializableAttribute()] 
[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:HPD_IncidentInterface_Create_WS")] 
public enum StatusType {   
    /// <remarks/> 
    New,   
    /// <remarks/> 
    Assigned,   
    /// <remarks/> 
    [System.Xml.Serialization.XmlEnumAttribute("In Progress")] 
    InProgress,   
    /// <remarks/> 
    Pending,   
    /// <remarks/> 
    Resolved,   
    /// <remarks/> 
    Closed,   
    /// <remarks/> 
    Cancelled, 
}  

AND:

[System.ServiceModel.MessageBodyMemberAttribute(Namespace="urn:HPD_IncidentInterface_Create_WS", Order=32)] 
[System.Xml.Serialization.XmlElementAttribute("Status")] 
public StatusType[] Status; 

这里是我的代码示例:

protected void ToRemedy_Click(object sender, EventArgs e) 
     { 
      RemedyInc.AuthenticationInfo AuthInfo = new RemedyInc.AuthenticationInfo(); 
      AuthInfo.userName = "User"; 
      AuthInfo.password = "Password"; 

      RemedyInc.HelpDesk_Submit_ServiceRequest RemTicket = new RemedyInc.HelpDesk_Submit_ServiceRequest(); 

      RemTicket.AuthenticationInfo = AuthInfo; 

      RemTicket.Summary = "This is a web service Test"; 
      RemTicket.Last_Name = "LName"; 
      RemTicket.First_Name = "FName"; 
      RemTicket.Service_Type = RemedyInc.Service_TypeType.UserServiceRequest; 
      RemTicket.Reported_Source = RemedyInc.Reported_SourceType.SelfService; 

      RemTicket.Status = RemedyInc.StatusType.New; 
      RemTicket.Urgency = RemedyInc.UrgencyType.Item4Low; 
      RemTicket.Impact = RemedyInc.ImpactType.Item4MinorLocalized; 

      RemTicket.Notes = "This is a web service test"; 
      RemTicket.TemplateID = "AGGAAHHLITMRAAMBGOJWBIN45LBV62"; 
      RemTicket.Action = "CREATE"; 

     } 

任何帮助将不胜感激。 Ken

回答

0

应该将Status声明为数组吗?这似乎是什么例外是,你不能分配StatusType键入StatusType[]

[System.ServiceModel.MessageBodyMemberAttribute(Namespace="urn:HPD_IncidentInterface_Create_WS", Order=32)] 
[System.Xml.Serialization.XmlElementAttribute("Status")] 
public StatusType Status; // Declared as StatusType instead of StatusType[] 

而如果声明是正确的,那么也许你只需要调用代码为新的值赋给一个数组。

RemTicket.Status = new StatusType[] { RemedyInc.StatusType.New }; 
相关问题