【问题标题】:Call .NET Webservice with Android使用 Android 调用 .NET Web 服务
【发布时间】:2010-06-07 18:56:51
【问题描述】:

我知道以前在这里有人问过这个问题,但我认为这些答案不足以满足我的需求。

我们有一个用于 iPhone 应用程序的 SOAP Web 服务,但我们可能需要 Android 特定版本或服务的代理,因此我们可以选择使用 SOAP 或 JSON。我对这两种方法都有一些担忧:

SOAP 解决方案:

  1. 是否可以生成java 来自 WSDL 文件的源代码,如果是, 它会包括某种代理吗 类来调用 web 服务和 它可以在Android中使用吗 环境?
  2. Google 没有提供任何 SOAP Android中的库,所以我需要使用 第三方,有什么建议吗?
  3. 性能/开销怎么样 带有解析和传输 SOAP 网络上的 xml 与 JSON 解决方案?

JSON 解决方案:

  1. 中有几个类 让我解析的Android sdk JSON,但它是否支持泛型 解析,就像我想要结果一样 被解析为复杂类型?要么 我需要实施吗 我自己?
  2. 我之前读过大约 2 个库 在 Stackoverflow 上,GSON 杰克逊。有什么区别 性能和可用性(从 开发人员的观点)明智吗?你 伙计们有任何经验 那些图书馆?

所以我想最大的问题是,用什么方法?

我希望你能帮助我。在此先感谢:-)

【问题讨论】:

    标签: .net android web-services json soap


    【解决方案1】:

    我不能过多地谈论 JSON 解决方案。但我在 Android 上使用 SOAP 已经有一段时间了。

    这是我关于 SOAP 解决方案的 cmets。

    1. 我发现用于在 Android 设备上执行 SOAP 的最流行的库是 kSOAP。
    2. 默认的 kSOAP 库不提供从 WSDL 生成 Java 类的方法。如果你有一个包含很多方法的 WSDL,这是一个大问题。我找到了一个“声称”这样做的项目(http://en.sourceforge.jp/projects/sfnet_wsdl2ksoap2/)。注意:我没有成功地使用了它。我在实现当前版本的代码后发现了它。
    3. XML 解析有开销,有时可能是个问题。解析开销将取决于您的应用程序上下文和性能要求。目前,我通过使用 SOAP 发送视频帧(包含 base64 编码的 MJPEG 帧的 SOAP)获得了可接受的性能。对于 Nexus One 上的大消息解析时间约为 150-200 毫秒(取决于消息大小。 )

    这可能无关,但我发现这个Google I/O session on building RESTFul applications 对 Android 很有用。我认为他们还发布了JSON API in 2.2

    希望这会有所帮助。

    【讨论】:

    • 感谢您的回答。 Wsdl2ksoap2 听起来像是一个有趣的项目,但它是空的。我不可能是唯一一个在寻找这样一个工具的人,当你想消耗一个相当大的 web 服务(wsdl)时,你们会怎么做,手动编写呢?我仍然希望有人对 JSON 解决方案发表评论:-)
    【解决方案2】:

    我自己也一直在研究类似的东西,虽然我可能不是这方面的最佳权威,但我会说 10 次中有 9 次 JSON 是你想要的方式。并不是说 soap 没有它的位置,但是对于大多数事情来说 JSON 会更简单,如果它看起来不是这样,那么您的服务更有可能需要重构,而不是拥有一个真正复杂的域来表示。

    当然,如果你想在 iPhone、Blackberry、WinMo7、Ajax 网站或其他任何地方使用相同的服务,它会更好:-)

    我的 0.02 美元

    【讨论】:

    • 谢谢。我选择了 json 解决方案,因为它也可能用于 ajax,而且用 Gson 解析 json 非常容易;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多