0

誰か使い方を教えてくださいresponse.Dump。私のコード この行の後にエラーが発生します:

androidHttpTransport.call(SOAP_ACTION, envelope);

エラーがorg.xmlpull.v1.XmlPullParserException: expected: START_TAG発生したので、xml ファイルを比較したいのですが、response.Dumpこの行の後に追加しようとすると、ヒットしません。動作させるためにどこに置くべきか教えてもらえますか?

public void getMessage() {

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

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

    try {
        //Invoke web service
        androidHttpTransport.debug=true;
        androidHttpTransport.setXmlVersionTag("<!--?xml version=\"1.0\" encoding= \"UTF-8\" ?-->");
        String blah = androidHttpTransport.requestDump;
        androidHttpTransport.call(SOAP_ACTION, envelope);
        //Get the response
        SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
        //Assign it to fahren static variable
        message = response.toString();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

編集:

応答.ダンプ:

<!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>

私はこれが入っているはずだとは思わないhtml.. idkなぜそれが...

request.dump:

<!--?xml version="1.0" encoding= "UTF-8" ?-->
<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance"   xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://www.w3.org/2003/05/soap-encoding"   xmlns:v="http://www.w3.org/2003/05/soap-envelope">
    <v:Header />
    <v:Body>
        <HelloWorld xmlns="http://tempuri.org/" id="o0" c:root="1" />
    </v:Body>
</v:Envelope>
4

1 に答える 1

1

ksoap2 org.xmlpull.v1.xmlpullparsereexception 予想される start_tag エラー

これはあなたのエラーに役立つかもしれません。

responseDump については、Web サービスからの応答が返ってこない限り受け取りません。あなたの場合、なんらかの応答を受け取る前でもエラーが発生していると思います。

start_tag エラーを解決すると androidHttpTransport.responseDump、文字列を返すrequestDump を取得したのと同じように、responseDump を取得できます。

于 2014-07-25T20:50:54.047 に答える