代码之家  ›  专栏  ›  技术社区  ›  nictrix

Ruby confluence4r示例

  •  0
  • nictrix  · 技术社区  · 16 年前

    我找不到哪里可以下载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:in rbuf_填充' 来自/usr/lib/ruby/1.8/timeout.rb:62:in timeout' from /usr/lib/ruby/1.8/timeout.rb:93:in 来自/usr/lib/ruby/1.8/net/protocol.rb:134:in rbuf_fill' from /usr/lib/ruby/1.8/net/protocol.rb:116:in 来自/usr/lib/ruby/1.8/net/protocol.rb:126:in readline' from /usr/lib/ruby/1.8/net/http.rb:2024:in 读取状态行' 来自/usr/lib/ruby/1.8/net/http.rb:2013:in read_new' from /usr/lib/ruby/1.8/net/http.rb:1050:in 请求' post2' from /usr/lib/ruby/1.8/xmlrpc/client.rb:538:in 做rpc' 来自/usr/lib/ruby/1.8/xmlrpc/client.rb:420:in call2' from /usr/lib/ruby/1.8/xmlrpc/client.rb:410:in 呼叫' 来自/usr/lib/ruby/1.8/xmlrpc/client.rb:617:in send' from /usr/lib/ruby/1.8/xmlrpc/client.rb:617:in 方法丢失' send' from ./confluence4r.rb:35:in 方法丢失'

    你知道我为什么会犯错吗?

    编辑

    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"}
    

    现在的问题是我不能添加任何东西,但我可以做得到,就是这样。它只是挂起,我相信继续做一次又一次的重试。也许我的维基坏了。。

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

    2 回复  |  直到 16 年前
        1
  •  1
  •   nictrix    16 年前

    好的,现在只使用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
  •  0
  •   Jeremy Woodland    12 年前

    @conf=server.proxy(“冲突1”) 到

    错误消息是: 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:in 方法丢失'