Ksoap soapenvelope bodyin e getresponse () problema
-
30-10-2019 - |
Domanda
Sto usando il seguente codice per chiamare un metodo di SOAP. Funziona perfettamente.
private static final String SOAP_ACTION = "http://tempuri.org/GetAuthenticateUser";
private static final String METHOD_NAME = "GetAuthenticateUser";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://stage.mysite.com/FinancialSnapshotService/Service.asmx?WSDL";
// I have tried http://stage.mysite.com/FinancialSnapshotService/Service.asmx also
public void getResults() {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("vstrUserID", "vk@gmail.com");
request.addProperty("vstrPassword", "password");
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(request);
HttpTransportSE aht = new HttpTransportSE(URL);
try {
aht.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
aht.call(SOAP_ACTION, soapEnvelope);
SoapObject result = (SoapObject) soapEnvelope.getResponse();
Log.d("WS", String.valueOf(result));
} catch (Exception e) {
e.printStackTrace();
}
}
Ma quando ho provato lo stesso codice da utilizzare in alcuni altri metodi nello stesso server, dà ClassCastException: org.ksoap2.SoapFault
. Se cambio la linea SoapObject result = (SoapObject) soapEnvelope.getResponse();
a SoapObject result = (SoapObject)soapEnvelope.bodyIn;
, funziona perfettamente. Aanyone può dirmi cosa è di base di questo codice, dove usare bodyIn
e dove usare getResponse()
?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow