【问题标题】:How I make multiple webservices sharing a common XSD in Microsoft AX 2012?如何在 Microsoft AX 2012 中使多个 Web 服务共享一个公共 XSD?
【发布时间】:2014-03-07 14:06:26
【问题描述】:

我有一个 Microsoft AX 2012,它产生了多个服务(这个问题称为 service1、service2 和 service3)。

这些网络服务中的每一个都为允许的操作生成wsdl,为数据(反)序列化生成xsd。

它们背后的代码使用一组通用的 DataContract。我遇到的问题是每个 wsdl 都指向一个定义这些合同的不同 XSD。即使内容和命名空间完全一样,但URI是不同的:

  • http:////service1/xppservice?xsd=xsd1
  • http:////service2/xppservice?xsd=xsd1
  • http:////service3/xppservice?xsd=xsd1
  • 等等……

有没有办法让生成的 wsdl 指向同一个 XSD 文件?

编辑:

我们最后创建了一个服务组,重新组合了所有服务。每一个对应一个HttpBinding,所有服务共享同一个XSD

【问题讨论】:

  • 您是否将所有服务添加到同一个服务组或集成端口?

标签: web-services xsd wsdl axapta dynamics-ax-2012


【解决方案1】:

没有。

每个 Web 服务都有不同的数据结构和操作(创建两个具有相同数据和操作的 WS 没有多大意义),它应该服务于整个功能领域。 Ax 为您创建的每个集成端口创建一个 WSDL 和一个 XSD。

所以,如果您需要 service1、service2 等使用相同的 XSS,您必须停用它并放入您需要使用相同 XSD 的所有操作(并且将使用相同的 WSDL),也许您需要将所有 WS 分组在 WS 集成端口中选择操作之前,在同一服务组中的服务。

【讨论】:

  • 重点是,网络服务使用相同的数据,但不提供相同的操作。所以我们需要在最后一点上进行一些分离。但我们正在研究在同一个服务中提供多个绑定端口的可能性
猜你喜欢
  • 2018-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-03
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
相关资源
最近更新 更多