当前UPS Schema中RateService类更名及替代方案咨询
UPS Rate服务.NET 5适配类名变更解决方案
这不是UPS新版Schema更名导致的,是.NET 5+ 和 .NET Framework的WCF服务导入工具的类生成规则不同导致的,可按照以下步骤解决:
- 确认生成的客户端类名
.NET 5下使用WCF Web Service Reference工具导入RateWS.wsdl后,默认生成的服务客户端类名为RatePortTypeClient,对应旧示例中的RateService类,功能完全一致。 - 替换实例化代码
将原来的实例化代码替换为以下内容即可:RatePortTypeClient rate = new RatePortTypeClient(); - 找不到类时的排查方法
可在项目「连接的服务」节点下找到你导入的UPS Rate服务引用,双击打开生成的Reference.cs文件,搜索带有Client后缀的类,即为对应的服务入口类。 - 额外注意事项
.NET 5+ 不会自动将服务绑定、端点配置写入配置文件,实例化时如果报错缺少配置,可手动指定绑定和端点地址:var binding = new BasicHttpsBinding(); // 测试环境地址可替换为https://wwwcie.ups.com/webservices/Rate var endpoint = new EndpointAddress("https://onlinetools.ups.com/webservices/Rate"); RatePortTypeClient rate = new RatePortTypeClient(binding, endpoint);
内容的提问来源于stack exchange,提问作者Randy
相关产品推荐
相关产品推荐

