iam using KSOAP2 for web services. my client is BlackBerry Phone and Server is KeyRingLabs.com. i am using php page for connection...i have taken this code form a Forum.and modified it according to my requirements...but I am having XMLPULLPARSER EXCEPTION...can any body help???
here is my code....
import net.rim.device.api.ui.;
import net.rim.device.api.ui.component.;
import net.rim.device.api.ui.container.;
import net.rim.device.api.system.;
import java.util.;
import org.ksoap2.;
import org.ksoap2.serialization.;
import org.ksoap2.transport.;
import java.io.IOException;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransport;
import org.xmlpull.v1.XmlPullParserException;
final class StockQuoteDemo extends UiApplication
{
public static void main (String[] args)
{
StockQuoteDemo theApp = new StockQuoteDemo ();
theApp.enterEventDispatcher ();
}
public StockQuoteDemo ()
{
pushScreen (new StockQuoteScreen ());
//doSOAP();
}
final class StockQuoteScreen extends MainScreen 
{
public static final 
String action = "http://keyringlabs.com/Login";
public static final 
String namespaceRoot = "bbpointofsale.com";
//public static final 
String webroot = "http://192.168.1.2/bbpointofsale.com/";
public static final 
String webroot = "http://192.168.0.35/";
//public static final 
String webroot = "http://www.bbpointofsale.com";
public 
String errorMessage;
public 
String key;
public 
String transactionID;
private HttpTransport transport;
private SoapSerializationEnvelope envelope;
public StockQuoteScreen ()
{
//transport = new HttpTransport(webroot + "bb/service/index.php");
transport = new HttpTransport(webroot+"Disk/rashid11/index4.php");
transport.debug = true;
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
key = null;
envelope.encodingStyle = SoapSerializationEnvelope.XSD1999;
ProcessLogin("
[email protected]","123456");
//Dialog.alert("GEN 1");
//Dialog.alert("Warr Gai Vai!!!");
}
public boolean onClose ()
{
Dialog.alert ("Goodbye!");
System.exit (0);
return true;
}
public boolean ProcessLogin(String email, 
String password) {
System.err.println("Starting The Process");
errorMessage = "";
String namespace = "urn:" + namespaceRoot + ":login";
   //System.err.println("LINK:"+namespace);
 //  SoapObject message = new SoapObject(namespace, "login");
 SoapObject message = new SoapObject(namespaceRoot, "login");
message.addProperty("email", email);
   message.addProperty("password", password);
envelope.bodyOut = message;
// System.err.println("KSOAP:"+ envelope.toString());
//String soapAction = namespace + "#login";
   
String soapAction = "http://bbpointofsale.com/login";
  // System.err.println("Action : "+soapAction);
try {
          //transport.setXmlVersionTag(""); 
          transport.call(soapAction, envelope);
} catch (IOException e) {
              e.printStackTrace();
          System.out.println("error: "+e.getMessage());
          errorMessage = e.getMessage();
          System.out.println("response1: "+transport.responseDump);
               return false;
  } catch (XmlPullParserException e) {
           e.printStackTrace();
     errorMessage = e.getMessage();
     System.out.println("request2: "+transport.requestDump);  
     System.out.println("response2: "+transport.responseDump);
           return false;
}
try {
      SoapObject result = (SoapObject) ((SoapObject)envelope.getResponse()).getProperty(0);
            key = hackToGetResponse("serviceToken", result.toString());
      if (key.length() > 0) {
                    System.out.println("KEY:" + key);
                  return true;
       } else {
         }
     } catch (SoapFault e) {
            errorMessage = e.getMessage();
     System.out.println("response3: "+transport.responseDump);
           return false;
} catch (Exception e) {
         errorMessage = e.getMessage();
         System.err.println("response4: "+transport.responseDump);
         return false;
  }
return false;
}
public 
String hackToGetResponse(String key, 
String response) {
System.out.println("hackToGetResponse:" + response);
String start = "anyType{key=" + key + "; value=";
String end = "; }";
if (response.indexOf(start) == -1 ||
           response.indexOf(end) == -1) return "";
  System.out.println("hackToGetResponse:" + "response.substring(0, " + response.indexOf(start)  + ").substring(0, " + response.indexOf(end) + ");");
 response = response.substring(response.indexOf(start) + start.length());
   response = response.substring(0, response.indexOf(end));
 if (response.indexOf("anyType{}") != -1) return "";
return response;
}
}
}
//******************PHP FILE************************
$server = new SoapServer(null, array('uri' = "urn:keyringlabs.com"));
//$server = new SoapServer(null, array('uri' = "urn: bbpointofsale.com"));
$server-addFunction("login");
//$email='
[email protected]';
//$pass='123456';
function login($email, $pass) {
if (strlen($email) == 0) {
    return Array('serviceToken' => '');
} elseif (strlen($pass) == 0) {
    return Array('serviceToken' => '');
} else {
    $objMerchant = Merchant::LoadByEmailPassword($email, $pass);
    if ($objMerchant == null || $objMerchant->Id <==1) {
        return Array('serviceToken' => '');
    } else {
        $key = uniqid();
        $objSess = new Merchantsessions();
        $objSess->MerchantID = $objMerchant->Id;
        $objSess->ServiceToken = $key;
        $objSess->Save();
    }
}
$result = Array('serviceToken' => $key);
//print  $result;
return $result;
}
?
///****************************************
is there any need of an XML page or something..to run it perfectly...please help
thank you for your time!