Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c中向web服务传递列表数组参数#_C#_Web Services - Fatal编程技术网

C# 如何在c中向web服务传递列表数组参数#

C# 如何在c中向web服务传递列表数组参数#,c#,web-services,C#,Web Services,我试图使用BMC Remedy 7.6.04中的一个web服务,该服务创建了一个补救事件。其中几个参数是数组,您可以从中选择要发送回web服务的值,例如Status。选择StatusType、UrgencyType和ImpactType时出现以下错误。以下是Status Type的错误: 无法将类型“Client.remedync.StatusType”隐式转换为 'Client.remedync.StatusType[]' 状态在reference.cs中列举如下: [System.CodeD

我试图使用BMC Remedy 7.6.04中的一个web服务,该服务创建了一个补救事件。其中几个参数是数组,您可以从中选择要发送回web服务的值,例如Status。选择StatusType、UrgencyType和ImpactType时出现以下错误。以下是Status Type的错误:

无法将类型“Client.remedync.StatusType”隐式转换为 'Client.remedync.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,
}    
以下是我的代码示例:

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

您的
状态是否应声明为数组?这似乎是例外,因为您不能将
StatusType
分配给type
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 };
RemTicket.Status = new StatusType[] { RemedyInc.StatusType.New };