Настройка базовой аутентификации C# для вызова мыльного веб-сервиса

Как предположил Джулиан, я признаю, что это не так уж и отличается, но все же могут столкнуться с трудностями из-за характера веб-сервиса, который клиент открыл. в любом случае это мой последний код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Channels;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            sherpa_service.SherpaInstanceType create_instance = new sherpa_service.SherpaInstanceType();
            sherpa_service.StringType category = new sherpa_service.StringType();
            sherpa_service.StringType assignment_group = new sherpa_service.StringType();
            sherpa_service.StringType assignee = new sherpa_service.StringType();
            sherpa_service.StringType area = new sherpa_service.StringType();
            sherpa_service.StringType sub_area = new sherpa_service.StringType();
            sherpa_service.StringType impact = new sherpa_service.StringType();
            sherpa_service.StringType urgency = new sherpa_service.StringType();
            sherpa_service.StringType contact_number = new sherpa_service.StringType();
            sherpa_service.StringType title = new sherpa_service.StringType();
            sherpa_service.StringType email_id = new sherpa_service.StringType();
            sherpa_service.StringType[] desc = new sherpa_service.StringType[3];
            desc[0] = new sherpa_service.StringType();
            desc[0].Value = "sample description from .net";
            sherpa_service.SherpaInstanceTypeDescription description = new sherpa_service.SherpaInstanceTypeDescription();
            description.Description = desc;




            category.Value = "Finance / Treasury / Tax Apps";
            assignment_group.Value = "Procure to Pay";
            area.Value = "Finance Apps";
            sub_area.Value = "concur";
            assignee.Value = "apadiyar";
            email_id.Value = "seethak@non.agilent.com";
            contact_number.Value = "9884525412";

            create_instance.ContactNumber = contact_number;
            create_instance.EXternalEmail = email_id;
            create_instance.Category = category;
            create_instance.AssignmentGroup = assignment_group;
            create_instance.Assignee = assignee;
            create_instance.Area = area;
            create_instance.Subarea = sub_area;
            create_instance.Description = description;

            sherpa_service.SherpaKeysType create_key = new sherpa_service.SherpaKeysType();
            sherpa_service.SherpaModelType create_model = new sherpa_service.SherpaModelType();
            sherpa_service.CreateSherpaRequest1 create_incident = new sherpa_service.CreateSherpaRequest1();

            create_model.keys = create_key;
            create_model.instance = create_instance;
            create_incident.CreateSherpaRequest = new sherpa_service.CreateSherpaRequest();
            create_incident.CreateSherpaRequest.model = create_model;
            BasicHttpBinding binding = new BasicHttpBinding();
            binding.SendTimeout = TimeSpan.FromSeconds(25);

            //binding.Security.Mode = BasicHttpSecurityMode.Transport;
            binding.Security.Transport.ClientCredentialType =
                                          HttpClientCredentialType.Basic;
            EndpointAddress address = new EndpointAddress("http://xxxxxxxxxxxxxxxxx/SM/7/ws");

            ChannelFactory<sherpa_service.Sherpa> factory =
             new ChannelFactory<sherpa_service.Sherpa>(binding, address);
            factory.Credentials.UserName.UserName = "xxx";
            factory.Credentials.UserName.Password = "xxx";
            sherpa_service.Sherpa proxy = factory.CreateChannel();
            sherpa_service.CreateSherpaResponse1 respo = proxy.CreateSherpa(create_incident);
            Console.WriteLine(respo);
        }
    }
}

Ниже приведено исключение почти обратно в квадрат 1! Я все еще ссылаюсь на ссылку, которую вы дали, но вряд ли смогу понять ошибку.

System.ServiceModel.Security.MessageSecurityException: "HTTP-запрос не авторизован с помощью схемы аутентификации клиента" Anonymous ". Заголовок аутентификации, полученный от сервера, был 'Basic realm = "CASM"'. '

WebException: удаленный сервер возвратил ошибку: (401) Unauthorized.

пожалуйста, посмотрите это изображение, чтобы увидеть несколько классов, созданных.

Также я хочу спросить, какова цель класса "клиент sherpa", созданного самой.NET IDE, когда я впервые добавил веб-ссылку.?

0 ответов

Другие вопросы по тегам