代码之家  ›  专栏  ›  技术社区  ›  Fermin

使用Blackberry从.NET Web服务接收可nillable元素

  •  0
  • Fermin  · 技术社区  · 16 年前

    我的本地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。

    我在几个不同的论坛上看到过这一点,但找不到解决这个问题的方法。

    1 回复  |  直到 16 年前
        1
  •  1
  •   Fermin    16 年前

    解决了这个问题。问题是,我的客户机对象有一些公共属性,它们也从未被赋值。我以为他们的类型会有默认值,但事实并非如此。