http:// and https:// web service?

本文关键字:service web and http https | 更新日期: 2023-09-27 18:11:50

我开发了简单的http://Web服务并进行了部署。现在我们正计划在网站上办理证书。我需要修改我的代码吗?我是SSL这边的新手。

Please advice me

http:// and https:// web service?

您需要将使用您的服务的任何客户端应用程序中的配置文件更改为新的URL。

您的web服务应用程序不应该需要任何更改。IIS将使用SSL证书处理传输加密。

值得一读:

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

简单解决你的问题用下面的代码创建一个类

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://");
                    }
                }
            }
        }
    }
}

}

修改web配置

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