2

メソッドから応答を得ようとしていますQuerypage。リクエストの例はここにあり、「ドキュメント」はここにあります

API はここにあります(一番下のボックスにチェックを入れてボタンをクリックすると、API ページが表示されます。基本的には、ルールなどを読んだことを確認するための手段です)。

public class KSoap2Activity extends Activity {
    private static final String SOAP_ACTION =  "http://www.etis.fskab.se/v1.0/ETISws/Querypage";
    private static final String METHOD_NAME = "Querypage";
    private static final String NAMESPACE = "http://www.etis.fskab.se/v1.0/ETISws";
    private static final String URL = "http://www.labs.skanetrafiken.se/v2.2/querypage.asp";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TextView tv = (TextView) findViewById(R.id.text);

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
    request.addProperty("inpPointFr", "lund");
    request.addProperty("inpPointTo", "ystad");
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);
    HttpTransportSE ht = new HttpTransportSE(URL);
    ht.debug = true;

    try {
        ht.call(SOAP_ACTION, envelope);
        SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
        tv.setText("Message :" + response.toString());
    } catch (Exception e) {
        e.printStackTrace();
        tv.setText(e.getMessage()+ ht.requestDump);
    }
}

}

例外が発生しました: unexpected type(position:END_DOCUMENT null@1:1 in java.io InputStreamReader@414fae00)

これは requestDump です。

<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/">
    <v:Header />
    <v:Body>
        <Querypage xmlns="http://www.etis.fskab.se/v1.0/ETISws" id="o0" c:root="1">                                                   
            <inpPointFr i:type="d:string">lund</inpPointFr>
            <inpPointTo i:type="d:string">ystad</inpPointTo>
        </Querypage>
    </v:Body>
</v:Envelope>
4

1 に答える 1

0

Fecoさん、あなたが言ったように、古いバージョンのライブラリを使って仕事をします! この古いライブラリで networkonmainthreadexception が発生する場合は、これをコードに追加するだけです。

    //Codigo para evitar el networkonmainthreadexception 
    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()   
    .detectDiskReads()   
    .detectDiskWrites()   
    .detectNetwork()   // or .detectAll() for all detectable problems   
    .penaltyLog()   
    .build());   
    StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()   
    .detectLeakedSqlLiteObjects()   
    .detectLeakedClosableObjects()   
    .penaltyLog()   
    .penaltyDeath()   
    .build());  

それで全部です!現在、すべてがうまく機能しています!フアン・チポコ

于 2012-07-22T15:19:36.163 に答える