2009-12-17 3 views
0

У меня есть .NET webservice, сидящий на моем локальном IIS. Я вызываю один метод из него, ClientSearch, используя Blackberry. Метод:Получение элемента nillable из .NET webservice с использованием 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 тренажере я получаю ошибку:
«не nillable элемент типа массива в ответ пропущен».

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

Это где nillable происходит от а значения зашиты в веб-метод поэтому он всегда должен иметь значение.

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

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

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

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

ответ

1

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

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