2011-06-20 7 views
0

私はAndroidアプリのためを介してWSDL Webserviceを呼び出しています。Ksoap私はSoapPrimitiveを使用する場合、それが動作し、私は次の文字列を取得: Webサービスを呼び出すKsoap - SoapObjectの問題

{"INGREDIENTS": [ 
    { 
     "TEXT": "ohne Schweinefleisch", 
     "KEY": "*" 
    }, 
    { 
     "TEXT": "mit Alkohol", 
     "KEY": "11" 
    }, 
......

など..私はListViewで唯一の「テキスト」を持っていると思い、 SoapPrimitiveでどのように実現できるのか分かりません。

そして、私はSoapObjectを使用する場合、私は次のようExeption得る:ここで

"java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive cannot be cast to org.ksoap2.serialization.SoapObject" 

は私のコードです:

try { 

     SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

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

     HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
     androidHttpTransport.debug = true; 
     androidHttpTransport.call(SOAP_ACTION, envelope); 

     SoapObject response = (SoapObject)envelope.getResponse(); 
     } 

間違っているのですか?私はウェブで何時間も見ましたが、答えが見つかりませんでした。

答えて

2

JSONArrayJSONObjectのようです。 built-in json library で解析するか、gsonを使用します。

+0

ありがとう、 このような意味があります: オブジェクトの結果=(オブジェクト)envelope.getResponse(); JSONObject jObject =新しいJSONObject(result.toString()); – ph09

+0

あなたのケースでは、 'JSONArray jArray = new JSONArray(result.toString());'でなければなりません。 – ernazm

関連する問題