2012-01-09 27 views
5

Trato uso API jabón jira en C#:sesión en SOAP API jira

  1. crear nuevo proyecto en VS2010
  2. Agregar referencia de servicio Web (JiraTest): http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl
  3. escribir código siguiente:

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

Pero este código tiro exepition que no estoy autentificate todavía. Intento encontrar login método, pero tienen al lado de la firma:

public void login(); 

Donde hay parámetros LoginName y contraseña. Cuando uso este código de método de inicio de sesión arrojo excepción de que el inicio de sesión o la contraseña no son válidos. Y no sé dónde debo establecer mis credenciales.

¿Cómo puedo iniciar sesión con jira soap api antes de llamar al método necesario?

Agregado: ve https://developer.atlassian.com/display/JIRADEV/Creating+a+JIRA+SOAP+Client

+1

Cuando busque en la página Atlassian para "iniciar sesión", encontrará el uso. Algo como 'jiraClient.login (jiraLogin, jiraPassword)' debería funcionar. – mliebelt

+1

Sí, pero desafortunadamente solo hay un método de inicio de sesión y este método no tiene parámetros. – tbicr

+0

¿Podría agregar la información de la API (URL !!) a su pregunta? No sé, qué API utilizas ... – mliebelt

Respuesta

3

Puede probar este

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

Este derecho, pero estaba confundido, porque mi Visual Studio genera una clase incorrecta por wsdl (use el siguiente comando: wsdl/language: CS http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl) – tbicr

+0

I piense que tiene que habilitar el complemento RPC para crear jabón. http://confluence.atlassian.com/display/JIRA042/Creating+a+SOAP+Client# – Mennano

6

que tenía el mismo problema y encontré la respuesta. Debe agregarlo como referencia web. Traerá los parámetros pero tal como aparecen en WSDL, entonces login (string username, string password) se vuelve login (string in0, string in1) pero al menos es utilizable.

así escalones:

  • Haga clic en proyecto y haga clic en "Agregar referencia de servicio ..." (igual que antes)
  • Haga clic en "Opciones avanzadas ..." en la parte inferior izquierda del cuadro de diálogo
  • Haga clic en "Agregar referencia web ..." en la esquina inferior izquierda del cuadro de diálogo
  • Ingrese la URL de WSDL en el cuadro de la url, por ejemplo, "https://jira.atlassian.com/rpc/soap/jirasoapservice-v2? WSDL "
  • Haga clic en la flecha verde ir
  • Nombre su referencia en el nombre de referencia Web: cuadro
  • Haga clic en "Agregar referencia"
0

me encontré en la misma situación, pero no podía ir con una solución de la 'servicio Web Service' ya que necesitaba controlar la configuración de enlace (sendTimeout, maxReceivedMessageSize, etc.).

Puede resolver esto generando manualmente el proxy JIRA WCF a través de svcutil.exe. Por ejemplo:

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.