Запрос веб-службы не отображает строки в массиве

1

Привет, У меня проблема при попытке вернуть содержимое запроса (строки) в качестве arraylist. Я справился с одним из моих запросов, но я не могу воспроизвести его другим методом. (У меня есть класс EmplAbsence)

Метод Webservice 1:

[WebMethod]
public List<EmplAbsence> getEmplAbsence()
{
    List<EmplAbsence> emplAbsence = new List<EmplAbsence>();

    try
    {
        sqlConn.Open();

        string queryEmplAbsence = "select [First Name],[Last Name] from [CRONUS Sverige AB$Employee] where No_ in (select  [Employee No_] from [CRONUS Sverige AB$Employee Absence] where Description='Sjuk'and [From Date] between '2004-01-01' and '2004-12-31')";
        SqlCommand cmd = new SqlCommand(queryEmplAbsence, sqlConn);
        SqlDataReader reader = cmd.ExecuteReader();

        while (reader.Read())
        {
            EmplAbsence ez = new EmplAbsence(reader.GetString(0), reader.GetString(1));
            Console.WriteLine(ez);
            emplAbsence.Add(ez);
        }
    }
    catch (SqlException)
    {
        throw;
    }
    finally
    {
        sqlConn.Close();
    }
    return emplAbsence;
}

public class EmplAbsence
{
    string firstname;
    string lastname;

    public EmplAbsence()
    {
    }
    public EmplAbsence(string firstname, string lastname) {
        this.firstname = firstname;
        this.lastname = lastname;
    }
}

Это результат:

Изображение 174551

Запрос работает в SQL Server Manager, но он, похоже, не распечатывает указанные строки. Мне нужно, чтобы он выглядел так, чтобы использовать его в клиентском приложении Java:

Изображение 174551

Любая помощь приветствуется! Вероятно, это небольшая ошибка, но я довольно долго помогал мне в этом.

Теги:
web-services

1 ответ

0
Лучший ответ

Убедившись, что ваш конструктор правильно устанавливает значения, вам нужно указать, какие члены вашего класса вы хотите сериализовать, используя атрибуты DataContract и DataMember.

using System.Runtime.Serialization;

[DataContract(Name="MostSick")]
public class EmplAbsence
{

  [DataMember]
  public string FirstName {get;set;}
}

и возвратите Array вместо List<T> в ваш метод обслуживания.

return emplAbsence.ToArray();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню