KSOAP和.net服务上的奇怪行为

时间:2011-10-18 20:58:39

标签: .net web-services ksoap2

所以,我尝试了另一种解决我之前发布的问题的方法(http://stackoverflow.com/questions/7812507/ksoap2-double-id)

我从一个DataSet中的return更改为返回一个简单的字符串数组。这是webMethod

<WebMethod(Description:="Almacena una lectura, la posición del lecturista y revisa si sigue activo el servicio")> _
Public Function guardarDatos(ByVal Lecturas As Object, ByVal id_lec As String, ByVal usuario As String, ByVal sobrelectura As String, ByVal latitud As String, ByVal longitud As String, ByVal precision As String, ByVal pin As String) As String()
    Dim respuesta As String() = {"dummie", "0", "0", "0"}
    If ingresarLecturas(Lecturas, id_lec, usuario, sobrelectura) Then
        respuesta(1) = "1"
    End If
    If guardaLocalizacion(id_lec, usuario, latitud, longitud, precision, pin) Then
        respuesta(2) = "1"
    End If
    If gpsActivo() Then
        respuesta(3) = "1"
    End If
    Return respuesta
End Function

但这是奇怪的事情。注意我的数组的元素0如何表示“dummie”。这是因为在检索webService的响应时,SoapSerializationEnvelope(简称ssebodyIn元素在获取属性时为ClassCastException提供了getResponse()getResult()我确实可以获得没有问题的值,但只有索引1和2中的那些,索引0中的那个总是给我一个ClassCastException,所以我尝试在我的上添加一个“dummie”索引0返回数组并将最终值存储在索引1,2和3上,并且它可以工作,我可以检索值,但getProperty(0)不断向我发送ClassCastException。有任何想法吗????很奇怪吧?

1 个答案:

答案 0 :(得分:0)

你没有设置respuesta(0),所以它没什么。这将导致类强制转换异常或空引用异常,具体取决于调用者。