【问题标题】:issues running jiraSOAP from ruby从 ruby​​ 运行 jiraSOAP 的问题
【发布时间】:2011-10-26 18:12:28
【问题描述】:

我正在尝试使用 jiraSOAP gem 从 ruby​​ 访问 jira。 我正在运行 ruby​​ 1.9.2

但是当我传递我的登录凭据时,我收到以下错误:

RuntimeError: The response is not a valid SOAP envelope
from /Users/rahulbaxi/.rvm/gems/ruby1.9.2p180/gems/handsoap1.1.8/lib/handsoap-/service.rb:388:in on_missing_document'

from /Users/rahulbaxi/.rvm/gems/ruby-1.9.2-p180/gems/handsoap-1.1.8/lib/handsoap/service.rb:442:in `parse_http_response'`
from /Users/rahulbaxi/.rvm/gems/ruby-1.9.2-p180/gems/handsoap-1.1.8/lib/handsoap/service.rb:250:in `invoke'
from /Users/rahulbaxi/.rvm/gems/ruby-1.9.2-p180/gems/jiraSOAP-0.10.3/lib/jiraSOAP/api.rb:55:in `build'
from /Users/rahulbaxi/.rvm/gems/ruby-1.9.2-p180/gems/jiraSOAP-0.10.3/lib/jiraSOAP/api.rb:69:in `soap_call'
from /Users/rahulbaxi/.rvm/gems/ruby-1.9.2-p180/gems/jiraSOAP-0.10.3/lib/jiraSOAP/api.rb:18:in `login'
from (irb):3
from /Users/rahulbaxi/.rvm/rubies/ruby-1.9.2-p180/bin/irb:16:in `<main>'`

请帮我解决这个问题!

【问题讨论】:

  • 您能否提供任何代码或发送到 JIRA 的 XML 示例?
  • 我一尝试使用我的登录凭据连接就得到了这个:这些是我遵循的步骤:在 irb 中运行一些代码:require 'jirasoap'jira = Jira::JiraService.new "&lt;location to my jira repo&gt;"jira.login = &lt;login credentials&gt;点击回车,我收到上述错误。

标签: soap jira ruby-1.9.2


【解决方案1】:

也许这些样本之一会有所帮助。

http://jira4r.rubyhaus.org/2+minute+walkthrough http://blogs.reucon.com/srt/2007/11/05/accessing_jira_from_ruby.html

#!/usr/bin/env ruby
require 'jira4r/jira4r'

jira = Jira::JiraTool.new(2, "http://jira.atlassian.com")
jira.login("soaptester", "soaptester")

puts jira.getProject("DEMO").inspect

【讨论】:

  • 你有关于这个 JIRA SOAP gem 的文档吗?
  • 是的,可以在这里找到:rubydoc.info/gems/jiraSOAP/0.10.3/frames 我按照这里的“入门”指南进行操作,但对我没有多大帮助..
  • 感谢您帮助杰森!我已经放弃了使用 jiraSOAP 的想法。
  • 您是指特定的 jiraSOAP gem 还是一般的 JIRA SOAP API?我希望后面不是这样,因为它确实是一个强大而有效的远程 JIRA 访问工具。此外,手动使用 SOAP API(或 REST API)可能不是不可能的。当我需要对 ColdFusion 项目进行远程 JIRA 访问时,没有可用的库,所以我只是自己构建了 API,只实现了我需要的功能。
  • 不!我的意思是jiraSOAP,宝石。我现在正在使用 jira4r。但是,与 jiraSOAP 相比,它对 jira 的肥皂库的曝光较少,但我找到了一种解决方法。我现在也觉得有必要自己构建一个 API!感谢您的帮助!
【解决方案2】:

您是否确保 JIRA 实例开启了 RPC 功能?

真的查看来自 JIRA 服务器的 HTTP 响应并了解它是什么版本的 JIRA 会很有帮助

【讨论】:

  • 是的,它已打开。 (我可以从 jira4r 和 ruby​​ 1.8.7 查询 jira)并且我使用的 jira 版本是 4.2.2 我想如果我必须看到 HTTP 响应,我将不得不进行自己的 web 服务调用,对吧?
  • 您可以在您的 Ruby 应用程序和服务之间放置一个代理。这通常很容易。一些好的代理是 Charles 和 WebScarab。
【解决方案3】:

最终使用 jira4r-jh 与 ruby​​ 1.9 配合得很好

【讨论】:

    猜你喜欢
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 2012-12-06
    • 2017-08-06
    • 2013-08-17
    • 2015-12-07
    相关资源
    最近更新 更多