2

在我的应用程序中,如果结果成功,我想联系 Web 服务并返回一个布尔值。出于安全原因,我解析了 5 个字段,但我不知道如何使用soap 发送和接收输入和输出。我遵循了一个 w3school 示例,它适用于一个输入,但现在我对几个数据感到困惑。请帮忙,这是我的代码。

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapObject loginTo = new SoapObject(NAMESPACE, "LoginDetail");

PropertyInfo pi = new PropertyInfo();
loginTo.addAttribute("idCon", "124059432");
loginTo.addProperty("codeSession", "1234");
loginTo.addProperty("type","CLIENT");
loginTo.addProperty("client_number","167");
loginTo.addProperty("account_num","3403");
loginTo.addProperty("codeAuth","333");

request.addProperty("loginDetails", loginTo);

Log.e("Soap Request : ", "" + request);

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);

HttpTransportSE aht = new HttpTransportSE(URL);

try {
    aht.call(SOAP_ACTION, envelope);
    SoapObject response = (SoapObject) envelope.getResponse();

    Log.e ("login result", response.toString()); //lblResult.setText(results.toString());

    Boolean loginStatus = Boolean.getBoolean(response.getProperty("success").toString());

} catch (Exception e) {
    e.printStackTrace();
}
4

1 回答 1

0
 SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);


request.addProperty("codeSession", "1234");
request.addProperty("type","CLIENT");
request.addProperty("client_number","167");
request.addProperty("account_num","3403");
request.addProperty("codeAuth","333");

Log.e("Soap Request : ", "" + request);

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);

HttpTransportSE aht = new HttpTransportSE(URL);

try

{
    aht.call(SOAP_ACTION, envelope);
    SoapObject response = (SoapObject) envelope.getResponse();

    Log.e ("login result", response.toString()); //lblResult.setText(results.toString());

    Boolean loginStatus = Boolean.getBoolean(response.getProperty("success").toString());

}

像这样使用。希望它会奏效。

于 2013-03-26T12:39:02.563 回答