ASP.NET Core调用SOAP服务出现CS1503类型转换错误如何解决?
解决ASP.NET Core 6中SOAP服务引用的CS1503类型转换错误
替换为生成后的正确类型
通过Connected Service生成SOAP引用时,工具会自动将WSDL中的原始元素名(比如QUERYSTUDENT_REQ)规范化为驼峰命名的类型(QueryStudentRequest)。直接把代码中使用的QUERYSTUDENT_REQ替换为QueryStudentRequest,确保所有属性赋值对应正确。手动映射属性(若类型无法直接替换)
如果代码中已经存在QUERYSTUDENT_REQ实例,无法直接替换类型,需要手动将其属性映射到QueryStudentRequest:var mappedRequest = new QueryStudentRequest { StudentId = request.StudentId, ClassId = request.ClassId, // 按WSDL定义的字段逐一完成属性映射 }; var channel = _client.ChannelFactory.CreateChannel(mappedRequest);重新生成SOAP服务引用
若生成过程中出现类型命名异常,删除现有服务引用,重新通过Connected Service导入WSDL。生成时留意命名配置,避免自动重命名导致的类型不匹配。检查命名空间一致性
查看生成的代码文件,确认QUERYSTUDENT_REQ和QueryStudentRequest是否来自不同命名空间。如果是,需在代码中指定正确的命名空间,或调整生成配置统一命名空间。
内容的提问来源于stack exchange,提问作者Ayobamilaye
相关产品推荐
相关产品推荐

