0

我在comunicate使用ksoapandroid 的网络服务时遇到问题。这个想法是接收一个JSON字符串,然后对该字符串进行一些解析。我打开了我的 Web 服务表单 Eclipse Web 服务资源管理器,服务器端似乎一切正常,提供给请求的参数是正确的。

我的错误:

SoapFault - faultcode: 'soapenv:Server' faultstring: '3' faultactor: 'null' detail: org.kxml2.kdom.Node@b75ddd60

SOAP 错误代码表明它是服务器错误,但正如我上面所说,它在 Eclipse Web 服务资源管理器中运行良好。

我的代码:

private static final String method_get_quest_by_id = "getQuestionsById";
private static final String NAMESPACE = "http://surveys.services.backend.capi.ateam";
private static final String retirieveQuestById = NAMESPACE
        + method_get_quest_by_id;
private static String url = "http://ec2-184-73-10-139.compute-1.amazonaws.com:8080/Services/services/SurveyService";

try{
       SoapObject request = new SoapObject(NAMESPACE,method_get_quest_by_id);
       SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
       request.addProperty("userName", userName);
       request.addProperty("password", pass);
       request.addProperty("id", id);
       envelope.setOutputSoapObject(request);
       HttpTransportSE androidHttpTransport = new HttpTransportSE(url);
       androidHttpTransport.call(retirieveQuestById, envelope);
       Object result = envelope.getResponse();
       resultString= result.toString();
   } catch (Exception E) {
       E.printStackTrace();
   }

我正在使用 android 2.2。

有人可以帮帮我吗?我已经坚持了几天了...谢谢

4

1 回答 1

2

最后我找到了问题的原因。当它应该是“标识符”时,我将“id”作为参数名称传递。

花了很长时间才发现问题可能是因为故障字符串没有太大帮助。我的猜测是 faultstring = "3" 表示参数 3 有问题。

于 2012-11-17T16:08:37.637 回答