2012-08-30 6 views
0

привет, когда я призываю мой веб-сервис возвращает меня:Почему возвращаемое значение веб-службы равно null?

<?xml version="1.0" encoding="UTF-8"?> 
    -<ArrayOfAnyType xmlns="http://localhost:5669/TAWebService.asmx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
<anyType xsi:nil="true"/> 
</ArrayOfAnyType> 

любую идею, что может быть не так? и когда я называю это из моего winapp, он возвращает null! но на веб-сайте я разработал webservice. Он работает правильно и возвращает мне объект!

здесь запрос LinqToSql я использую, чтобы получить объект:

[WebMethod] 
public Object[] getPersonnel(string hashCode) 
{ 
    Personnel personnel = new Personnel(); 
    Object[] objReturn = new Object[10]; 
    try 
    { 
     db = new TimeAttendanceDataBaseDataContext(); 
     personnel = db.Personnels.FirstOrDefault(x => x.HashRecord == hashCode.Substring(0,10)); 
     objReturn[0] = personnel.ID; 
     objReturn[1] = personnel.UserName; 
     objReturn[2] = personnel.Password; 
     objReturn[3] = personnel.FirstName; 
     objReturn[4] = personnel.LastName; 
     objReturn[5] = personnel.Mobile; 
     objReturn[6] = personnel.Email; 
     objReturn[7] = personnel.HashRecord; 
     objReturn[8] = personnel.AccessLevel; 
     objReturn[9] = personnel.PersonnelCode; 
    } 
    catch 
    { 
     objReturn[0] = null; 
     objReturn[1] = null; 
     objReturn[2] = null; 
     objReturn[3] = null; 
     objReturn[4] = null; 
     objReturn[5] = null; 
     objReturn[6] = null; 
     objReturn[7] = null; 
     objReturn[8] = null; 
     objReturn[9] = null; 

    } 
    return objReturn; 
} 
+0

Это выглядит, как вы 'перехватывает исключение и возвращает массив, содержащий 10 'null Objects'. – bluevector

+3

может быть исключение? и u возвращают null в catch –

+0

публикуют конфигурации – Erix

ответ

0

Я получил answear, проблема заключалась в том, что я должен был изменить свою AppPool к локальной системе в IIS и я мог бы войти в веб-сервис через мои другие приложения

2

Исключение происходит внутри try блока. Установите точку останова, чтобы отладить код, чтобы понять, что не так.

Возможно, hashcode не имеет длины или меньше 10? или db.Personnels.FirstOrDefault(...) возвращается null?

Как примечание, было бы хорошо, если бы вы реализовали некоторую логику ведения журнала, чтобы вы могли легче находить проблемы в живой среде. Log4net является хорошим вариантом для этого

Смежные вопросы