2012-01-09 60 views
5

我嘗試在C#中使用JIRA SOAP API:登錄到JIRA SOAP API

  1. 在VS2010中創建新的項目
  2. 添加Web服務引用(JiraTest):http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl
  3. 寫下面的代碼:

    static void Main(string[] args) 
    { 
        var jiraLogin = "soaptester"; 
        var jiraPassword = "soaptester"; 
        var jiraClient = new JiraTest.JiraSoapServiceClient(); 
        var projects = jiraClient.getProjects(); 
    } 
    

但是,這段代碼引發了我還沒有認可的exepition。 我試圖找到login方法,但它旁邊簽名:

public void login(); 

如果沒有登錄名和密碼參數。 當我使用這種登錄方法代碼拋出exeption,即登錄或密碼無效。而且我不知道我必須在哪裏設置憑據。

如何在致電需要的方法之前使用jira soap api登錄?

補充:看https://developer.atlassian.com/display/JIRADEV/Creating+a+JIRA+SOAP+Client

+1

當您在Atlassian頁面上搜索「login」時,您會發現它的用法。像'jiraClient.login(jiraLogin,jiraPassword)'應該可以工作。 – mliebelt 2012-01-09 10:56:07

+1

是的,但不幸的是,只有一種登錄方法,這種方法沒有參數。 – tbicr 2012-01-09 11:06:30

+0

您能否將API(URL !!)的信息添加到您的問題中?我不知道,你使用哪個API ... – mliebelt 2012-01-09 11:13:53

回答

3

你可以試試這個

JiraSoapServiceService jiraSoapService = new JiraSoapServiceService(); 

    public string Login(string user, string pwd) 
    { 
     string result = string.Empty; 

     result = jiraSoapService.login(user, pwd); 

     return result; 

    } 


    public void Logout(string token) 
    { 
     jiraSoapService.logout(token); 
    } 
+1

這個權利,但我很困惑,因爲我的Visual Studio通過wsdl生成錯誤的類(使用下一個命令:wsdl/language:CS http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl) – tbicr 2012-01-09 11:36:52

+0

I認爲你必須啓用RPC插件來創建肥皂。 http://confluence.atlassian.com/display/JIRA042/Creating+a+SOAP+Client# – Mennano 2012-01-09 12:08:03

6

我有同樣的問題,找到了答案。您需要將其添加爲Web引用。它將帶入參數,但是它們出現在WSDL中,因此登錄(字符串用戶名,字符串密碼)變爲登錄名(字符串in0,字符串in1),但至少可用。

因此步驟:

  • 右鍵單擊項目,然後單擊「添加服務引用...」(就像之前)
  • 點擊「高級...」,在對話框
  • 左下方
  • 單擊對話框左下角的「添加Web引用...」
  • 在Url框中輸入WSDL Url,例如「https://jira.atlassian.com/rpc/soap/jirasoapservice-v2? WSDL「
  • 單擊綠色箭頭
  • 名稱您在Web引用名稱引用:框
  • 點擊「添加引用」
0

,我發現自己在同樣的情況,但不能用「的Web Service服務的解決方案去,因爲我需要控制綁定配置(sendTimeout,maxReceivedMessageSize等)。

你可以通過svcutil.exe手動生成JIRA WCF代理來解決這個問題。例如:

1. Run svcutil.exe http://myhostname/rpc/soap/jirasoapservice-v2?wsdl /n:*,mynamespace 
2. Copy output source file to your project 
3. Copy configuration (output.config) to your app.config.