2014-07-23 1 views
0

Essayer de faire un pull de service Web de base et je continue à obtenir une erreur:erreur Android org.xmlpull.v1.XmlPullParserException

org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <html>@2:44 in [email protected]) 

Je suis coincé là-dessus depuis 3 jours maintenant. J'ai regardé à peu près tous les exemples sur StackOverflow, mais toujours rien d'autre idk quoi d'autre et je me sens comme si je l'ai regardé tellement de fois que je suis juste en train de regarder quelque chose maintenant ... Voici mon code;

private final String NAMESPACE = "http://tempuri.org/"; 
private final String URL   = "http://foo/bar/Service1.asmx"; 
private final String SOAP_ACTION = "http://tempuri.org/HelloWorld"; 
private final String METHOD_NAME = "HelloWorld"; 
private String TAG    = "SOAP"; 

private static String message; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    .... 
} 

public void getMessage() { 

     String dump; 
     //Create request 
     SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

     //Create envelope 
     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
       SoapEnvelope.VER11); 
     //envelope.encodingStyle = SoapSerializationEnvelope.ENC2001; 
     envelope.dotNet = true; 



     //Set output SOAP object 
     envelope.setOutputSoapObject(request); 
     //Create HTTP call object 
     HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 

     try { 

      androidHttpTransport.debug=true; 
      androidHttpTransport.call(SOAP_ACTION, envelope); 
      dump = androidHttpTransport.responseDump; 
      //Get the response 
      //SoapObject result = (SoapObject) envelope.bodyIn; 
      SoapPrimitive response = (SoapPrimitive) envelope.getResponse(); 
      //Assign it to fahren static variable 
      message = response.toString(); 

    } catch (Exception e) { 
     //tv.setText(e.getMessage()); 
     e.printStackTrace(); 
    } 

} 

Puis, quand je fais un pas à travers elle et regarde le responseDump il dit ceci:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> 
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title> 
<style type="text/css"> 
<!-- 
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans- serif;background:#EEEEEE;} 
fieldset{padding:0 15px 10px 15px;} 
h1{font-size:2.4em;margin:0;color:#FFF;} 
h2{font-size:1.7em;margin:0;color:#CC0000;} 
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} 
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans- serif;color:#FFF; 
background-color:#555555;} 
#content{margin:0 0 0 2%;position:relative;} 
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;} 
--> 
</style> 
</head> 
<body> 
<div id="header"><h1>Server Error</h1></div> 
<div id="content"> 
<div class="content-container"><fieldset> 
    <h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2> 
    <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3> 
</fieldset></div> 
</div> 
</body> 
</html> 

Mes erreurs de code sur à cette ligne:

androidHttpTransport.call(SOAP_ACTION, envelope); 

Quand les Exception attrape, c'est l'erreur:

org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <html>@2:44 in [email protected]) 

Si quelqu'un peut m'aider je serais tellement reconnaissant .. cela m'a ennuyé à mort que je ne peux pas le comprendre ...

Répondre

0

Vous ne pouvez pas obtenir la page web html avec du savon !! Et si vous appelez un webservice vous devez remplacer votre lien avec wsdl

foo/bar/Service1.asmx?wsdl

+0

J'ai suivi un tutoriel en ligne sur l'utilisation 'ksoap2' pour accéder à une température un de W3Schools ... et cela a fonctionné très bien, alors pourquoi gagné Est-ce que ça ne marche pas? – bbesase

Questions connexes