.net的webservice中内外网端口不一致导致无法调用的解决方案

再生产wsdl文件时重写描述文件

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Services.Description; 6  7 namespace StrongSoftManage.Web.App 8 { 9 public class SoapExtens : SoapExtensionReflector10  {11 public override void ReflectMethod()12 13  {14 15 //no-op16 17  }18 19 public override void ReflectDescription()20 21  {22 23 ServiceDescription description = ReflectionContext.ServiceDescription;24 25 foreach (Service service in description.Services)26 27  {28 29 foreach (Port port in service.Ports)30 31  {32 33 foreach (ServiceDescriptionFormatExtension extension in port.Extensions)34 35  {36 37 SoapAddressBinding binding = extension as SoapAddressBinding;38 39 if (null != binding)40  {41 binding.Location = binding.Location.Replace("8080", "9080");42  }43 44  }45 46  }47 48  }49  }50  }51 }

 

相关文章