Как передать объект userContext в веб-сервис - PullRequest
0 голосов
/ 31 октября 2019

Я новичок в веб-сервисах и визуальной студии

Я пытаюсь создать клиент для подключения к финансовому веб-сервису и GetCurrentPeriod.

Я делаю это в Visual Studio 2017 втестируя, я подключился к веб-сервису, введя WSDL с помощью Add Service Referance. Я создал базовую форму с кнопкой и меткой для отображения результата.

Это то, насколько я далеко, но для вызова GetCurrentPeriod () нужны параметры для подключения.

Сообщение об ошибке

CS7036 - не указан аргумент, который соответствует обязательному формальному параметру 'userContext' для 'DocumentServiceClient.GetCurrentPeriod (UserContextWebObject, string)'

WSDL говорит, что мне нужно это передать.

<xs:complexType name="UserContextWebObject">
<xs:sequence>
<xs:element name="Username" type="xs:string" maxOccurs="1" minOccurs="0"/>
<xs:element name="Password" type="xs:string" maxOccurs="1" minOccurs="0"/>
<xs:element name="Database" type="xs:string" maxOccurs="1" minOccurs="0"/>
<xs:element name="Server" type="xs:string" maxOccurs="1" minOccurs="0"/>
<xs:element name="DatabaseType" type="tns:DatabaseTypeWebObject" maxOccurs="1" minOccurs="1"/>
<xs:element name="Company" type="xs:string" maxOccurs="1" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

Как передать сложный объект в качестве аргумента?

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace DocumentWebServices
{
    public partial class CallGetCurrentPeriod : System.Web.UI.Page

    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnGetCurrentPeriod_Click(object sender, EventArgs e)
        {
            DocumentService.DocumentServiceClient client = new DocumentService.DocumentServiceClient();
            client.GetCurrentPeriod(

                );    

        }
    }
}
...