У меня есть веб-сервис .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.
Я видел это на нескольких форумах, но не могу найти способ решить эту проблему.