AndroidでwebSservicesを使用する方法を学習したいと思います。 現時点では、wsdlファイルのサーバーがあり、希望のWebサービスを呼び出すことができます。Android:サーバーからいくつかのデータを抽出する方法kSOAP2を使用したWebServiceレスポンス
私の問題は、私がサーバーからの応答を得たことです。ユーザーIDなどのような、私には感情的な情報を抽出したいと思います。ここで
が私のコードです:もしそうなら
public class TestBookSoapActivity extends Activity {
private static final String SOAP_ACTION = "JournalArticles";
private static final String METHOD_NAME = "JournalArticles";
private static final String NAMESPACE = "http://api.mdpi.com/ws/";
private static final String URL = "http://api.mdpi.com/ws/server.php";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
executeAppelSOAP();
}
private void executeAppelSOAP() {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("JournalID", 1);
request.addProperty("Volume", 12);
request.addProperty("Issue", 1);
SoapSerializationEnvelope enveloppe = new SoapSerializationEnvelope(SoapEnvelope.VER11);
enveloppe.setOutputSoapObject(request);
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport (URL);
try {
androidHttpTransport.call(SOAP_ACTION, enveloppe);
Object resultat = enveloppe.getResponse();
System.out.println(" Journal Articles= " + resultat.toString());
} catch(Exception e) {
e.printStackTrace();
System.out.println("Problem");
}
}
は私がenveloppe.parse()メソッドを使用してもらえ、どのように?
ありがとうございます。
質問が正確ではない、あなたがラインオブジェクトresultat = enveloppe.getResponse()で正しくXMLを取得するために管理しています。それとも例外がありますか? –
Hvala Dragane、コードでわかるように、私は行Objectを持っています。それは私のログファイルに表示されるexempleのXMLファイルを取得できますが、問題は、この応答からいくつかの日付をexempleに取得する方法です。 –
さて、String内でXMLを解析するのは面白いです。 http://stackoverflow.com/questions/5752268/android-parse-xml-from-string-problems(最初の答えを確認してください)のように、パフォーマンスの理由からSAXパーサを使用することができます。 inputSource.setCharacterStream(new StringReader(resultat.toString()));を使用してください。 Nema na cemu :-) –