2011-11-11 43 views
0

嗨,我想做一個肥皂請求,但我沒有得到任何迴應。我不知道爲什麼..我下面這個例子http://www.ilias.de/docu/ilias.php?ref_id=951&from_page=16155&cmd=layout&cmdClass=illmpresentationgui&cmdNode=57&baseClass=ilLMPresentationGUI&obj_id=16157,但我不能得到任何答覆:(這是我的代碼:java ksoap2登錄ilias

import java.io.IOException; 
import org.ksoap2.SoapEnvelope; 
import org.ksoap2.serialization.SoapObject; 
import org.ksoap2.serialization.SoapSerializationEnvelope; 
import org.ksoap2.transport.HttpTransportSE; 
import org.xmlpull.v1.XmlPullParserException; 

public class SOAPExample 
{ 

    public String login() 
    { 
     String session = null; 

     // first log in as a user with administrative rights and retrieve your session id 
     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
     SoapObject soapObject = new SoapObject("urn:ilUserAdministration", "login"); 
     soapObject.addProperty("client", "client3"); 
     soapObject.addProperty("username", "stacked"); 
     soapObject.addProperty("password", "overflow"); 
     envelope.setOutputSoapObject(soapObject); 
     HttpTransportSE transport = new HttpTransportSE("http://www.ilias.de/test310/webservice/soap/server.php"); 
     transport.debug = true; 
     try 
     { 
      transport.call("login", envelope); 
      session = envelope.getResponse().toString(); 
      return session; 
     } 
     catch (IOException e) 
     { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     catch (XmlPullParserException e) 
     { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     if (session == null) 
     { 
      System.out.println("Your login wasn't successful"); 
     } 
     return null; 
    } 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) 
    { 
     // TODO Auto-generated method stub 
     SOAPExample se = new SOAPExample(); 
     String sid = se.login(); 
     System.out.println(sid); 

    } 

} 
+0

沒有足夠的信息。請詳細描述會發生什麼。 –

+0

我只想獲取我的登錄ID。這是SoapFault錯誤 - faultcode:'客戶'faultstring:'錯誤建立dsn /錯誤的客戶端ID?' faultactor:在org.ksoap2.serialization.SoapSerializationEnvelope.parseBody(未知來源) \t在org.ksoap2.SoapEnvelope.parse(未知來源) \t在有機[email protected] \t: '' 的細節。 ksoap2.transport.Transport.parseResponse(未知來源) \t在org.ksoap2.transport.HttpTransportSE.call(未知來源) \t在Soap.login(Soap.java:30) \t在Soap.main(Soap.java :58) –

+0

我認爲你的'SOAPACTION'在'transport.call(「login」,envelope); '是錯的,它應該是'transport.call(「urn:ilUserAdministration#login」,envelope); '或'transport.call(「urn:ilUserAdministration/login」,envelope);'嘗試使用這個&告訴結果。 –

回答

0

從我從你的代碼理解一點,我覺得你是想驗證一個用戶通過創建一個登錄應用程序。

我以前在Android上使用KSOAP做了類似的事情。

你可以參考this,這可能只是給你,你應該如何去使用KSOAP提示。

H我已經幫你,

乾杯