Nous avons un service WCF qui est déployé sur deux serveurs. Les bits sont exactement les mêmes.Comment forcer le WSDL généré automatiquement sur deux machines à équilibrage de charge à correspondre?
Dans le WSDL généré automatiquement à https://mywebsite.com/SomeService/Soap.svc?wsdl
, le nœud <wsdl:types>
énumère un tas de XSD de, dans ce format:
<xsd:import schemaLocation="https://mywebsite.com/SomeService/Soap.svc?xsd=xsd0" namespace="http://services.mywebsite.com/account" />
...
<xsd:import schemaLocation="https://mywebsite.com/SomeService/Soap.svc?xsd=xsd6" namespace="http://schemas.datacontract.org/2004/07/SomeOtherNamespace" />
Tout cela est bel et bon, mais le problème est l'ordre des années XSD est différent sur chaque serveur à charge équilibrée, même s'ils ont les mêmes bits. Cela signifie que le XSD à https://mywebsite.com/SomeService/Soap.svc?xsd=xsd0 est très différent sur chaque serveur, ce qui cause évidemment des problèmes pour ceux qui consomment le service. Je suis conscient qu'il existe des solutions de code pour aplatir le WSDL et y inclure tous les XSD. Cependant, existe-t-il une solution simple pour forcer les WSDL à correspondre? Après tout, ce sont les mêmes bits sur chaque machine.
Seriez-vous en mesure de fournir un exemple plus concret (mais simplifié) avec les types et les wsdls générés en question? Un qui pourrait être utilisé pour reproduire cela sur les machines des lecteurs. – steinar