2012-06-20 31 views
0

我要訪問WCF web服務,如下代碼:了java.lang.RuntimeException:無法序列:[] ---- KSOAP安卓

void farmCreate(String userName, 
     String authToken) { 
    String resultData = null; 
    Hashtable<String, String> responseHashTable = new Hashtable<String, String>(); 
    try { 
     FarmClass farm = new FarmClass(); 
     StringBuilder sb = null; 
     SoapObject request = new SoapObject(Controller.NAMESPACE, "MethodName"); 
     request.addProperty("aaaa", userName); 
     request.addProperty("aaaa", authToken); 
     request.addProperty("aaaa", farm); 
     request.addProperty("aaaaa", "Add"); 

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

      MarshalDate md = new MarshalDate(); 
      md.register(envelope); 

      MarshalFloat md1 = new MarshalFloat(); 
      md1.register(envelope); 

     HttpTransportSE androidHttpTransport = new HttpTransportSE(Controller.URL6767); 
     androidHttpTransport.call(Controller.SOAP_ACTION + "method name", envelope); 


     //new MarshalBase64().register(envelope); 
     Object result = (Object) envelope.getResponse(); 

     resultData = result.toString(); 



    } catch (Exception e) { 
     // TODO: handle exception 
     e.printStackTrace(); 
     System.out.println("error is occured :-" + e.getMessage()); 
    } 


} 

但響應,產生一個錯誤如下: -

06-20 12:50:03.673: W/System.err(596): java.lang.RuntimeException: Cannot serialize: [] 
06-20 12:50:03.673: W/System.err(596): at org.ksoap2.serialization.SoapSerializationEnvelope.writeElement(SoapSerializationEnvelope.java:679) 
06-20 12:50:03.684: W/System.err(596): at org.ksoap2.serialization.SoapSerializationEnvelope.writeProperty(SoapSerializationEnvelope.java:663) 
06-20 12:50:03.684: W/System.err(596): at org.ksoap2.serialization.SoapSerializationEnvelope.writeObjectBody(SoapSerializationEnvelope.java:632) 
06-20 12:50:03.684: W/System.err(596): at org.ksoap2.serialization.SoapSerializationEnvelope.writeElement(SoapSerializationEnvelope.java:675) 
06-20 12:50:03.684: W/System.err(596): at org.ksoap2.serialization.SoapSerializationEnvelope.writeProperty(SoapSerializationEnvelope.java:663) 
06-20 12:50:03.684: W/System.err(596): at org.ksoap2.serialization.SoapSerializationEnvelope.writeObjectBody(SoapSerializationEnvelope.java:632) 
06-20 12:50:03.684: W/System.err(596): at org.ksoap2.serialization.SoapSerializationEnvelope.writeObjectBody(SoapSerializationEnvelope.java:616) 
06-20 12:50:03.684: W/System.err(596): at org.ksoap2.serialization.SoapSerializationEnvelope.writeElement(SoapSerializationEnvelope.java:673) 
06-20 12:50:03.684: W/System.err(596): at org.ksoap2.serialization.SoapSerializationEnvelope.writeBody(SoapSerializationEnvelope.java:597) 
06-20 12:50:03.684: W/System.err(596): at org.ksoap2.SoapEnvelope.write(SoapEnvelope.java:192) 
06-20 12:50:03.694: W/System.err(596): at org.ksoap2.transport.Transport.createRequestData(Transport.java:101) 
06-20 12:50:03.694: W/System.err(596): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:114) 
06-20 12:50:03.694: W/System.err(596): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:90) 
06-20 12:50:03.694: W/System.err(596): at com.track.controller.SoapWebService.farmCreate(SoapWebService.java:113) 
06-20 12:50:03.694: W/System.err(596): at com.track.view.LiveStock.onCreate(LiveStock.java:82) 
06-20 12:50:03.694: W/System.err(596): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
06-20 12:50:03.694: W/System.err(596): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
06-20 12:50:03.704: W/System.err(596): at android.app.ActivityThread.startActivityNow(ActivityThread.java:2503) 
06-20 12:50:03.704: W/System.err(596): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127) 
06-20 12:50:03.704: W/System.err(596): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339) 

所以,請任何人有關於序列化概念的想法,所以請讓我。 在此先感謝。

回答

0

要序列化任何對象,您應該實現Serializable。嘗試爲FarmClass實現Serializable類。

+0

你可以分享任何示例序列化肥皂對象.. –

+0

只需爲FarmClass添加'實現Serializable'。 lke公共類FarmClass實現Serializable {} –

+0

謝謝,我已經使用過這個,但另一個問題來了下面..:---- SoapFault - faultcode:'a:DeserializationFailed'faultstring:'格式化程序在嘗試反序列化消息: –

相關問題