java.lang.ClassCastException: org.ksoap2.la sérialisation.SoapPrimitive?
Je suis d'appeler un service web à partir de mon android de l'application client. Après l'obtention de la réponse quand j'essaye de l'afficher, je suis ClassCastException. Voici mon code:
public void onClick(View v) {
setContentView(R.layout.report);
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
EpcDetails epcdetails=new EpcDetails();
epcdetails.setEpcId(input_val.getText().toString());
request.addProperty("id", id
SoapSerializationEnvelope sse=new SoapSerializationEnvelope(SoapEnvelope.VER11);
sse.setOutputSoapObject(request);
sse.addMapping(NAMESPACE,
ProductDetailsRequest.ProductDetailsRequest.getSimpleName(),
ProductDetailsRequest.ProductDetailsRequest);
sse.implicitTypes=true;
sse.setAddAdornments(false);
AndroidHttpTransport aht=new AndroidHttpTransport(URL);
try
{
aht.call(SOAP_ACTION, sse);
SoapObject response= (SoapObject) sse.getResponse();
item_code.setText((CharSequence)(response.getProperty(6)));
desc.setText((CharSequence) (response.getProperty(5)));
price.setText(calc_price.toString());
} catch (IOException e)
{
e.printStackTrace();
} catch (XmlPullParserException e)
{
e.printStackTrace();
}
Je suis arriver Exception à item_code.setText((CharSequence)(réponse.getProperty(6)));
comme
12-20 19:26:12.864: ERROR/AndroidRuntime(811): FATAL EXCEPTION: main
12-20 19:26:12.864: ERROR/AndroidRuntime(811): java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at com.trueVUE.modules.report.MainSimulation.onClick(MainSimulation.java:123)
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at android.view.View.performClick(View.java:2408)
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at android.view.View$PerformClick.run(View.java:8816)
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at android.os.Handler.handleCallback(Handler.java:587)
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at android.os.Handler.dispatchMessage(Handler.java:92)
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at android.os.Looper.loop(Looper.java:123)
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at android.app.ActivityThread.main(ActivityThread.java:4627)
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at java.lang.reflect.Method.invokeNative(Native Method)
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at java.lang.reflect.Method.invoke(Method.java:521)
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-20 19:26:12.864: ERROR/AndroidRuntime(811): at dalvik.system.NativeStart.main(Native Method)
Veuillez suggérer des soln ASAP.
Ce qui concerne,
Rahul
OriginalL'auteur Rahul | 2010-12-20
Vous devez vous connecter pour publier un commentaire.
parce que le type de votre webservice de retour est une Chaîne ,si vous pouvez résoudre de cette façon:
lors de votre webservice valeurs de retour est de type byte[] ,vous pouvez le faire
OriginalL'auteur crazydragon
Peut-être de votre service web retournant un objet XML qui est à l'origine de ClassCastException au client qu'il n'est pas pris en charge par KSOAP, essayer de retourner le résultat de votre service web comme une Chaîne de caractères(de préférence avec CDATA) et que le problème aurait été résolu.
OriginalL'auteur rahil008
Ce question sera utile pour vous.
Vous devez utiliser getString() pour convertir une bien retourné dans une Chaîne de caractères:
Êtes-vous sûr de l'index (5 et 6) sont-ils corrects?
OriginalL'auteur kgiannakakis