登录jira soap api
我尝试在c#上使用jira soap api:
- 在VS2010中创建新项目
- 添加Web服务引用(JiraTest):
http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl
://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl -
写下一个代码:
static void Main(string[] args) { var jiraLogin = "soaptester"; var jiraPassword = "soaptester"; var jiraClient = new JiraTest.JiraSoapServiceClient(); var projects = jiraClient.getProjects(); }
但是这段代码引发了我还没有认识到的错误。 我尝试查找login
方法,但它有下一个签名:
public void login();
哪里没有登录名和密码参数。 当我使用这个登录方法代码抛出exeption时,登录名或密码无效。 我不知道我必须在哪里设置我的凭据。
如何在调用所需方法之前使用jira soap api登录?
补充:请参阅https://developer.atlassian.com/display/JIRADEV/Creating+a+JIRA+SOAP+Client
你可以试试这个
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); }
我遇到了同样的问题并找到了答案。 您需要将其添加为Web引用。 它会引入参数,但是当它们出现在WSDL中时,登录(字符串用户名,字符串密码)变为登录(字符串in0,字符串in1),但至少它是可用的。
所以步骤:
- 右键单击Project并单击“添加服务引用…”(就像之前一样)
- 单击对话框左下角的“高级…”
- 单击对话框左下角的“添加Web引用…”
- 在Url Box中输入WSDL Url,例如“https://jira.atlassian.com/rpc/soap/jirasoapservice-v2?WSDL”
- 单击绿色箭头
- 在Web引用名称中为您的引用命名:框
- 点击“添加参考”
我发现自己处于相同的情况但是无法使用“Web服务服务”解决方案,因为我需要控制绑定配置(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.