Jira Web Service in .NET
От: Smartcat Беларусь  
Дата: 19.07.10 18:39
Оценка:
Здравствуйте.

Меня инетересует возможность обращения к JIRA — веб сервису из C# приложения.
Через файл, сгенерированный с помощью wsdl.exe для конкретного URL, все работает отлично.

Но вот в чем проблема: я хочу предоставить клиенту возможность самому вбивать данные (URL, login, password, project), чтобы потом отображать у себя в приложении информацию, полученную от веб — сервиса.

Насколько я понимаю, с помощью wsdl и сгенерированного класса — обертки для вызовов методов веб — сервиса эта проблема не решится, т.к. клиент может задавать разные адреса JIRA — веб сервисов.
Возникла идея руками писать нужные SOAP — запросы для получения информации от веб — сервиса (благо их нужно написать всего 2), но это, наверное, неправильно.

Подскажите какой — нибудь другой способ, если кто сталкивался с похожей проблемой.
Re: Jira Web Service in .NET
От: vmpire Россия  
Дата: 19.07.10 19:35
Оценка:
Здравствуйте, Smartcat, Вы писали:

S>Меня инетересует возможность обращения к JIRA — веб сервису из C# приложения.

S>Через файл, сгенерированный с помощью wsdl.exe для конкретного URL, все работает отлично.
Интересно, у меня wsdl.exe генерил какую-то чушь. Как Вы это делали?

S>Но вот в чем проблема: я хочу предоставить клиенту возможность самому вбивать данные (URL, login, password, project), чтобы потом отображать у себя в приложении информацию, полученную от веб — сервиса.

S>Насколько я понимаю, с помощью wsdl и сгенерированного класса — обертки для вызовов методов веб — сервиса эта проблема не решится, т.к. клиент может задавать разные адреса JIRA — веб сервисов.
В этом веб-сервисе ксть метод login, дёрнув который можно получить токен юзера и отдавать его потом в другие методы.

S>Возникла идея руками писать нужные SOAP — запросы для получения информации от веб — сервиса (благо их нужно написать всего 2), но это, наверное, неправильно.

S>Подскажите какой — нибудь другой способ, если кто сталкивался с похожей проблемой.
Я использовал WCF вручную. Типа, так (вписан только метод login, можно так же вписать то, что нужно):


    [ServiceContract(Namespace = "")]
    internal interface IJiraService
    {
        [OperationContract]
        [return: MessageParameter(Name = "loginReturn")]
        string login(string username, string password);
    }

    internal class JiraService : System.ServiceModel.ClientBase<IJiraService>, IJiraService
    {
        #region constructors

        public JiraService() { }

        public JiraService(string endpointConfigurationName) : base(endpointConfigurationName) { }

        public JiraService(string endpointConfigurationName, string remoteAddress)
            : base(endpointConfigurationName, remoteAddress) { }

        public JiraService(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress)
            : base(endpointConfigurationName, remoteAddress) { }

        public JiraService(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress)
            : base(binding, remoteAddress) { }

        #endregion constructors

        public string login(string username, string password)
        {
            return base.Channel.login(username, password);
        }
    }
Re[2]: Jira Web Service in .NET
От: Smartcat Беларусь  
Дата: 19.07.10 20:42
Оценка:
Здравствуйте, vmpire, Вы писали:

V>Я использовал WCF вручную.


Огромное спасибо за подсказку. Очень помогли. Жаль, что до WCF раньше не добрался и не знал, что он вообще может.
Re[2]: Jira Web Service in .NET
От: Smartcat Беларусь  
Дата: 19.07.10 20:46
Оценка:
Здравствуйте, vmpire, Вы писали:

V>Интересно, у меня wsdl.exe генерил какую-то чушь. Как Вы это делали?


да вот как — то так:
wsdl http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl /language:cs /out:d:\\JiraSoapServiceService.cs
Re[3]: Jira Web Service in .NET
От: Mr.Cat  
Дата: 19.07.10 22:22
Оценка:
Здравствуйте, Smartcat, Вы писали:
S>wsdl http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl /language:cs /out:d:\\JiraSoapServiceService.cs
А пробовал подменять свойство Url у экземпляра JiraSoapServiceService после создания? Разве этого не достаточно?
Re[4]: Jira Web Service in .NET
От: Smartcat Беларусь  
Дата: 20.07.10 20:19
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>А пробовал подменять свойство Url у экземпляра JiraSoapServiceService после создания? Разве этого не достаточно?


Работает, но хочется найти альтернативное решение. Может оно будет более универсально. Экспериментирую, изучаю.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.