我的本地IIS上有一个.NET Web服务。我用黑莓手机从中调用了一个方法ClientSearch。方法是:
[WebMethod]
public List<Client> ClientSearch(string Surname, string Forename, string DOB, string Postcode)
{
List<Client> clients = new List<Client>();
// Populate list
return clients;
}
“缺少响应中数组类型的不可为零的元素”。
我使用Sun Wireless Toolkit 2.5.2生成的存根访问Web服务。客户端类型的wsdl文件包含:
<s:element minOccurs="0" maxOccurs="unbounded" name="Client" nillable="true" type="tns:Client" />
这就是nillable的来源,但是这些值是在web方法中硬编码的,所以它应该总是有一个值。
我用来调用webservice的代码与我在每个BB应用程序中调用它们的代码相同,因此我知道它是有效的。
Service1Soap_Stub stub = new Service1Soap_Stub();
result = stub.clientSearch("", "", "", "");
我正在使用Eclipse3.4.0(Ganymede)和BlackBerryJDE插件1.0.0.67以及组件包4.5.0。
我在几个不同的论坛上看到过这一点,但找不到解决这个问题的方法。