none
Déploiement service WCF sous IIS soap 1.2 RRS feed

  • Question

  • Bonjour,

    j'ai développé un WS avec WCF et je souhaite maintenant l'hébergé dans IIS. Tout d'abord, je l'ai fait sur ma machine en local, et aucun problème tout marche bien comme il faut. Maintenant je l'héberge sur un serveur distant... et la ca coince.


    Tout d'abord, quelques détails. Mon WS communique en soap 1.2. pour cela j'ai fait un customBinding :

    <system.serviceModel>
        <bindings>
          <customBinding>
            <binding name="httpSoap12">
              <textMessageEncoding messageVersion="Soap12"/>
              <httpTransport />
            </binding>
          </customBinding>
        </bindings>
        <services>
          <service name="DataExchangeService">
            <endpoint name="DataExchange_BP11Endpoint" address=""
                      binding="customBinding" bindingName="DataExchange_BP11Binding"
                      bindingConfiguration="httpSoap12" contract="EWS_EcoStruxure.IDataExchange"/>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior>
              <!-- Pour éviter la divulgation des informations sur les métadonnées, définissez la valeur ci-dessous sur false et supprimez le point de terminaison des métadonnées ci-dessus avant le déploiement. -->
              <serviceMetadata httpGetEnabled="true" />
              <!-- Pour recevoir les détails d'exception des erreurs à des fins de débogage, définissez la valeur ci-dessous sur true. Définissez-la sur false avant le déploiement pour éviter la divulgation des informations d'exception. -->
              <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>

    Ma machine de dev est un windows 7 avec IIS 7.0 et .net 4 pour le application pool
    Le serveur sur lequel j'installe le WS est un windows 2008 R2 avec IIS 7.5 et .net 4 pour le application pool


    Le problème est que lorsque je j'interroge le service déployé sur le serveur, le wsdl est en soap 1.1 alors que sur ma machine il est en 1.2.

    Il ne prend pas en compte le binding du web.config, il met à la place un basicHttpBinding

    <wsdl:service name="DataExchangeService">
    - <wsdl:port name="BasicHttpBinding_IDataExchange" binding="i0:BasicHttpBinding_IDataExchange">
      <soap:address location="http://***/WS_EcoStruxure/DataExchangeService.svc" /> 
      </wsdl:port>
      </wsdl:service>
    

    Quelqu'un saurait comment solutionner ce problème ?

    Merci d'avance


    lundi 10 décembre 2012 16:17

Réponses

  • J'ai trouvé la solution. En fait, il y avait une erreur dans la configuration du binding, il manquait le nom du namespace. Et les source sur mon dev n'avaient pas ce namespace.
    • Marqué comme réponse Aurel Bera mercredi 12 décembre 2012 10:54
    mardi 11 décembre 2012 09:52

Toutes les réponses