我如何在Microsoft AX 2012中创建多个Web服务共享通用XSD?

时间:2014-03-07 14:06:26

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

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

这些webservices中的每一个都为允许的操作生成了javadl,而为数据(de)序列化了xsd。

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

  • HTTP:////服务1 / xppservice XSD = xsd1
  • HTTP:////服务2 / xppservice XSD = xsd1
  • HTTP:////服务3 / xppservice XSD = xsd1
  • 等......

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

编辑:

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

1 个答案:

答案 0 :(得分:2)

没有。

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

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