我正在开发一个 .net 系统,该系统将公开并使用另一个系统的 Web 服务来来回传递数据 - 另一个系统是基于 java 的。
我们提出的 XSD 包含复杂类型,并且有人对使用复杂类型以及我们如何更好地坚持简单类型表示了一些担忧。我原以为 .net 能够支持复杂类型,因此希望有人能够详细说明我可能会遇到的问题。我尝试过谷歌搜索,但没有找到任何具体内容。
Exposing .NET WebService to Other Platform (Java) stackoverflow 问题的答案是
"This should work out of the box, but I would advise against returning complex data structures or expecting such as input arguments. If you need complexity of that kind, I would suggest returning/accepting XML instead."
但并没有真正解释原因,因此非常感谢任何想法/解释
编辑 - 请注意,我不打算通过这些服务传输特定于平台的对象,而是希望将共享 XSD 中的业务实体建模为由简单类型构建的复杂类型(以便可以轻松控制和在其他 XSD 中重用),这些是引起关注的元素。
我计划对此进行一些概念验证,看看我是否可以证明它可以工作/解决任何问题,但我想我首先会得到以前做过这件事的用户的一些看法。
最佳答案
有许多特定于平台的类型,只要两个端点是同类的,就可以轻松使用,但它们不能清楚地映射到 xsd 或其他平台。例如,.NET 中的 DataTable
是来自其他任何地方的皇家 PITA;在 .NET 中实现 IXmlSerialized
的任何内容很可能完全位于架构中。
在互操作场景中,通常值得从 xsd 开始,因为它提供了所有合理的客户都应该期望的通用标准。
关于java - .net webservices 使用复杂类型与其他平台,例如 java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3922109/