(Нет, это не то же самое, что мой последний пост, я пытаюсь здесь что-то отличное от типа var)
Я прошел по методу, который я вызвал из своей ссылки на веб-сервис. Я прошел через это на самом деле прямо в .asmx и обратно. Это определенно возвращает действительный завершенный объект типа ServiceAuthResponse. Вот моя оболочка метода .asmx (я удалил всю логику для публикации простоты ... просто посмотрите, что она возвращает ServiceAuthRequest в качестве типа здесь):
public ServiceAuthResponse IssueDebit(...)
{
....
return debitResponse;
}
Я даже могу навести курсор мыши на переменную debitResponse и увидеть свойства объекта и все так же, как всегда ... поэтому объект определенно не равен нулю ... у него есть состояние, когда он возвращается во время моей отладки.
Я вызываю этот метод сервиса в коде за страницей .aspx в другом веб-проекте, который ссылается на этот веб-сервис или использует его.
Здесь вы можете увидеть пару снимков веб-сервиса в VS:
http://www.elbalazo.net/post/webservicespic1.jpg
http://www.elbalazo.net/post/webservicespic2.jpg
Так что в одном из моих методов в моем коде позади я пытаюсь вызвать и получить возвращаемый объект. В верхней части кода выделен оператор using, указывающий, что ServiceAuthResponse должен исходить из прокси-класса (поскольку в противном случае он конфликтовал бы с некоторыми другими ссылками, которые я добавил в этот веб-проект, содержащий этот класс):
using ServiceAuthResponse = WebServicesTesting.LitleService.ServiceAuthResponse;
Нет, вот в чем проблема. Я не знаю, как вполне успешно получить возвращаемый объект, который возвращает IssueDebit. Вызов IssueDebit работает, и когда я перехожу мимо точки отладки, устанавливается значение debitResponse = litleService.IssueDebit (...); и попытаться просмотреть debitResponse, я ничего не получаю. Я ничего не вижу в этом объекте.
Все, что я вижу, это: http://www.elbalazo.net/post/objectempty.jpg, означающее, что переменная debitResponse должна иметь правильное состояние, но когда я наведу курсор мыши, я не получаю ничего, кроме пространства имен.
Вот снова код, вызывающий этот метод веб-службы IssueDebit:
private void IssueDebit()
{
ValidateFormData();
SetState();
if (string.IsNullOrEmpty(txtDebitAmount.Text))
throw new NullReferenceException("Debit amount is empty");
ServiceAuthResponse debitResponse;
debitResponse = litleService.IssueDebit(...);
pnlIssueDebitResults.Visible = true;
SetIssueDebitResults(debitResponse);
}
Я делаю что-то не так в контексте того, как я должен пытаться захватить и заполнить мою переменную сложным типом, возвращающимся из вызова метода веб-службы IssueDebit?