【问题标题】:Ruby confluence4r examplesRuby confluence4r 示例
【发布时间】:2010-11-05 23:00:41
【问题描述】:

我找不到 confluence4r gem 的下载位置,并且下载时它不起作用:

gem install confluence4r

我在这里下载了一个:http://confluence.atlassian.com/display/DISC/Confluence4r

我可以登录

server = Confluence::RPC.new("http://wiki/")
server.login("username","password")

但是一旦我做任何其他事情就会失败

server.getSpace("key")

但是等等..我做了第二次,它有效...

server.getSpace("key")

{"name"=>"key example", "homePage"=>"235325", "url"=>"http://wiki/display/key", "type"=>"global", "description"=>"description example", "key"=>"key"}

这是我在第一次尝试时收到的错误,然后在第二次尝试之前收到:

EOFError: end of file reached

来自 /usr/lib/ruby/1.8/net/protocol.rb:135:in sysread' from /usr/lib/ruby/1.8/net/protocol.rb:135:inrbuf_fill' 来自 /usr/lib/ruby/1.8/timeout.rb:62:in timeout' from /usr/lib/ruby/1.8/timeout.rb:93:intimeout' 来自 /usr/lib/ruby/1.8/net/protocol.rb:134:in rbuf_fill' from /usr/lib/ruby/1.8/net/protocol.rb:116:inreaduntil' 来自 /usr/lib/ruby/1.8/net/protocol.rb:126:in readline' from /usr/lib/ruby/1.8/net/http.rb:2024:inread_status_line' 来自 /usr/lib/ruby/1.8/net/http.rb:2013:in read_new' from /usr/lib/ruby/1.8/net/http.rb:1050:inrequest' 来自 /usr/lib/ruby/1.8/net/http.rb:992:in post2' from /usr/lib/ruby/1.8/xmlrpc/client.rb:538:indo_rpc' 来自 /usr/lib/ruby/1.8/xmlrpc/client.rb:420:in call2' from /usr/lib/ruby/1.8/xmlrpc/client.rb:410:incall' 来自 /usr/lib/ruby/1.8/xmlrpc/client.rb:617:in send' from /usr/lib/ruby/1.8/xmlrpc/client.rb:617:inmethod_missing' 来自 ./confluence4r.rb:35:in send' from ./confluence4r.rb:35:inmethod_missing'

任何想法为什么我收到错误?

编辑

好的,我正在使用这个 gem 的一部分,它工作正常:

gem install confluencer
@api = Confluence::Client.new(:url => "http://wiki")
@api.login("username","password")
user = @api.getUser("username")
pp user

{"name"=>"username",
 "url"=>"http://wiki/display/~username",
 "fullname"=>"Full Name",
 "email"=>"EmailAddress@example.com"}

现在的问题是我无法添加任何内容,但我可以获取,仅此而已。它只是挂起,我相信会继续一遍又一遍地重试。也许我的 wiki 坏了..

create_user = @api.createUser("username","password","First LastName","Email@example.com")
pp create_user

在 create_user 处挂起

【问题讨论】:

    标签: ruby api wiki xml-rpc confluence


    【解决方案1】:

    好的,现在只使用 XMLRPC 客户端,一切正常

    require 'xmlrpc/client'
    
    confluence = XMLRPC::Client.new2("http://wiki/rpc/xmlrpc").proxy("confluence1")
    token = confluence.login("username", "password")
    
    user = {
    "name" => user_name,
    "fullname" => full_name,
    "email" => email
    }
    
    confluence.addUser(token, user, user_name)
    

    我在 Confluence 2.8 到 3.4 中对此进行了测试 - 哇,这太容易了!

    【讨论】:

      【解决方案2】:

      仅供参考,使用 confluence4r.rb 代码在 Confluence v4 中失败。简单的解决方法是改变... @conf = server.proxy("confluence1") 至 @conf = server.proxy("confluence2")

      错误信息是: confluence.rb:38:in rescue in method_missing': java.lang.Exception: com.atlassian.confluence.rpc.RemoteException: Unsupported operation: Wiki formatted content can no longer be retrieved from this API. Please use the version 2 API. The version 2 WSDL is available at: https://wiki.globalrelay. net/rpc/soap-axis/confluenceservice-v2?wsdl. XML-RPC requests should prefixed with "confluence2.". (RuntimeError) from confluence.rb:31:inmethod_missing'

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-04
        • 1970-01-01
        • 1970-01-01
        • 2015-05-28
        • 2011-07-06
        • 2013-06-14
        相关资源
        最近更新 更多