在Flash Builder中使用ServiceStack生成的SOAP 1.1服务

时间:2011-11-02 12:18:40

标签: flex soap flash-builder servicestack

我一直在修补ServiceStack来揭露一些网络服务,并给我留下了非常深刻的印象。

这些服务的一个潜在消费者将是Flex应用程序。 Flash Builder(Flex IDE)有一个工具,可以基于wsdl为SOAP Web服务自动生成代理AS3类 - 此时仅适用于SOAP 1.1。

如果我重新创建HelloWorld教程,并尝试使用SOAP 1.1 wsdl自动生成类,我在Flash Builder中会遇到以下错误。

There was an error during service introspection.
  The part 'parameters' has an invalid value 'HelloResponse' defined for its element. Element declarations must refer to valid values defined in a schema.
  The part 'parameters' has an invalid value 'Hello' defined for its element. Element declarations must refer to valid values defined in a schema.

我确信Flash Builder的工具存在问题。我想知道是否有人成功从ServiceStack wsdl自动生成AS3类?

1 个答案:

答案 0 :(得分:1)

许多以前,ServiceStack框架的最初消费者之一是使用内置于Flash Builder的代码生成器,我们仍然有一个特殊的选项可以调整WSDL来解决Flash Builders处理Guids的问题。可以访问:

  • / soap11?闪光=真

如果你使用 / soap12?flash = true WSDL,它仍然是同样的问题吗?

我们在项目中采用的方法是使用Flash Builders代码生成类型,但只将它们用作DTO,我们与通用的XmlServiceClient一起使用,允许我们使用更快的XML端点而不是SOAP那些。 (如果我能找到的话,我会在某个地方开源。)

虽然我现在采用的方法只是使用动态模型和JSON端点,因为JSON Serializer is much faster甚至比XML端点更精简。

我无法测试这个,因为我没有安装Flash Builder,但是如果你可以在本地保存WSDL并按摩输出以便Flash Builder喜欢它,我可以看看在下合并更改flash = true WSDL标志。