Задать вопрос
Ogoun
@Ogoun
Programmer

Почему не передаются параметры?

Код сервиса:
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    public class Service1 : System.Web.Services.WebService
    {
        [WebMethod]
        [SoapDocumentMethod("Ping")]
        public string Ping(string pingString)
        {
            return pingString;
        }
    }


Прокси, для вызова метода Ping у веб-сервиса:
    [WebServiceBinding("PingServer.Service1")]
    public class PingServiceProxy : SoapHttpClientProtocol
    {
        public PingServiceProxy()
        {
            base.Url = "http://localhost:53366/Service1.asmx";
        }

        [WebMethod]
        [SoapDocumentMethod("Ping")]
        public string Ping(string pingString)
        {
            return (string)base.Invoke("Ping", new object[] { pingString })[0];
        }
    }


Сам вызов:
    using (PingServiceProxy proxy = new PingServiceProxy())
            {
                Console.WriteLine(proxy.Ping("Hello, World!"));
            }


Вызов проходит нормально, прокси обращается к сервису, но в метод вместо строки приходит null, не могу понять причину. Причем если вызывать метод, например, из браузера, параметр приходит нормально. Т.е. косяк получается в реализации прокси.

Предлагать использование WCF или других способов не стоит, нужна реализация именно таким образом (и именно на .net не выше второго Framework)
  • Вопрос задан
  • 3039 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
qw1
@qw1
у клиента в атрибуте WebServiceBinding отсутствует параметр Namespace
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы