.Net C# WSDL调用求助:getVehicleIdRequest请求无法返回如何解决
C# 调用目标SOAP接口示例
前置确认
- 你在VS2017中添加服务引用时,可自定义引用命名空间,下文示例假设命名空间为
VehicleServiceRef,可替换为你实际设置的命名空间 - 测试环境可能存在SSL证书不规范问题,可临时添加证书信任逻辑,生产环境请删除该逻辑
完整调用代码示例
using System; using System.Net; // 引入你自己的服务引用命名空间 using VehicleServiceRef; class SoapTest { static void Main(string[] args) { // 测试环境临时忽略SSL证书错误,生产环境必须注释掉这段 ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true; try { // 初始化服务客户端 var client = new VehicleInsertUpdateClient(); // 构造请求参数,参数结构和你在SOAPUI中填的保持一致即可 var request = new getVehicleIdRequest { // 这里填写你SOAPUI测试通过的请求参数,按实际接口要求替换即可 }; // 发送请求获取返回值 var response = client.getVehicleId(request); // 打印返回结果 Console.WriteLine("接口返回VehicleId:" + response?.vehicleId); Console.WriteLine("调用成功"); } catch (Exception ex) { Console.WriteLine("调用出错:" + ex.Message); if (ex.InnerException != null) { Console.WriteLine("内层错误:" + ex.InnerException.Message); } } } }
常见问题排查
- 如果调用报绑定不匹配错误,可打开App.config/web.config,检查服务绑定配置的安全模式是否和接口要求一致,测试环境通常可设置为
<security mode="Transport" />或者<security mode="None" />,和SOAPUI的请求配置保持一致即可 - 所有请求字段必填项请严格按照SOAPUI中测试通过的字段赋值,不要漏填必填参数
内容的提问来源于stack exchange,提问作者jeff piper
相关产品推荐
相关产品推荐

