Получение нулевого элемента из веб-службы .NET с помощью Blackberry - PullRequest
0 голосов
/ 17 декабря 2009

У меня есть веб-сервис .NET, установленный на моем локальном IIS. Я вызываю 1 метод из него, ClientSearch, используя Blackberry. Метод:

[WebMethod]
public List<Client> ClientSearch(string Surname, string Forename, string DOB, string Postcode)
{
   List<Client> clients = new List<Client>();
   // Populate list
   return clients;
}

Когда я звоню с моего симулятора Blackberry, я получаю сообщение об ошибке:
"отсутствует пропускаемый элемент типа массива в ответе".

Я получаю доступ к веб-сервису, используя заглушки, созданные Sun Wireless Toolkit 2.5.2. Файл wsdl для типа клиента содержит:
<s:element minOccurs="0" maxOccurs="unbounded" name="Client" nillable="true" type="tns:Client" />

Вот откуда берется нилбл, но значения жестко закодированы в веб-методе, поэтому он всегда должен иметь значение.

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

Service1Soap_Stub stub = new Service1Soap_Stub();
result = stub.clientSearch("", "", "", "");

Я использую Eclipse 3.4.0 (Ganymede) и подключаемый модуль Blackberry JDE 1.0.0.67 и пакет компонентов 4.5.0.

Я видел это на нескольких форумах, но не могу найти способ решить эту проблему.

1 Ответ

1 голос
/ 18 декабря 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...