多个wsdl和xsd文件...放入一个wsdl中

时间:2012-03-06 10:36:31

标签: xsd wsdl

可能是一个直截了当的问题:你知道将多个wsdl + xsd文件合并到一个wsdl中的工具吗?

谢谢。

EDIT1: 该服务是一个WCF服务,我希望有一个PHP的wsdl(作为客户端)。

EDIT2: 太糟糕了,我需要使用.Net 4.0而不是4.5,这是可能的。也许我可以借用一个新的MS工具?你知道哪一个吗? svcutil.exe是负责任的工具吗?如果是的话,他的依赖是什么?因为我还不想跳到.Net 4.5。

3 个答案:

答案 0 :(得分:1)

当然,我可以推荐a tool,它可以将多个XSD文件组合成可能的最小值(我在这里有偏见,因为我写了它)。如果您有大量文件,许多名称空间或两者兼而有之,这本身就是一项繁重的任务。根据您可能配置的一些参数,将多个WSDL合并为一个可能会变得棘手;例如,逻辑上是一个WSDL是在三层上编写的,它们维护了消息的分离 - portTypes - 服务,还是多个WSDL,句点?你必须确保的一件事是所有人共享相同类型的子系统,没有操作冲突等等。但即使这是一项可以实现的任务,我也可以轻松地添加一个插件...如果这是重构XML Schema和你经常看到的WSDL,让我知道。

答案 1 :(得分:0)

您可以构建一个可以生成平面wsdl的小应用程序。我们在C#中以编程方式生成flat wsdl,用于构建可互操作的WCF服务。有关如何生成flat wsdl的信息,请参阅link

希望看到代码,你可以构建一个为你做的工具。

否则,您可以使用Altova Xml Spy手动执行此操作,并使用xsd架构定义替换xsd import属性。

答案 2 :(得分:0)

我们想要一个wsdl文件利用一些工具在PHP端自动生成 soap 代理。但我们最终手动编写了DTO图层。

如果您在.NET 4.5中使用wcf服务,则只能轻松获得一个wsdl文件(WCF框架的内置功能)。