Rufen Sie den .NET Webservice mit Android auf

8

Ich weiß, dass diese Frage hier schon einmal gestellt wurde, aber ich denke nicht, dass diese Antworten meinen Bedürfnissen entsprechen.

Wir haben einen SOAP-Webservice, der für eine iPhone-Anwendung verwendet wird, aber es ist möglich, dass wir eine Android-spezifische Version oder einen Proxy des Dienstes benötigen, sodass wir entweder SOAP oder JSON verwenden können. Ich habe einige Bedenken bezüglich beider Methoden:

SOAP-Lösung:

  1. Ist es möglich, Java zu generieren? Quellcode aus einer WSDL-Datei, wenn ja, Wird es eine Art Proxy enthalten? Klasse, um den Webservice aufzurufen und wird es im Android funktionieren Umwelt überhaupt?
  2. Google hat keine SOAP bereitgestellt Bibliothek in Android, also muss ich verwenden Dritte Partei, irgendeinen Vorschlag?
  3. Was ist mit der Leistung / Overhead? mit dem Parsen und Übertragen von SOAP xml über den Draht gegenüber dem JSON Lösung?

JSON-Lösung:

  1. Es gibt ein paar Klassen in der Android SDK, die mich analysieren lassen JSON, aber unterstützt es generische Parsing, wie wenn ich das Ergebnis möchte als komplexer Typ geparst werden? Oder würde ich das umsetzen müssen ich selbst?
  2. Ich habe schon 2 Bibliotheken gelesen hier auf Stackoverflow, GSON an Jackson. Was ist der Unterschied Leistung und Benutzerfreundlichkeit (von a Entwickler Perspektive) weise? Machst du Jungs haben jede Erfahrung mit beiden von diesen Bibliotheken?

Also ich denke, die große Frage ist, mit welcher Methode?

Ich hoffe, du kannst mir helfen. Vielen Dank im Voraus: -)

    
Lasse P 07.06.2010, 18:56
quelle

2 Antworten

0

Ich habe selbst an etwas ähnlichem gearbeitet, und obwohl ich vielleicht nicht die beste Autorität dabei bin, würde ich sagen, dass 9 mal von 10 JSON der Weg ist, den du gehen willst. Nicht, dass Seife nicht ihren Platz hat, aber für die meisten Dinge wird JSON einfacher sein, und wenn es nicht so aussieht, ist es wahrscheinlicher, dass Ihr Service Refactoring benötigt, anstatt eine wirklich komplexe Domäne darzustellen.

Der zusätzliche Bonus natürlich ist, wenn Sie den gleichen Dienst auf iPhone, Blackberry, WinMo7, Ajax Website oder wirklich woanders verwenden möchten, wird es viel viel besser für Sie sein: -)

Meine $ 0,02

    
amarsuperstar 11.06.2010, 16:23
quelle
5

Ich kann nicht viel über die JSON-Lösung reden. Aber ich arbeite seit einiger Zeit mit SOAP auf Android.

Hier sind meine Kommentare zur SOAP-Lösung.

  1. Die beliebteste Bibliothek, die ich für SOAP auf Android-Geräten gefunden habe, ist kSOAP.
  2. Die standardmäßige kSOAP-Bibliothek bietet keine Möglichkeit, Java-Klassen aus einer WSDL zu generieren. Es ist ein großes Problem, wenn Sie eine WSDL mit vielen Methoden haben. Ich habe ein Projekt gefunden ( Ссылка ), das "behauptet", es zu tun. HINWEIS: Ich habe noch nicht erfolgreich verwendet. Ich entdeckte es, nachdem ich die aktuelle Version meines Codes implementiert hatte.
  3. XML-Parsing hat einen Overhead und manchmal kann es ein Problem sein. Der Parsing-Overhead hängt vom Anwendungskontext und den Leistungsanforderungen ab. Gegenwärtig erreiche ich eine akzeptable Leistung, indem ich SOAP zum Senden von Videoframes (SOAP mit base64-kodierten MJPEG-Frames) verwende. Bei großen Nachrichten liegt die Zeit für das Parsing auf einem Nexus One in der Größenordnung von 150-200 ms (abhängig von der Nachrichtengröße). )

Dies ist möglicherweise nicht verwandt, aber ich habe diese Google I / O-Sitzung gefunden beim Erstellen von RESTFul-Anwendungen für Android nützlich. Ich denke, sie haben auch eine JSON API in 2.2 veröffentlicht

Hoffe, das hilft.

    
Soumya Simanta 07.06.2010 21:59
quelle

Tags und Links