You need to enable JavaScript to run this app. C#如何消费WSDL生成的SOAP代理类并获取接口响应数据
优惠活动
大模型
产品
解决方案
定价
更多

C#如何消费WSDL生成的SOAP代理类并获取接口响应数据

调用SOAP代理类完整实现步骤

你目前只完成了请求参数对象的初始化,还需要补充服务客户端实例化、查询条件赋值、发起调用、接收响应这几个核心步骤,完整调整方案如下:

1. 核心逻辑说明

WSDL生成代理类时会自动生成后缀为Client的服务调用入口类(命名一般和服务接口名对应,比如ProjectByElementsQueryServiceClient),你需要通过这个实例发起调用,传入构造好的请求对象,即可拿到返回的响应数据。

2. 完整代码示例

// 1. 初始化查询条件对象
ProjectByElementsQuerySelectionByElements query = new ProjectByElementsQuerySelectionByElements();

// 2. 给查询条件赋值(按实际需求选填对应字段,以下是按项目ID查询的示例)
query.SelectionByProjectID = new ProjectSelectionByProjectId[]
{
    new ProjectSelectionByProjectId()
    {
        // 这里填你要查询的项目ID规则,比如等于指定ID
        InclusionExclusionCode = "I", // I=包含,E=排除
        IntervalBoundaryTypeCode = "1", // 1=等于
        LowerBoundaryProjectID = "P2024001" // 要查询的项目ID
    }
};
// 注意:如果使用布尔类型查询条件,必须同时给Specified属性设为true,否则参数会被忽略
// query.SelectionByBillableIndicator = true;
// query.SelectionByBillableIndicatorSpecified = true;

// 3. 构造请求报文对象
ProjectByElementsQueryMessage_sync syncRequest = new ProjectByElementsQueryMessage_sync()
{
    ProjectSelectionByElements = query
};

// 4. 实例化SOAP服务客户端(类名以实际生成的为准,一般是服务名+Client后缀)
ProjectByElementsQueryServiceClient client = new ProjectByElementsQueryServiceClient();

// 5. 发起调用并接收响应
ProjectStatusByQueryResponse response = client.ProjectByElementsQuery(syncRequest);

// 6. 读取返回数据示例
var projectStatusCode = response.ProjectLifeCycleStatusCode;
var scheduleStatus = response.schedulingUpToDatenessStatusCodeField;

3. 常见注意事项

  • 项目配置文件(app.config/web.config)中会自动生成SOAP服务的端点配置,需要确认服务地址、绑定规则、身份验证配置和目标服务一致,否则会调用失败
  • 如果需要多条件查询,只需给query对象对应的多个SelectionByXXX属性赋值即可
  • 响应中的枚举类型字段可以直接转成字符串获取状态文本,也可以取对应枚举值做业务判断

内容的提问来源于stack exchange,提问作者Priyanka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 14:45:00