You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为.NET Core 3.1开发的SoapCore XML服务添加可访问metadata

解决SoapCore服务开启metadata访问的方案

步骤1:确认依赖安装

确保项目已安装最新稳定版SoapCore NuGet包,可通过包管理器控制台执行命令:
Install-Package SoapCore
或者通过.NET CLI执行:
dotnet add package SoapCore

步骤2:注册SOAP相关服务

在Startup.cs的ConfigureServices方法中添加SOAP服务注册配置:

public void ConfigureServices(IServiceCollection services)
{
    // 保留原有其他服务注册逻辑
    services.AddSoapCore();
    // 注册你的服务实现类
    services.AddScoped<ICallbackService, CallbackService>();
}

如果你使用的是.NET 6+的顶层语句Program.cs,直接在服务注册阶段添加即可:

var builder = WebApplication.CreateBuilder(args);
// 保留原有其他服务注册逻辑
builder.Services.AddSoapCore();
builder.Services.AddScoped<ICallbackService, CallbackService>();
var app = builder.Build();

步骤3:修改终结点配置开启元数据

修改你原有的UseSoapEndpoint配置,添加enableMetadata: true参数开启元数据支持,示例如下:

var transportBinding = new HttpTransportBindingElement();
var textEncodingBinding = new TextMessageEncodingBindingElement(MessageVersion.Soap12WSAddressing10, System.Text.Encoding.UTF8);
var customBinding = new CustomBinding(transportBinding, textEncodingBinding);

// 每个终结点单独配置开启元数据
app.UseSoapEndpoint<ICallbackService>("/ExportShipments", customBinding, SoapSerializer.XmlSerializer, enableMetadata: true);
app.UseSoapEndpoint<ICallbackService>("/SetShipmentsToCompleted", customBinding, SoapSerializer.XmlSerializer, enableMetadata: true);
app.UseSoapEndpoint<ICallbackService>("/ExportProductQuantitiesForNewOrders", customBinding, SoapSerializer.XmlSerializer, enableMetadata: true);

步骤4:确认服务契约特性配置

确保你的ICallbackService接口和对应方法已添加WCF契约特性,否则元数据无法正常生成:

[ServiceContract]
public interface ICallbackService
{
    [OperationContract]
    Task<自定义响应类型> ExportShipments(自定义请求类型 request);
    
    [OperationContract]
    Task<自定义响应类型> SetShipmentsToCompleted(自定义请求类型 request);
    
    [OperationContract]
    Task<自定义响应类型> ExportProductQuantitiesForNewOrders(自定义请求类型 request);
}

验证效果

配置完成后重新启动服务,访问https://你的域名/ExportShipments/$metadata即可正常获取XML格式的元数据内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 01:51:01