如何将 SOAP 参数添加到 C# 服务引用

How to add a SOAP parameter to a C# service reference

我已经根据客户提供的 WSDLVisual Studio 2017 中创建了服务引用。其中之一需要 attribute/parameter,例如:

<Item ActionCode="02">

我是 SOAP 服务的新手,不知道如何添加 ActionCode。我在对象浏览器和 References.cs.

中看到了它

到目前为止,这是我的代码(适用于没有属性的类似调用):

BYDUpdateTimeSvc.EmployeeTimeCreateRequestMessage_sync req = new BYDUpdateTimeSvc.EmployeeTimeCreateRequestMessage_sync()
{
    BasicMessageHeader = new BYDUpdateTimeSvc.BusinessDocumentBasicMessageHeader(),
    EmployeeTime = new BYDUpdateTimeSvc.EmployeeTimeCreateRequest()
    {
        EmployeeTimeAgreementItemUUID = new BYDUpdateTimeSvc.UUID { Value = rec.employeeTimeAgreement },
        Item = new BYDUpdateTimeSvc.EmployeeTimeCreateRequestItem[1]
        {
            new BYDUpdateTimeSvc.EmployeeTimeCreateRequestItem()
            {
                TypeCode = activityCode,
                PaymentTypeCode = locationCode,
                EmployeeTimeValidity = _dateValidity
            }
        }
    }
};

如何添加 parameter/attribute?

我对您使用的API一无所知。 也就是说,您是否尝试过使用对象初始值设定项语法设置 属性。

BYDUpdateTimeSvc.EmployeeTimeCreateRequestMessage_sync req = new BYDUpdateTimeSvc.EmployeeTimeCreateRequestMessage_sync()
{
    BasicMessageHeader = new BYDUpdateTimeSvc.BusinessDocumentBasicMessageHeader(),
    EmployeeTime = new BYDUpdateTimeSvc.EmployeeTimeCreateRequest()
    {
        EmployeeTimeAgreementItemUUID = new BYDUpdateTimeSvc.UUID { Value = rec.employeeTimeAgreement },
        Item = new BYDUpdateTimeSvc.EmployeeTimeCreateRequestItem[1]
        {
            new BYDUpdateTimeSvc.EmployeeTimeCreateRequestItem()
            {
                TypeCode = activityCode,
                PaymentTypeCode = locationCode,
                EmployeeTimeValidity = _dateValidity
            }, // added comma
            ActionCode = "02"; // set action code here
        }            
    }
};