2011-10-19 4 views
1

J'ai développé simple http: // service Web et déployé. Nous prévoyons maintenant obtenir un certificat sur le site Web. Ai-je besoin de changement dans mon code? Je suis nouveau au côté SSL.http: // et https: // service Web?

S'il vous plaît me conseiller

+0

Cette question serait mieux sur [Webmasters.SE] –

+0

Utilisez-vous un site Web ASP.NET? Si oui, pas de changements. Si vous utilisez WCF sur IIS, vous devrez peut-être modifier vos liaisons de transport. –

+0

Il est simple site web asp.net. – James123

Répondre

4

Vous devrez modifier le fichier de configuration dans les applications clientes qui consomment votre service vers la nouvelle URL.

Votre application de service Web ne devrait nécessiter aucune modification. IIS gérera le cryptage de transport avec le certificat SSL.

Cela vaut la peine d'une lecture:

http://msdn.microsoft.com/en-us/library/ff649205.aspx

2

solution facile pour votre problème créer une classe avec le code ci-dessous

public class HttpsReflector : SoapExtensionReflector 
{ 
    public override void ReflectMethod() 
    { 
     //no-op 
    } 

    public override void ReflectDescription() 
    { 
     ServiceDescription description = ReflectionContext.ServiceDescription; 
     foreach (Service service in description.Services) 
     { 
      foreach (Port port in service.Ports) 
      { 
       foreach (ServiceDescriptionFormatExtension extension in port.Extensions) 
       { 
        SoapAddressBinding binding = extension as SoapAddressBinding; 
        if (null != binding) 
        { 
         binding.Location = binding.Location.Replace("http://", "https://"); 
        } 
       } 
      } 
     } 
    } 
} 

}

changer la configuration web avec suivant

<soapExtensionReflectorTypes> 

    <add type="xxx.WebServices.HTTP.HttpsReflector, App_code"/> 

</soapExtensionReflectorTypes>