2012-01-09 43 views
5

tôi cố gắng sử dụng xà phòng jira api trên C#:Đăng nhập vào xà phòng jira api

  1. tạo dự án mới trong VS2010
  2. add tham khảo dịch vụ web (JiraTest): http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl
  3. viết mã tiếp theo:

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

Nhưng mã này ném exepition rằng tôi không autentificate được nêu ra. tôi cố gắng tìm login phương pháp, nhưng nó có chữ ký tiếp theo:

public void login(); 

Đâu là không có thông số loginname và mật khẩu. Khi tôi sử dụng mã phương thức đăng nhập này, hãy ném ngoại lệ rằng thông tin đăng nhập hoặc mật khẩu không hợp lệ. Và tôi không biết tôi phải đặt thông tin của mình ở đâu.

Làm cách nào tôi có thể đăng nhập bằng jira soap api trước khi gọi phương thức cần thiết?

Added: xem https://developer.atlassian.com/display/JIRADEV/Creating+a+JIRA+SOAP+Client

+1

Khi bạn tìm kiếm trên trang Atlassian cho "đăng nhập", bạn sẽ tìm thấy cách sử dụng. Một cái gì đó như 'jiraClient.login (jiraLogin, jiraPassword)' sẽ hoạt động. – mliebelt

+1

Có, nhưng tiếc là chỉ có một phương thức đăng nhập và phương thức này không có tham số. – tbicr

+0

Bạn có thể thêm thông tin của API (URL !!) vào câu hỏi của mình không? Tôi không biết, bạn sử dụng API nào ... – mliebelt

Trả lời

3

Bạn có thể thử này

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

Quyền này, nhưng tôi đã nhầm lẫn, bởi vì Visual Studio của tôi tạo ra lớp sai bởi wsdl (sử dụng lệnh tiếp theo: wsdl/language: CS http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl) – tbicr

+0

I nghĩ rằng u phải bật RPC Plugin để tạo xà phòng. http://confluence.atlassian.com/display/JIRA042/Creating+a+SOAP+Client# – Mennano

6

tôi đã cùng một vấn đề và tìm thấy câu trả lời. Bạn cần phải thêm nó như là một tài liệu tham khảo Web. Nó sẽ mang lại các tham số nhưng khi chúng xuất hiện trong WSDL để đăng nhập (tên người dùng chuỗi, mật khẩu chuỗi) trở thành đăng nhập (chuỗi in0, string in1) nhưng ít nhất nó có thể sử dụng được.

Vì vậy, bước sau:

  • Kích chuột phải vào dự án và bấm vào nút "Thêm Tài liệu tham khảo dịch vụ ..." (giống như trước đây)
  • Bấm "Advanced ..." ở góc trái phía dưới của hộp thoại
  • Nhấp vào "Thêm tham chiếu web ..." ở góc dưới cùng bên trái của hộp thoại
  • Nhập Url WSDL vào hộp Url ví dụ: "https://jira.atlassian.com/rpc/soap/jirasoapservice-v2? WSDL "
  • Nhấp vào mũi tên đi màu xanh lá cây
  • Tên bạn tham khảo trong tên tài liệu tham khảo Web: hộp
  • Bấm "Add Reference"
0

tôi tìm thấy bản thân mình trong tình cảnh tương tự nhưng không thể đi với giải pháp của Dịch vụ Web Service 'như tôi cần phải kiểm soát cấu hình ràng buộc (sendTimeout, maxReceivedMessageSize v.v.).

Bạn có thể giải quyết vấn đề này bằng cách tạo thủ công proxy JFA WCF qua svcutil.exe. Ví dụ:

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. 
Các vấn đề liên quan