【问题标题】:iPhone - calling SOAP servicesiPhone - 调用 SOAP 服务
【发布时间】:2009-09-19 19:19:58
【问题描述】:

我正在学习如何使用 iPhone 为学生项目使用 Web 服务。

来自How to access SOAP services from iPhone 的最佳答案建议使用http://code.google.com/p/wsdl2objc/ 来消费服务。

但是,我尝试将http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl 用于 WSDL,但它会使应用程序崩溃。

有什么想法吗?我不确定问题出在 WSDL 还是应用程序上。

【问题讨论】:

    标签: iphone web-services soap


    【解决方案1】:

    http://sudzc.com/

    它将生成 Obj c 肥皂客户端。如果你提供你的 wsdl url,你可以在这里获得你的 web 服务的示例和文档

    【讨论】:

      【解决方案2】:

      我对@9​​87654322@ 的体验是它充其量是不成熟的。 Apple 的解决方案(WSMethodInvocation 和它的同类)尽管年代久远,但也好不了多少。我希望有一个简单的答案给你,但是当你接受它时,我的经验是你有两个选择:

      • 手写 SOAP 调用。对于简单的服务,这是可能的,如果我能侥幸成功,这实际上是我的首选解决方案。

      • gSOAP 生成的代码包装在 ObjC++ 中。

      最好的选项当然是找到一种方法来避免使用 SOAP,并在可能的情况下使用 REST 接口。

      如果您有 SOAP 方面的经验,那么您可能想要帮助wsdl2objc 框架。他们有一个值得称赞的目标。我还没有试用过他们本周发布的 0.6 版本。也许现在好多了。如果您正在尝试 0.5 版本,不妨再试一次。

      我知道你是一名学生,所以你的需求是不同的。作为一名专业人士,我像瘟疫一样避免使用 Cocoa 中的 SOAP,当我无法避免时,我会退回到 gSOAP。幸运的是 REST 变得越来越流行,所以我通常可以再躲一次。

      【讨论】:

      • 我即将尝试 gSOAP。 WSDL2OBJC 存在问题,它使用大量内存(在仪器中检查)来解析 15MB xml 响应。对于此响应,它消耗了超过 100MB 的内存,并且 iPad 应用程序因内存警告而崩溃。我花了几个小时才确定这一点。
      【解决方案3】:

      仅当您的请求和响应具有简单类型时,才可以依赖使用 wsdl2objc。当我将 wsdl2objc 用于具有复杂请求类型和响应的服务时,我开始了解这一点。

      我计划为此使用 gSOAP。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多