【问题标题】:Conversion Issue when consuming soap web service使用soap web服务时的转换问题
【发布时间】:2014-11-07 18:16:00
【问题描述】:

我有一个名为 RemedyInc 的 Web 服务。我正在尝试使用以下 c# 代码使用此 Web 服务:

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();
        RemedyInc.HelpDesk_Submit_ServiceResponse Response = new RemedyInc.HelpDesk_Submit_ServiceResponse();

        RemTicket.AuthenticationInfo = AuthInfo;

        RemTicket.Summary = "This is a web service Test";
        RemTicket.Last_Name = "Peck";
        RemTicket.First_Name = "Kenneth";
        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";

    }

在我到达 RemTicket.Status 之前,一切似乎都很好。我只是选择了 Web 服务提供的选项之一,但我收到了这个转换错误。

枚举客户端 RemedyInc.StatusType

错误: 无法将类型“Client.RemedyInc.StatusType”隐式转换为“Client.RemedyInc.StatusType[]”

web服务引用如下。

public string HelpDesk_Submit_Service(
                Client.RemedyInc.AuthenticationInfo AuthenticationInfo, 
                string Summary, 
                string Last_Name, 
                string First_Name, 
                System.Nullable<Service_TypeType> Service_Type,
                System.Nullable<Reported_SourceType> Reported_Source,                   
                StatusType[] Status,
                System.Nullable<UrgencyType>[] Urgency,
                System.Nullable<ImpactType>[] Impact, 
                string Notes, 
                string TemplateID,
                string Action) 
HelpDesk_Submit_Service(inValue);
return retVal.Incident_Number;
    }

RemTicket.Status 是类型 StatusType[]

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

如何从网络服务提供的列表中选择“新建”并将其传递给 RemTicket.Status?

    public enum StatusType {

    New,

    Assigned,

    [System.Xml.Serialization.XmlEnumAttribute("In Progress")]
    InProgress,

    Pending,

    Resolved,

    Closed,

    Cancelled,
}

这应该很简单,但我似乎无法传递正确的“类型”任何帮助将不胜感激。

【问题讨论】:

    标签: c# web-services soap type-conversion


    【解决方案1】:

    StatusStatusType

    的数组
    RemTicket.Status = new RemedyInc.StatusType[] { RemedyInc.StatusType.New };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      • 2019-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多